/* GALFORCE Recruitment — shared stylesheet
   Brand: graphite / Galforce green / silver, Barlow Condensed display */

:root{
  --graphite:#1a1d1c;
  --graphite-2:#24282a;
  --green:#016029;
  --green-dark:#005114;
  --silver:#c0c4c8;
  --paper:#f5f6f4;
  --white:#ffffff;
  --ink:#1a1d1c;
  --muted:#5b625f;
  --line:#d9dcd8;
  --radius:2px;
  --max:1120px;
}

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Barlow:wght@400;500;600&display=swap');

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Barlow',system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Barlow Condensed',system-ui,sans-serif;
  font-weight:700;
  line-height:1.05;
  margin:0 0 0.5em;
  letter-spacing:-0.2px;
  color:var(--ink);
}
h1{font-size:clamp(2.6rem,5.4vw,3.9rem);letter-spacing:0.4px;text-transform:uppercase;}
h1 .accent{color:var(--green);}
h2{font-size:clamp(2rem,3.6vw,2.7rem);letter-spacing:-0.5px;margin-bottom:0.6em;}
h2::before{content:'';display:block;width:52px;height:4px;background:var(--green);margin-bottom:16px;}
h3{font-size:1.55rem;letter-spacing:-0.3px;margin-bottom:0.35em;}
h4{font-size:1.15rem;letter-spacing:0;}
p{margin:0 0 1em;color:var(--muted);max-width:70ch;font-size:1.02rem;}
a{color:var(--green);text-decoration:none;}
a:hover{text-decoration:underline;}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;}

img{max-width:100%;display:block;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}

/* Header */
.site-header{
  background:var(--graphite);
  border-bottom:3px solid var(--green);
  position:sticky;top:0;z-index:50;
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:14px 24px;max-width:1360px;margin:0 auto;
}
.logo{color:var(--white);font-family:'Barlow Condensed';font-weight:700;font-size:1.5rem;letter-spacing:0.5px;flex-shrink:0;}
.logo span{color:var(--silver);}
nav.main-nav{display:flex;align-items:center;gap:15px;flex-wrap:nowrap;}
nav.main-nav a{color:var(--silver);font-weight:600;font-size:0.92rem;white-space:nowrap;}
nav.main-nav a:hover{color:var(--white);text-decoration:none;}
.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.phone-link{color:var(--white);font-weight:600;white-space:nowrap;}
.btn{
  display:inline-block;background:var(--green);color:var(--white);
  padding:10px 18px;border-radius:var(--radius);font-weight:600;
  font-size:0.95rem;border:1px solid var(--green);white-space:nowrap;
}
.btn:hover{background:var(--green-dark);text-decoration:none;}
.btn-outline{background:transparent;border:1px solid var(--silver);color:var(--white);}
.btn-outline:hover{background:var(--white);color:var(--graphite);}
.mobile-toggle{display:none;background:none;border:0;color:var(--white);font-size:1.7rem;line-height:1;cursor:pointer;padding:4px 8px;flex-shrink:0;}

@media (max-width:1300px){
  .header-inner{position:relative;flex-wrap:nowrap;}
  nav.main-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--graphite);flex-direction:column;align-items:stretch;gap:0;
    padding:8px 24px 16px;border-top:1px solid #333;flex-wrap:wrap;
    max-height:calc(100vh - 68px);overflow-y:auto;
  }
  nav.main-nav a{padding:10px 0;border-bottom:1px solid #2c302e;white-space:normal;}
  nav.main-nav.open{display:flex;}
  .header-actions .phone-link{display:none;}
  .mobile-toggle{display:block;}
}

@media (max-width:400px){
  .header-actions{gap:10px;}
  .btn{padding:9px 14px;font-size:0.88rem;}
}

/* Hero */
.hero{
  background:var(--graphite);color:var(--white);
  padding:64px 0 72px;position:relative;
}
.eyebrow{
  color:var(--silver);font-weight:600;font-size:0.85rem;
  letter-spacing:0.4px;margin-bottom:14px;
}
.hero h1{color:var(--white);}
.hero p.tagline{
  font-family:'Barlow Condensed';font-weight:700;font-size:1.3rem;
  color:var(--silver);margin:2px 0 14px;letter-spacing:0.3px;
}
.hero p.lede{color:#cfd3d0;font-size:1.15rem;max-width:60ch;}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;}

.voice-cta{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:16px 24px;margin-top:24px;padding:20px 24px;border-radius:var(--radius);
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.18);
}
.voice-cta p{margin:0;color:var(--white);font-weight:600;}
.voice-cta p span{display:block;font-weight:400;color:#cfd3d0;font-size:0.9rem;margin-top:2px;}
.voice-cta .btn{white-space:nowrap;flex-shrink:0;}
section:not(.hero) .voice-cta{
  background:var(--graphite);border-color:var(--graphite);
}

.breadcrumb{color:var(--silver);font-size:0.9rem;margin-bottom:14px;}
.breadcrumb a{color:var(--silver);}
.breadcrumb a:hover{color:var(--white);}

/* Sections */
section{padding:56px 0;}
section.alt{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-label{color:var(--green);font-weight:600;font-size:0.85rem;letter-spacing:0.4px;margin-bottom:8px;}

.grid{display:grid;gap:24px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:880px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
}

.card{
  background:var(--white);border:1px solid var(--line);
  border-left:3px solid var(--green);padding:24px;border-radius:var(--radius);
}
.card h3{margin-bottom:10px;}
.card p{margin-bottom:0;}

.role-link-card{
  display:block;background:var(--white);border:1px solid var(--line);
  padding:20px;border-radius:var(--radius);color:var(--ink);
}
.role-link-card:hover{border-color:var(--green);text-decoration:none;}
.role-link-card h3{margin-bottom:6px;color:var(--green-dark);}
.role-link-card p{margin-bottom:0;font-size:0.95rem;}

.stat-row{display:flex;gap:40px;flex-wrap:wrap;margin-top:16px;}
.stat{font-family:'Barlow Condensed';}
.stat .num{font-size:2.4rem;color:var(--green);font-weight:700;display:block;}
.stat .label{color:var(--muted);font-size:0.9rem;}

.faq details{
  border-bottom:1px solid var(--line);padding:16px 0;
}
.faq summary{
  font-family:'Barlow Condensed';font-weight:700;font-size:1.1rem;
  cursor:pointer;list-style:none;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';float:right;color:var(--green);}
.faq details[open] summary::after{content:'–';}
.faq p{margin-top:10px;}

.cta-band{
  background:var(--green);color:var(--white);text-align:left;
}
.cta-band h2{color:var(--white);}
.cta-band h2::before{background:var(--white);}
.cta-band p{color:#d7ead9;}
.cta-band .btn{background:var(--white);color:var(--green-dark);border-color:var(--white);}
.cta-band .btn:hover{background:var(--graphite);color:var(--white);}
.cta-band .btn.btn-outline{background:transparent;color:var(--white);border-color:var(--white);}
.cta-band .btn.btn-outline:hover{background:var(--white);color:var(--green-dark);}
.cta-band a:not(.btn){color:var(--white);text-decoration:underline;}
.cta-band a:not(.btn):hover{color:#d7ead9;}

/* Footer */
footer.site-footer{background:var(--graphite);color:#b7bcb8;padding:48px 0 20px;}
footer.site-footer h4{color:var(--white);font-size:1rem;margin-bottom:12px;}
footer.site-footer a{color:#b7bcb8;}
footer.site-footer a:hover{color:var(--white);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;}
@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:0.92rem;}
.footer-bottom{
  border-top:1px solid #383c3a;margin-top:36px;padding-top:20px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:0.85rem;
}
.footer-bottom a{color:#b7bcb8;}

.social-row{display:flex;gap:12px;margin-top:16px;}
.social-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,0.08);color:var(--silver);
}
.social-icon:hover{background:var(--green);color:var(--white);text-decoration:none;}
.pill{
  display:inline-block;background:rgba(255,255,255,0.08);
  color:var(--silver);padding:5px 12px;border-radius:20px;
  font-size:0.8rem;font-weight:600;margin-right:8px;
}
.form-embed{
  background:var(--white);border:1px dashed var(--line);
  padding:32px;text-align:center;color:var(--muted);border-radius:var(--radius);
}

.cookie-banner{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;
  background:var(--graphite);color:#cfd3d0;
  padding:16px 24px;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;border-top:2px solid var(--green);
}
.cookie-banner p{margin:0;color:#cfd3d0;font-size:0.9rem;max-width:60ch;}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-actions .btn{padding:8px 18px;font-size:0.9rem;}
