@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');
:root{
  --green:#1B3D2E;--green-2:#245139;--green-3:#2f6349;
  --ink:#222629;--slate:#6B7280;--line:#bcc4cc;--bg:#d5dbe0;--soft:#cbd2d8;
  --shadow:0 1px 2px rgba(20,30,25,.06),0 16px 36px rgba(20,30,25,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:15px}
body{margin:0;font-family:'Montserrat',system-ui,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
a{color:var(--green);text-decoration:none}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* header */
.site-header{position:sticky;top:0;z-index:30;background:rgba(213,219,224,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:62px;gap:18px}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:1.16rem;line-height:1}
.logo-mark{width:46px;height:46px;color:var(--green);flex:0 0 auto}
.logo-text{display:block;padding-left:13px;border-left:2px solid rgba(27,61,46,.28)}
.logo .z{color:var(--green)} .logo .s{color:var(--ink)}
.logo small{display:block;font-size:.5rem;letter-spacing:.34em;color:var(--slate);font-weight:600;margin-top:2px}
.mainnav{display:flex;gap:24px;align-items:center}
.mainnav a{color:var(--ink);font-weight:600;font-size:.88rem}
.mainnav a:hover{color:var(--green)}
.btn{display:inline-block;background:var(--green);color:#fff;font-weight:700;font-size:.88rem;padding:10px 18px;border-radius:10px;transition:background .15s,transform .15s;border:none;cursor:pointer}
.btn:hover{background:var(--green-2);transform:translateY(-1px)}
.btn.lg{padding:13px 24px;font-size:.95rem}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
/* the CTA now sits beside the nav rather than inside it, so the nav can
   collapse into a panel on mobile while the button stays in the bar */
.site-header .wrap{justify-content:flex-start}
.mainnav{margin-left:auto}
.site-header .btn,.site-header .btn:hover{color:#fff}

/* hamburger — desktop hides it */
.navtoggle{display:none;background:none;border:none;cursor:pointer;padding:10px;border-radius:9px;color:var(--ink);line-height:0}
.navtoggle:hover{color:var(--green)}
.navtoggle span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .18s,opacity .18s}
.navtoggle span+span{margin-top:5px}
.navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:640px){
  .site-header .wrap{gap:10px}
  .navtoggle{display:block}
  .logo{font-size:1rem;gap:9px}
  .logo-mark{width:38px;height:38px}
  .logo-text{padding-left:10px}
  .logo small{font-size:.46rem;letter-spacing:.28em}

  /* compact CTA stays in the bar — this is the look we settled on */
  .site-header .btn{white-space:nowrap;font-size:.8rem;padding:0 15px;border-radius:9px;
    display:inline-flex;align-items:center;min-height:42px;margin-left:auto}

  /* nav drops down as a panel beneath the header */
  .mainnav{display:none;position:absolute;top:100%;left:0;right:0;margin-left:0;z-index:40;
    flex-direction:column;align-items:stretch;gap:0;padding:0 0 8px;
    background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .mainnav.open{display:flex}
  /* .open prefix keeps these above the base dropdown rules further down the file */
  .mainnav.open a:not(.btn),.mainnav.open .drop-toggle{display:block;padding:14px 24px;
    font-size:.95rem;border-top:1px solid var(--line)}
  .mainnav.open .dropdown{position:static}
  .mainnav.open .dropdown .menu{position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:none;background:transparent;padding:4px 24px 8px;min-width:0}
}
@media(max-width:380px){
  .site-header .btn{font-size:.76rem;padding:0 12px}
  .logo{font-size:.92rem}
  .logo-mark{width:34px;height:34px}
}
.mainnav .dropdown{position:relative}
.mainnav .drop-toggle{cursor:pointer;outline:none;color:var(--ink);font-weight:600;font-size:.88rem}
.mainnav .drop-toggle:hover{color:var(--green)}
.mainnav .drop-toggle .caret{font-size:.7em;margin-left:2px}
.mainnav .dropdown .menu{position:absolute;top:calc(100% + 10px);left:0;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s}
.mainnav .dropdown:hover .menu,.mainnav .dropdown:focus-within .menu{opacity:1;visibility:visible;transform:translateY(0)}
.mainnav .menu .soon{display:block;padding:9px 11px;color:var(--ink);font-weight:700;font-size:.88rem;border-radius:8px;background:var(--soft)}
.mainnav .menu .soon small{display:block;color:var(--slate);font-weight:500;font-size:.74rem;margin-top:2px}

/* hero */
.hero{background:radial-gradient(1200px 520px at 72% -12%,#2f6349 0%,#1B3D2E 46%,#14301f 100%);color:#eaf3ee;padding:58px 0 64px}
.hero .tag{color:#9fdcbb;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;margin-bottom:13px}
.hero h1{font-size:clamp(1.55rem,2.8vw,2.2rem);font-weight:900;line-height:1.14;letter-spacing:.01em;margin:0 0 13px}
.hero p{font-size:.95rem;color:#cfe6d8;max-width:590px;margin:0 0 22px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}

/* sections */
section{padding:48px 0}
.eyebrow{color:var(--green);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.71rem}
h2.sec{font-size:clamp(1.15rem,1.9vw,1.5rem);font-weight:800;margin:5px 0 8px;letter-spacing:.01em}
.lead{color:var(--slate);font-size:.94rem;max-width:590px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:28px}
.card{background:#ffffff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.card h3{margin:0 0 6px;font-size:1rem}
.card p{margin:0;color:var(--slate);font-size:.88rem}
.card .ic{width:42px;height:42px;border-radius:11px;background:rgba(27,61,46,.1);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:12px}
.card .stepno{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;margin-bottom:12px}
.soft{background:var(--soft)}

/* contact band */
.band{background:linear-gradient(135deg,#1B3D2E,#245139);color:#eaf3ee;border-radius:20px;padding:42px 34px;text-align:center;box-shadow:var(--shadow)}
.band h2{color:#fff;font-size:1.5rem;margin:0 0 8px}
.band p{color:#cfe6d8;margin:0 0 20px}

/* footer */
.site-footer{background:#14211b;color:#b9c9c0;padding:34px 0}
.site-footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.83rem}
.site-footer a{color:#cfe6d8}
.site-footer a:hover{color:#fff}
.site-footer .links{display:flex;gap:20px}

/* legal pages */
.legal{max-width:760px;margin:0 auto;padding:48px 24px 60px}
.legal h1{font-size:1.7rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px}
.legal h2{font-size:1.05rem;margin-top:26px;color:var(--green)}
.legal p,.legal li{color:#3a4048;font-size:.92rem}
.legal .muted{color:var(--slate);font-size:.82rem}

/* footer legal notice (conspicuous-notice requirement) */
.site-footer .footer-notice{width:100%;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(207,230,216,.18);color:#cfe6d8}
.site-footer .footer-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;width:100%}

/* conspicuous clause block (limitation of liability) */
.legal .conspicuous{border:1.5px solid var(--green);background:#f4f7f5;border-radius:6px;padding:16px 18px;margin:14px 0}
.legal .conspicuous p{font-weight:700;color:#222629;font-size:.85rem;line-height:1.6}
.legal .conspicuous p:last-child{margin-bottom:0}
