/* ============================================================
   PURPOSE-FUELED LEADER — Shared Stylesheet
   Colors: #1B3A2D forest | #254D38 mid | #5AA97A accent
           #ffffff white | #111111 black | #F4F6F4 off-white
           #E6EBE7 light gray
   Fonts: Barlow Condensed (headings) + Barlow (body)
   ============================================================ */

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

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;color:#111;background:#fff;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}

/* SKIP LINK */
.skip-link{position:absolute;top:-100px;left:16px;background:#1B3A2D;color:#fff;padding:10px 18px;font-size:13px;font-weight:600;z-index:10000;transition:top .2s;border:2px solid #5AA97A;}
.skip-link:focus{top:8px;}

/* BUTTONS */
.btn-outline{font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#1B3A2D;background:transparent;border:1.5px solid #1B3A2D;padding:9px 20px;cursor:pointer;transition:all .15s;}
.btn-outline:hover,.btn-outline:focus{background:#1B3A2D;color:#fff;}
.btn-forest{font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:#1B3A2D;border:none;padding:10px 22px;cursor:pointer;transition:background .15s;}
.btn-forest:hover,.btn-forest:focus{background:#254D38;}
.btn-green{font-family:'Barlow',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#5AA97A;border:none;padding:14px 30px;cursor:pointer;transition:background .15s;}
.btn-green:hover,.btn-green:focus{background:#4d9469;}
.btn-ghost-wh{font-family:'Barlow',sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);background:transparent;border:1.5px solid rgba(255,255,255,.3);padding:13px 30px;cursor:pointer;transition:all .15s;}
.btn-ghost-wh:hover,.btn-ghost-wh:focus{border-color:#fff;color:#fff;}
button:focus-visible,a:focus-visible{outline:2px solid #5AA97A;outline-offset:2px;}

/* NAV */
#site-nav{position:sticky;top:0;background:#fff;border-bottom:1px solid #dde3dd;height:68px;display:flex;align-items:center;z-index:900;transition:box-shadow .3s;}
#site-nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.08);}
.nav-w{max-width:1240px;margin:0 auto;width:100%;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nav-logo{text-decoration:none;}
.logo-name{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#1B3A2D;line-height:1.1;}
.logo-tag{font-family:'Barlow',sans-serif;font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#6b8a74;}
.nav-links{display:flex;gap:28px;align-items:center;}
.nav-a{font-family:'Barlow',sans-serif;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#3d5447;border:none;background:none;padding:4px 0;cursor:pointer;transition:color .15s;text-decoration:none;border-bottom:2px solid transparent;}
.nav-a:hover,.nav-a:focus,.nav-a.active{color:#1B3A2D;border-bottom-color:#5AA97A;outline:none;}
.nav-ctas{display:flex;gap:10px;align-items:center;}

/* Hamburger Menu */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px;}
.nav-toggle span{display:block;width:25px;height:2px;background:#1B3A2D;transition:all 0.3s;}

@media (max-width: 992px) {
  .nav-w{padding:0 20px;}
  .nav-links{gap:16px;}
}
@media (max-width: 768px) {
  #site-nav{height:60px;}
  .nav-toggle{display:flex;}
  .nav-links{display:none;position:absolute;top:60px;left:0;width:100%;background:#fff;flex-direction:column;padding:20px;border-bottom:1px solid #dde3dd;gap:15px;align-items:flex-start;}
  .nav-links.active{display:flex;}
  .nav-ctas{display:none;}
}

/* SECTION SHARED */
.sec{padding:88px 40px;}
.sec-w{max-width:1240px;margin:0 auto;}
.kicker{font-family:'Barlow',sans-serif;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#5AA97A;display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.kicker::before{content:'';width:22px;height:2px;background:#5AA97A;display:inline-block;}
.sec-h{font-family:'Barlow Condensed',sans-serif;font-size:clamp(36px,4.5vw,56px);font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#1B3A2D;line-height:.93;}
.sec-h.wh{color:#fff;}
.sec-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;}

@media (max-width: 768px) {
  .sec{padding:60px 20px;}
  .sec-hdr{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:32px;}
}

/* CTA BAND */
.cta-band{background:#111;padding:80px 40px;text-align:center;position:relative;overflow:hidden;}
.cta-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 1px,transparent 80px);}
.cta-h{font-family:'Barlow Condensed',sans-serif;font-size:clamp(40px,5.5vw,68px);font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#fff;line-height:.92;position:relative;margin-bottom:12px;}
.cta-h span{color:#5AA97A;}
.cta-p{font-family:'Barlow',sans-serif;font-size:14px;font-weight:300;color:rgba(255,255,255,.42);position:relative;margin-bottom:30px;}

@media (max-width: 768px) {
  .cta-band{padding:60px 20px;}
}

/* FOOTER */
#site-footer{background:#1B3A2D;padding:60px 40px 0;}
.ft-w{max-width:1240px;margin:0 auto;}
.ft-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;}
.ft-col-head{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#5AA97A;margin-bottom:16px;}
.ft-link{display:block;font-family:'Barlow',sans-serif;font-size:13px;font-weight:300;color:rgba(255,255,255,.45);margin-bottom:9px;text-decoration:none;transition:color .15s;}
.ft-link:hover,.ft-link:focus{color:#fff;}
.ft-logo-name{font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fff;}
.ft-logo-tag{font-family:'Barlow',sans-serif;font-size:8px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:12px;}
.ft-brand-p{font-family:'Barlow',sans-serif;font-size:12px;font-weight:300;color:rgba(255,255,255,.3);line-height:1.7;}
.ft-div{height:1px;background:rgba(255,255,255,.07);margin:0 0 24px;}
.ft-bot{display:flex;justify-content:space-between;align-items:center;padding-bottom:32px;}
.ft-copy{font-family:'Barlow',sans-serif;font-size:11px;color:rgba(255,255,255,.22);letter-spacing:.04em;}
.ft-bot-links{display:flex;gap:20px;}
.ft-bot-link{font-family:'Barlow',sans-serif;font-size:11px;color:rgba(255,255,255,.22);text-decoration:none;transition:color .15s;}
.ft-bot-link:hover{color:rgba(255,255,255,.6);}

@media (max-width: 992px) {
  .ft-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 768px) {
  #site-footer{padding:40px 20px 0;}
  .ft-grid{grid-template-columns:1fr;gap:30px;}
  .ft-bot{flex-direction:column;gap:16px;align-items:flex-start;}
}

/* GDPR BANNER */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#111;border-top:2px solid #5AA97A;padding:16px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;transform:translateY(100%);transition:transform .4s ease;}
#cookie-banner.visible{transform:translateY(0);}
.cookie-text{font-family:'Barlow',sans-serif;font-size:13px;font-weight:300;color:rgba(255,255,255,.65);line-height:1.6;max-width:640px;}
.cookie-text a{color:#5AA97A;text-decoration:underline;}
.cookie-btns{display:flex;gap:10px;flex-shrink:0;}
.btn-cookie-accept{font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;background:#5AA97A;color:#fff;border:none;padding:10px 22px;cursor:pointer;transition:background .15s;}
.btn-cookie-accept:hover{background:#4d9469;}
.btn-cookie-decline{font-family:'Barlow',sans-serif;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;background:transparent;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.2);padding:10px 22px;cursor:pointer;transition:all .15s;}
.btn-cookie-decline:hover{border-color:rgba(255,255,255,.5);color:#fff;}

/* ACCESSIBILITY */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
