:root{
    --forest:#123528;        /* deepest green */
    --green:#1B5239;         /* primary brand green */
    --green-2:#2C7A56;       /* bright green accent */
    --ink:#0E2018;
    --ivory:#FAF6EC;         /* warm paper */
    --ivory-2:#F2ECDC;
    --cream:#FFFDF7;         /* surface */
    --gold:#C9A24B;          /* true elegant gold */
    --gold-deep:#A8842F;
    --gold-soft:#E7D49A;
    --line:#E6DEC9;
    --line-dk:rgba(231,212,154,.18);
    --muted:#566459;
    --display:'Fraunces',Georgia,serif;
    --body:'Source Serif 4',Georgia,serif;
    --ui:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    --maxw:1200px;
    --sh-sm:0 2px 10px -4px rgba(18,53,40,.18);
    --sh-md:0 18px 40px -22px rgba(18,53,40,.32);
    --sh-lg:0 40px 80px -36px rgba(18,53,40,.45);
    --r:16px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);color:var(--ink);background:var(--ivory);font-size:18px;line-height:1.62;
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  a{color:inherit}
  img{max-width:100%}
  h1,h2,h3,h4,.disp{font-family:var(--display);line-height:1.05;letter-spacing:-0.015em;font-weight:600}
  ::selection{background:var(--gold-soft);color:var(--ink)}

  /* utility label / eyebrow — the "question" signature */
  .q{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:var(--gold-deep);display:inline-flex;align-items:center;gap:11px;margin-bottom:20px}
  .q::before{content:"";width:24px;height:1.5px;background:linear-gradient(90deg,var(--gold),transparent)}
  .on-dark .q{color:var(--gold-soft)}
  .on-dark .q::before{background:linear-gradient(90deg,var(--gold-soft),transparent)}

  /* buttons */
  .btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--ui);font-size:14.5px;font-weight:600;
    letter-spacing:.01em;text-decoration:none;padding:15px 26px;border-radius:10px;border:1.5px solid transparent;
    cursor:pointer;transition:transform .18s ease,box-shadow .25s ease,background .2s ease,color .2s ease}
  .btn .ar{transition:transform .2s ease}
  .btn:hover .ar{transform:translateX(4px)}
  .btn-gold{background:linear-gradient(135deg,#D9B45E,var(--gold) 55%,var(--gold-deep));color:#22180a;
    box-shadow:0 10px 26px -12px rgba(168,132,47,.7)}
  .btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(168,132,47,.85)}
  .btn-green{background:var(--green);color:#fff;box-shadow:var(--sh-sm)}
  .btn-green:hover{background:var(--forest);transform:translateY(-2px);box-shadow:var(--sh-md)}
  .btn-ghost{background:transparent;color:var(--green);border-color:rgba(27,82,57,.32)}
  .btn-ghost:hover{background:var(--green);color:#fff;border-color:var(--green);transform:translateY(-2px)}
  .on-dark .btn-ghost{color:#fff;border-color:rgba(231,212,154,.45)}
  .on-dark .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
  .tlink{font-family:var(--ui);font-size:14px;font-weight:600;color:var(--green);text-decoration:none;
    display:inline-flex;align-items:center;gap:6px;border-bottom:2px solid var(--gold);padding-bottom:2px}
  .tlink:hover{color:var(--gold-deep)}
  .tlink .ar{transition:transform .2s}.tlink:hover .ar{transform:translateX(3px)}

  /* ---------- top ribbon ---------- */
  .ribbon{background:var(--forest);color:#dfeae2}
  .ribbon .wrap{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
    padding:8px 28px;font-family:var(--ui);font-size:12px;letter-spacing:.04em;color:#cfe0d6}
  .ribbon b{color:var(--gold-soft);font-weight:600}
  .ribbon .dot{width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:.7}

  /* ---------- header ---------- */
  header{position:sticky;top:0;z-index:80;background:rgba(250,246,236,.86);backdrop-filter:saturate(160%) blur(12px);
    border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .brand{font-family:var(--display);font-weight:600;font-size:23px;letter-spacing:-0.02em;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:9px}
  .brand .mk{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--green),var(--forest));
    display:grid;place-items:center;color:var(--gold-soft);font-size:14px;font-weight:700;box-shadow:var(--sh-sm)}
  .brand b{color:var(--green)}
  .nav-links{display:flex;gap:28px;align-items:center}
  .nav-links a{font-family:var(--ui);font-size:14px;font-weight:500;text-decoration:none;color:var(--ink);opacity:.8;transition:opacity .15s,color .15s}
  .nav-links a:hover{opacity:1;color:var(--green)}
  .nav-cta{display:flex;align-items:center;gap:14px}
  .menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:9px;padding:9px 12px;
    font-family:var(--ui);font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;letter-spacing:.05em}

  /* ---------- hero ---------- */
  .hero{position:relative;padding:70px 0 150px;background:
    radial-gradient(120% 80% at 85% -10%, rgba(201,162,75,.10), transparent 55%),
    radial-gradient(90% 70% at 0% 110%, rgba(27,82,57,.07), transparent 60%),
    var(--ivory)}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
  .hero h1{font-size:clamp(40px,5.6vw,68px);font-weight:600;letter-spacing:-0.025em;margin-bottom:24px}
  .hero h1 em{font-style:italic;color:var(--green);font-weight:500}
  .hero .lede{font-size:20px;color:#2a3a30;max-width:46ch;margin-bottom:30px}

  /* Ask Sherlyn decision module */
  .ask{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-md);
    overflow:hidden}
  .ask-top{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,#fff,rgba(255,253,247,.4))}
  .ask-badge{width:34px;height:34px;border-radius:9px;background:var(--forest);display:grid;place-items:center;flex:none}
  .ask-badge svg{width:18px;height:18px;stroke:var(--gold-soft)}
  .ask-top .lab{font-family:var(--ui);font-weight:700;font-size:15px;color:var(--ink)}
  .ask-top .sub{font-family:var(--ui);font-size:12.5px;color:var(--muted)}
  .ask-body{padding:20px 22px 22px}
  .ask-prompt{font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:13px}
  .pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
  .pill{font-family:var(--ui);font-size:14px;font-weight:600;padding:10px 16px;border-radius:999px;
    border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:all .18s ease}
  .pill:hover{border-color:var(--green-2);color:var(--green)}
  .pill[aria-pressed="true"]{background:var(--green);color:#fff;border-color:var(--green);box-shadow:var(--sh-sm)}
  .ask-answer{background:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px;
    display:flex;flex-direction:column;gap:14px}
  .ask-answer .atext{font-size:16.5px;color:#243029;line-height:1.5}
  .ask-answer .atext b{color:var(--green);font-weight:600}
  .ask-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
  .ask-cta .toolname{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}

  /* hero media cluster */
  .hero-media{position:relative;padding-top:8px}
  .photo{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-lg);
    background:
      radial-gradient(130% 100% at 50% 0%, #2f7355 0%, #1c4d39 52%, #123528 100%);
    border:1px solid rgba(255,255,255,.1)}
  .photo::after{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 45%,rgba(14,32,24,.72));pointer-events:none}
  .photo .wm{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);
    font-weight:600;font-size:120px;color:rgba(255,255,255,.06);letter-spacing:-.04em}
  .photo .corner{position:absolute;width:26px;height:26px;border:2px solid var(--gold);opacity:.85}
  .photo .corner.tl{top:16px;left:16px;border-right:none;border-bottom:none}
  .photo .corner.br{bottom:16px;right:16px;border-left:none;border-top:none}
  .photo .plate{position:absolute;left:20px;right:20px;bottom:20px;color:#fff;z-index:2}
  .photo .plate .role{font-family:var(--ui);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:5px}
  .photo .plate .nm{font-family:var(--display);font-weight:600;font-size:26px}
  .photo .tag{position:absolute;top:14px;left:0;right:0;text-align:center;font-family:var(--ui);font-size:10px;
    letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);z-index:2}
  /* floating cards */
  .floatc{position:absolute;background:var(--cream);border:1px solid var(--line);border-radius:13px;
    box-shadow:var(--sh-md);padding:13px 15px;display:flex;align-items:center;gap:11px;z-index:5}
  .floatc .ic{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;flex:none}
  .floatc .ic.gold{background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:#3a2a08}
  .floatc .ic.green{background:var(--green);color:var(--gold-soft)}
  .floatc .ic svg{width:18px;height:18px}
  .floatc .t1{font-family:var(--ui);font-weight:700;font-size:15px;color:var(--ink);line-height:1.1}
  .floatc .t2{font-family:var(--ui);font-size:11.5px;color:var(--muted);margin-top:2px}
  .floatc.rev{top:34px;left:-26px}
  .floatc.lic{bottom:64px;right:-24px}
  .stars{color:var(--gold);letter-spacing:1px;font-size:13px}

  /* ---------- tools row (overlapping hero) ---------- */
  .tools{margin-top:-92px;position:relative;z-index:20;padding-bottom:30px}
  .tools-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}
  .tools-head h2{font-size:clamp(22px,2.6vw,30px);color:#fff}
  .tools-head .sub{font-family:var(--ui);font-size:14px;color:#cfe0d6;max-width:42ch}
  .tools-band{background:var(--forest);border-radius:22px;padding:26px;box-shadow:var(--sh-lg);
    background-image:radial-gradient(80% 120% at 100% 0%,rgba(201,162,75,.14),transparent 60%)}
  .tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .tool{background:rgba(255,255,255,.04);border:1px solid var(--line-dk);border-radius:14px;padding:20px;
    color:#eaf2ec;text-decoration:none;display:flex;flex-direction:column;gap:11px;transition:all .2s ease;position:relative}
  .tool:hover{background:rgba(255,255,255,.08);transform:translateY(-4px);border-color:rgba(231,212,154,.4)}
  .tool .ic{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,rgba(201,162,75,.22),rgba(201,162,75,.08));
    display:grid;place-items:center;border:1px solid rgba(231,212,154,.25)}
  .tool .ic svg{width:21px;height:21px;stroke:var(--gold-soft)}
  .tool .tt{font-family:var(--display);font-weight:600;font-size:19px;color:#fff;line-height:1.1}
  .tool .td{font-family:var(--ui);font-size:13px;color:#bcd0c3;line-height:1.45;flex:1}
  .tool .run{font-family:var(--ui);font-size:12.5px;font-weight:600;color:var(--gold-soft);display:flex;align-items:center;gap:6px}
  .tool .toolkit{position:absolute;top:18px;right:18px;font-family:var(--ui);font-size:10px;font-weight:600;
    letter-spacing:.1em;text-transform:uppercase;color:rgba(231,212,154,.5)}

  /* ---------- trust strip ---------- */
  .trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:46px 28px;
    border-bottom:1px solid var(--line)}
  .trust .item{display:flex;flex-direction:column;gap:4px}
  .trust .num{font-family:var(--display);font-weight:600;font-size:40px;color:var(--green);line-height:1;font-variant-numeric:tabular-nums}
  .trust .lbl{font-family:var(--ui);font-size:13px;color:var(--muted);letter-spacing:.02em}

  /* ---------- section base ---------- */
  section{padding:96px 0}
  .sec-head{max-width:60ch}
  .sec-head h2{font-size:clamp(30px,4vw,48px);margin-bottom:16px}
  .sec-head p{font-size:19px;color:#34433a}

  /* ---------- why both ---------- */
  .why{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .why h2{font-size:clamp(30px,4.2vw,50px);max-width:17ch;margin-bottom:24px}
  .why-body{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
  .why-body p{font-size:19px;color:#2c3a30}
  .why-body .pull{font-family:var(--display);font-weight:500;font-style:italic;font-size:24px;color:var(--green);line-height:1.32}

  /* ---------- comparison ---------- */
  .compare{background:var(--ivory)}
  .cmp-wrap{margin-top:46px;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:0;
    background:var(--cream);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--sh-md)}
  .cmp-col{padding:0}
  .cmp-h{padding:26px 26px 22px;border-bottom:1px solid var(--line)}
  .cmp-h .k{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
  .cmp-h .v{font-family:var(--display);font-weight:600;font-size:21px;color:var(--ink)}
  .cmp-col.feat{background:linear-gradient(180deg,var(--green),var(--forest));position:relative}
  .cmp-col.feat .cmp-h{border-bottom-color:var(--line-dk)}
  .cmp-col.feat .cmp-h .k{color:var(--gold-soft)}
  .cmp-col.feat .cmp-h .v{color:#fff}
  .cmp-col.feat .tagtop{position:absolute;top:-1px;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold-soft),var(--gold),var(--gold-deep))}
  .cmp-row{display:block}
  .cmp-feature{font-family:var(--ui);font-size:15px;color:#33423a;padding:17px 26px;border-bottom:1px solid var(--line);min-height:60px;display:flex;align-items:center}
  .cmp-cell{padding:17px 26px;border-bottom:1px solid var(--line);min-height:60px;display:flex;align-items:center;gap:9px;
    font-family:var(--ui);font-size:14px}
  .cmp-col.feat .cmp-cell{border-bottom-color:var(--line-dk);color:#eaf2ec}
  .cmp-col.std .cmp-cell{color:var(--muted)}
  .cmp-row:last-child .cmp-feature,.cmp-row:last-child .cmp-cell{border-bottom:none}
  .ck{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;flex:none}
  .ck.yes{background:rgba(201,162,75,.18)}
  .ck.yes svg{stroke:var(--gold-deep)}
  .cmp-col.feat .ck.yes{background:rgba(231,212,154,.22)}
  .cmp-col.feat .ck.yes svg{stroke:var(--gold-soft)}
  .ck.no{background:rgba(86,100,89,.12)}
  .ck.no svg{stroke:#9aa69d}
  .ck svg{width:13px;height:13px;fill:none;stroke-width:2.6}
  .cmp-note{font-family:var(--ui);font-size:13.5px;color:var(--muted);margin-top:18px;text-align:center}

  /* mobile comparison: row-based */
  .cmp-row.mhead{display:none}

  /* ---------- pillars ---------- */
  .pillars-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px}
  .pillar{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:34px 34px 30px;
    display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .25s ease;position:relative;overflow:hidden}
  .pillar::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;
    background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transition:opacity .25s}
  .pillar:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
  .pillar:hover::before{opacity:1}
  .pillar .pnum{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
  .pillar h3{font-size:25px;margin:13px 0 14px;line-height:1.14}
  .pillar p{font-size:16.5px;color:#384940;margin-bottom:22px;flex:1}
  .pillar .pcta{display:flex;gap:20px;flex-wrap:wrap}

  /* ---------- local authority ---------- */
  .local{background:var(--forest);color:#e9f1ec;position:relative;overflow:hidden}
  .local::before{content:"";position:absolute;top:-20%;right:-10%;width:50%;height:140%;
    background:radial-gradient(circle,rgba(201,162,75,.12),transparent 65%);pointer-events:none}
  .local h2{color:#fff;font-size:clamp(30px,4.2vw,50px);max-width:19ch;margin-bottom:16px}
  .local .sub{color:#c6dacd;font-size:19px;max-width:56ch;margin-bottom:48px}
  .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .fact{background:rgba(255,255,255,.04);border:1px solid var(--line-dk);border-radius:16px;padding:28px 26px;transition:all .2s}
  .fact:hover{background:rgba(255,255,255,.07);border-color:rgba(231,212,154,.35)}
  .fact .fnum{font-family:var(--display);font-style:italic;font-size:22px;color:var(--gold-soft)}
  .fact h4{font-size:20px;color:#fff;margin:8px 0 10px;line-height:1.18}
  .fact p{font-size:15.5px;color:#c6dacd;line-height:1.55}
  .fact.cta-fact{background:linear-gradient(135deg,var(--green-2),var(--green));border-color:transparent}
  .fact.cta-fact h4{margin-top:4px}

  /* ---------- market desk ---------- */
  .desk-top{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;margin-bottom:38px}
  .desk-top h2{font-size:clamp(28px,3.6vw,44px)}
  .desk-top p{font-size:18px;color:#34433a}
  .ticker{border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--sh-sm);background:var(--cream)}
  .trow{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;border-bottom:1px solid var(--line);
    font-family:var(--ui);font-size:15px;font-variant-numeric:tabular-nums}
  .trow:last-child{border-bottom:none}
  .trow.head{background:var(--forest);color:#cfe0d6;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
  .trow div{padding:16px 22px}
  .trow .cty{color:var(--ink);font-weight:600}
  .trow.head .cty{color:var(--gold-soft)}
  .trow .val{color:var(--green)}
  .trow:nth-child(even):not(.head){background:var(--ivory)}
  .desk-note{font-family:var(--ui);font-size:12.5px;color:var(--muted);margin-top:14px}

  /* ---------- county cards ---------- */
  .areas{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .county-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px}
  .ccard{background:var(--ivory);border:1px solid var(--line);border-radius:18px;padding:28px;
    position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .25s ease}
  .ccard:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--gold-soft)}
  .ccard .cidx{position:absolute;top:18px;right:22px;font-family:var(--display);font-weight:600;font-size:46px;
    color:rgba(27,82,57,.07);line-height:1}
  .ccard h4{font-size:24px;color:var(--ink);margin-bottom:4px}
  .ccard .ctag{font-family:var(--ui);font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--gold-deep);margin-bottom:16px}
  .ccard .cdesc{font-size:15.5px;color:#3a4940;margin-bottom:18px;line-height:1.5}
  .chips-row{display:flex;flex-wrap:wrap;gap:7px}
  .citytag{font-family:var(--ui);font-size:12.5px;color:var(--green);background:rgba(27,82,57,.07);
    border:1px solid rgba(27,82,57,.12);border-radius:999px;padding:5px 12px}

  /* ---------- proof ---------- */
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
  .quote{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--sh-sm);
    display:flex;flex-direction:column;gap:16px}
  .quote .qstars{color:var(--gold);letter-spacing:2px;font-size:15px}
  .quote p{font-size:17px;color:#27332b;font-style:italic;font-family:var(--body);flex:1}
  .quote .who{font-family:var(--ui);font-size:13px;font-weight:600;color:var(--ink)}
  .quote .who span{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:2px}

  /* ---------- FAQ knowledge base ---------- */
  .kb{background:var(--ivory)}
  .kb-search{margin-top:36px;background:var(--cream);border:1px solid var(--line);border-radius:16px;
    box-shadow:var(--sh-md);padding:20px;max-width:760px}
  .search-box{display:flex;align-items:center;gap:12px;background:var(--ivory);border:1.5px solid var(--line);
    border-radius:12px;padding:13px 16px;transition:border-color .2s}
  .search-box:focus-within{border-color:var(--green-2);box-shadow:0 0 0 4px rgba(44,122,86,.1)}
  .search-box svg{width:20px;height:20px;stroke:var(--muted);flex:none}
  .search-box input{flex:1;border:none;background:none;outline:none;font-family:var(--ui);font-size:16px;color:var(--ink)}
  .search-box input::placeholder{color:#8a968d}
  .cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
  .cat{font-family:var(--ui);font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;
    border:1.5px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}
  .cat:hover{border-color:var(--green-2);color:var(--green)}
  .cat.active{background:var(--green);color:#fff;border-color:var(--green)}
  .kb-count{font-family:var(--ui);font-size:13px;color:var(--muted);margin:24px 0 10px}
  .faq-list{border-top:1px solid var(--line);max-width:860px}
  .faq-item{border-bottom:1px solid var(--line)}
  .faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:24px 46px 24px 0;
    font-family:var(--display);font-weight:600;font-size:21px;color:var(--ink);position:relative;line-height:1.25}
  .faq-q .qcat{display:inline-block;font-family:var(--ui);font-size:10.5px;font-weight:600;letter-spacing:.08em;
    text-transform:uppercase;color:var(--gold-deep);background:rgba(201,162,75,.12);border-radius:6px;
    padding:3px 8px;margin-right:12px;vertical-align:middle}
  .faq-q::after{content:"";position:absolute;right:8px;top:30px;width:13px;height:13px;
    border-right:2px solid var(--gold-deep);border-bottom:2px solid var(--gold-deep);
    transform:rotate(45deg);transition:transform .25s}
  .faq-item.open .faq-q::after{transform:rotate(-135deg);top:34px}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .faq-a p{font-size:17.5px;color:#34433a;padding:0 60px 26px 0}
  .kb-empty{display:none;padding:30px 0;font-family:var(--ui);color:var(--muted)}
  .kb-empty.show{display:block}
  .kb-empty a{color:var(--green);border-bottom:2px solid var(--gold)}

  /* ---------- final cta ---------- */
  .final{background:var(--forest);color:#e9f1ec;text-align:center;position:relative;overflow:hidden}
  .final::before{content:"";position:absolute;inset:0;
    background:radial-gradient(70% 90% at 50% 0%,rgba(201,162,75,.16),transparent 60%);pointer-events:none}
  .final h2{color:#fff;font-size:clamp(32px,4.6vw,54px);max-width:18ch;margin:0 auto 18px;position:relative}
  .final p{font-size:20px;color:#c6dacd;max-width:56ch;margin:0 auto 34px;position:relative}
  .final-ctas{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;position:relative}
  .final .contact{font-family:var(--ui);font-size:14px;color:#a6bdaf;position:relative}
  .final .contact b{color:var(--gold-soft);font-weight:500}

  /* ---------- footer ---------- */
  footer{background:#0c2017;color:#9fb6a8;padding:66px 0 40px;font-size:15px}
  .foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;
    border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:42px}
  .foot-brand .brand{color:#fff}.foot-brand .brand b{color:var(--gold-soft)}
  .foot-brand p{margin-top:16px;color:#86a092;max-width:32ch}
  .foot-col h5{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:16px}
  .foot-col a{display:block;color:#9fb6a8;text-decoration:none;padding:6px 0;font-family:var(--ui);font-size:14.5px}
  .foot-col a:hover{color:#fff}
  .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:26px;
    font-family:var(--ui);font-size:12px;color:#75907f;line-height:1.7}
  .eho{display:inline-flex;align-items:center;gap:8px}.eho svg{width:20px;height:20px}

  /* reveal */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
  .reveal.in{opacity:1;transform:none}

  /* focus */
  a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--green-2);outline-offset:2px;border-radius:6px}

  /* ---------- responsive ---------- */
  @media(max-width:1000px){
    .hero-grid{grid-template-columns:1fr;gap:44px}
    .hero{padding-bottom:120px}
    .hero-media{max-width:420px}
    .floatc.rev{left:-12px}.floatc.lic{right:-10px}
    .tool-grid{grid-template-columns:repeat(2,1fr)}
    .why-body,.desk-top{grid-template-columns:1fr;gap:30px}
    .facts,.county-grid{grid-template-columns:repeat(2,1fr)}
    .trust .wrap{grid-template-columns:repeat(2,1fr);gap:30px}
    .quotes{grid-template-columns:1fr}
  }
  @media(max-width:760px){
    .nav-links{display:none}
    .nav-links.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;
      background:var(--cream);border-bottom:1px solid var(--line);padding:20px 28px;gap:18px;box-shadow:var(--sh-md)}
    .menu-btn{display:block}
    .nav-cta .btn{display:none}
    section{padding:64px 0}
    .tools{margin-top:-70px}
    .facts,.county-grid{grid-template-columns:1fr}
    .trust .wrap{grid-template-columns:1fr 1fr}
    .foot-top{grid-template-columns:1fr 1fr}
    /* comparison → stacked */
    .cmp-wrap{grid-template-columns:1fr;border-radius:16px}
    .cmp-col .cmp-h{display:none}
    .cmp-col.feat .tagtop{display:none}
    .cmp-row{display:grid;grid-template-columns:1fr;border-bottom:6px solid var(--ivory)}
    .cmp-feature{font-weight:600;color:var(--ink);background:var(--ivory);min-height:auto;padding:14px 20px}
    .cmp-cell{min-height:auto;padding:13px 20px;border-bottom:1px solid var(--line)}
    .cmp-cell::before{content:attr(data-who);font-weight:600;color:var(--muted);margin-right:auto;font-size:13px}
    .cmp-col.feat{background:none}
    .cmp-col.feat .cmp-cell{color:var(--green);background:rgba(201,162,75,.06)}
    .cmp-row.mhead{display:none}
  }
  @media(max-width:430px){
    .foot-top{grid-template-columns:1fr}.brand{font-size:20px}
    .photo .wm{font-size:90px}
  }
  @media(prefers-reduced-motion:reduce){
    *{scroll-behavior:auto!important}
    .reveal{opacity:1;transform:none;transition:none}
    .btn:hover,.pillar:hover,.ccard:hover,.tool:hover,.fact:hover{transform:none}
  }
