/* Savoury Solutions site styles.
   Origin: pulled out of the Muse home page export (Oct 2026), then edited by Claude Code.
   Changes from the export: self-hosted fonts, no gold highlighter bars, no italics,
   no small uppercase "eyebrow" labels, plus focus, skip link, reduced motion and
   the extra page types (service pages, answers, legal). Edit in this repo, not in Muse. */

@font-face{font-family:"Inter";src:url("/fonts/inter-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/fonts/cormorant-garamond-var.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
/* Size-matched fallbacks so the text doesn't jump when the web fonts arrive */
@font-face{font-family:"Inter Fallback";src:local("Arial");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:"Cormorant Fallback";src:local("Georgia");size-adjust:86%;ascent-override:105%;descent-override:30%;line-gap-override:0%}

:root{
  --green:#19392f; --green-deep:#122a22; --green-ink:#0e231b;
  --gold:#f9b63f; --gold-soft:#ffc45e; --mint:#dfeccf; --mint-soft:#eef5e4; --sage:#e4e8da;
  --white:#ffffff; --ink:#1c2420; --muted:#5a655e; --body:#3d4741; --line:rgba(25,57,47,.16);
  /* Headlines: Fields Display from Adobe Fonts (web project ID in site.json → adobe_fonts_kit).
     Cormorant Garamond only shows if Adobe's file hasn't loaded. */
  --serif:"fields-display","Cormorant Garamond","Cormorant Fallback",Georgia,"Times New Roman",serif;
  --sans:"Inter","Inter Fallback",-apple-system,"Segoe UI",Arial,sans-serif;
  --radius:26px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.6;font-size:16.5px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.005em;color:var(--green-ink)}
h2{font-size:clamp(2.1rem,4.2vw,3.4rem);margin-bottom:18px}
h3{font-family:var(--sans)}
.intro{max-width:44rem;color:var(--body)}
section{padding:clamp(64px,9vw,110px) 0}
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:15px 28px;font-weight:700;font-size:.95rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;font-family:var(--sans)}
.btn-gold{background:var(--gold);color:var(--green-ink);box-shadow:4px 4px 0 var(--green-ink)}
.btn-gold:hover{transform:translate(-1px,-2px);box-shadow:6px 6px 0 var(--green-ink);background:var(--gold-soft)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{border-color:#fff;transform:translateY(-2px)}
.btn-green{background:var(--green);color:#fff;box-shadow:4px 4px 0 rgba(25,57,47,.25)}
.btn-green:hover{background:var(--green-deep);transform:translate(-1px,-2px)}
.btn-outline{border-color:var(--green);color:var(--green);background:transparent;box-shadow:none}
.btn-outline:hover{background:var(--green);color:#fff}
.icon{width:22px;height:22px;flex:none}
.icon use{pointer-events:none}

/* ---------- accessibility ---------- */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--green-ink);font-weight:800;padding:10px 16px;border-radius:10px;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.hero :focus-visible,.deposit :focus-visible,.assessment :focus-visible,footer :focus-visible,header.site :focus-visible{outline-color:var(--gold-soft)}
.btn-gold:focus-visible{outline-color:var(--green-ink)}
.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){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:60;background:var(--green-ink);border-bottom:1px solid rgba(255,255,255,.12)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}
.nav .brand img{height:46px;width:auto}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{color:#fff;text-decoration:none;font-size:.9rem;font-weight:500;opacity:.92}
.nav-links a:hover,.nav-links a[aria-current="page"]{opacity:1;color:var(--gold)}
.nav .btn{padding:11px 20px;font-size:.85rem}
.nav .btn-gold,.nav .btn-gold:hover{color:var(--green-ink)}
.nav .btn-gold{box-shadow:3px 3px 0 rgba(0,0,0,.45)}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:8px}
.menu-btn span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;border-radius:2px}

/* ---------- hero ---------- */
.hero{background:var(--green);color:#fff;position:relative;overflow:hidden;padding:clamp(56px,7vw,92px) 0 clamp(70px,8vw,104px)}
.hero .squiggle{position:absolute;right:clamp(-30px,2vw,30px);top:64px;width:clamp(120px,14vw,190px);pointer-events:none;transform:rotate(6deg)}
.eel{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.eel path{fill:none;stroke:#fbb040;stroke-linecap:round;stroke-linejoin:round}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(32px,5vw,72px);align-items:center;position:relative;z-index:2}
.hero h1{color:#fff;font-size:clamp(2.9rem,6vw,4.9rem);margin-bottom:22px}
.hero h1 .gold{color:var(--gold)}
.hero p.lede{font-size:1.14rem;color:rgba(255,255,255,.9);max-width:34rem}
.hero p.sub{margin-top:16px;font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.3;color:var(--gold-soft)}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px;list-style:none}
.hero-badges li{border:1.5px solid rgba(255,255,255,.4);color:#fff;border-radius:999px;padding:7px 15px;font-size:.8rem;font-weight:600}
.hero-badges li:nth-child(1){background:var(--gold);border-color:var(--gold);color:var(--green-ink)}
.hero-badges li:nth-child(2){background:var(--mint);border-color:var(--mint);color:var(--green-ink)}
.hero-stack{position:relative}
.hero-photo{position:absolute;left:-26px;bottom:-30px;width:62%;transform:rotate(-4deg);z-index:0}
.hero-card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:30px 30px 24px;position:relative;z-index:2;box-shadow:0 30px 60px rgba(0,0,0,.28)}
.hero-card .stamp{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.hero-card .stamp .icirc{background:var(--mint);color:var(--green);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex:none}
.hero-card .stamp span:last-child{font-size:1.02rem;font-weight:800;color:var(--green-ink);line-height:1.3}
.ledger{font-size:.98rem}
.ledger .row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}
.ledger .row span:last-child{font-variant-numeric:tabular-nums;font-weight:700}
.ledger .row.minus span:last-child{color:#a34d12}
.ledger .row.total{border-bottom:0;border-top:2.5px solid var(--green);margin-top:6px;padding-top:13px;font-weight:800;color:var(--green)}
.hero-card .note{margin-top:12px;font-size:.87rem;color:var(--muted)}
.photo-ph{border:2.5px dashed rgba(25,57,47,.5);background:var(--mint-soft);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--green);text-align:center;padding:22px}
.photo-ph .icon{width:30px;height:30px}
.photo-ph b{font-size:.9rem}
.photo-ph span{font-size:.82rem;color:var(--muted)}
.hero-photo.photo-ph{aspect-ratio:4/3;box-shadow:0 24px 50px rgba(0,0,0,.25)}

/* Inner-page hero: same look, one column, shorter */
.page-hero{padding:clamp(48px,6vw,80px) 0 clamp(56px,7vw,88px)}
.page-hero .hero-grid{grid-template-columns:1.25fr .75fr}
.page-hero h1{font-size:clamp(2.5rem,5vw,4rem)}
.page-hero.solo .hero-grid{grid-template-columns:1fr}
.page-hero.solo h1,.page-hero.solo p.lede{max-width:46rem}
.crumbs{font-size:.85rem;margin-bottom:22px;color:rgba(255,255,255,.75)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.crumbs a{color:#fff;text-decoration:none;font-weight:600}
.crumbs a:hover{color:var(--gold)}

/* ---------- trust strip ---------- */
.trust{background:var(--gold);padding:26px 0}
.trust-row{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;list-style:none}
.trust-row li{flex:1 1 190px;display:flex;align-items:center;gap:12px;font-weight:800;color:var(--green-ink);font-size:.94rem}
.trust-row .icirc{background:var(--green);color:var(--gold);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex:none}
.trust-row .icirc .icon{width:19px;height:19px}

/* ---------- problem diagram ---------- */
.diagram{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(18px,3vw,36px);align-items:center;margin-top:44px}
.chip-cloud{display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.chip{border-radius:999px;padding:10px 18px;font-weight:700;font-size:.9rem;color:var(--green-ink);box-shadow:0 4px 14px rgba(25,57,47,.08)}
.chip:nth-child(odd){background:var(--mint)}
.chip:nth-child(even){background:var(--gold)}
.chip:nth-child(3n){background:#fff;border:1.5px solid var(--line)}
.diagram-center{background:var(--green);border-radius:50%;width:200px;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:22px;box-shadow:6px 6px 0 var(--gold)}
.diagram-center svg{width:64px;height:44px;margin-bottom:8px}
.diagram-center strong{font-weight:800;font-size:1.12rem;line-height:1.25}
.diagram-arrow{font-size:1.7rem;color:#9a6b1e;text-align:center;font-weight:800}
.outcome{background:var(--green);color:#fff;border-radius:var(--radius);padding:30px}
.outcome h3{font-weight:800;font-size:1.35rem;color:#fff;margin-bottom:14px}
.outcome ul{list-style:none}
.outcome li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:.95rem;display:flex;gap:11px;align-items:flex-start}
.outcome li:last-child{border-bottom:0}
.outcome li .icon{width:19px;height:19px;color:var(--gold);margin-top:3px}
.center-note{text-align:center;margin-top:32px;font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--green)}

/* ---------- problem cards ---------- */
.alt{background:var(--mint)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border-radius:var(--radius);padding:30px 28px;border:1px solid var(--line);position:relative;overflow:hidden;transition:transform .2s ease}
.card:nth-child(odd){transform:rotate(-.5deg)}
.card:nth-child(even){transform:rotate(.5deg)}
.card:hover{transform:rotate(0) translateY(-3px)}
.card::before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:var(--gold)}
.card:nth-child(3n+2)::before{background:var(--green)}
.card .icirc{border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card:nth-child(odd) .icirc{background:var(--gold);color:var(--green-ink)}
.card:nth-child(even) .icirc{background:var(--mint);color:var(--green)}
.card .icirc .icon{width:23px;height:23px}
.card h3{font-weight:800;font-size:1.28rem;line-height:1.22;color:var(--green-ink);margin-bottom:11px}
.card p{font-size:.95rem;color:var(--body)}
.card .fix{margin-top:14px;padding-top:14px;border-top:1.5px dashed var(--line);font-size:.92rem}
.card .fix strong{color:var(--green)}

/* ---------- services ---------- */
.services-list{margin-top:40px;border-top:1px solid var(--line)}
.service{display:grid;grid-template-columns:110px 1fr 1.2fr;gap:18px;padding:22px 6px;border-bottom:1px solid var(--line);align-items:center;text-decoration:none}
.service:hover{background:var(--mint-soft)}
.service .num{font-weight:900;font-size:2.5rem;line-height:1;color:var(--gold);text-shadow:3px 3px 0 var(--mint)}
.services-list .service:nth-child(even) .num{color:var(--green);text-shadow:3px 3px 0 var(--gold)}
.services-list .service:nth-child(3n) .num{transform:rotate(-3deg);display:inline-block}
.service h3{font-size:1.06rem;font-weight:800;color:var(--green-ink)}
.service p{font-size:.94rem;color:var(--body)}
/* the gold numbers are decorative; the list reads fine without them */
.service .num{user-select:none}

/* ---------- deposit feature ---------- */
.deposit{background:var(--green-ink);color:#fff;position:relative;overflow:hidden}
.deposit .squiggle{position:absolute;left:-24px;bottom:-30px;width:130px;opacity:.9;transform:rotate(-8deg)}
.deposit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;position:relative;z-index:2}
.deposit h2{color:#fff}
.deposit h2 .gold{color:var(--gold)}
.deposit p{color:rgba(255,255,255,.87);max-width:32rem}
.deposit .big-quote{font-family:var(--serif);font-weight:400;font-size:1.55rem;line-height:1.3;color:var(--gold-soft);margin:22px 0 28px}
.ledger-card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:32px;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.ledger-card h3{font-size:1.15rem;font-weight:800;color:var(--green-ink);margin-bottom:12px}
.ledger-card .row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:1.02rem}
.ledger-card .row span:last-child{font-variant-numeric:tabular-nums;font-weight:700}
.ledger-card .row.total{border-bottom:0;border-top:2.5px solid var(--green);margin-top:8px;padding-top:15px;font-weight:800;color:var(--green);font-size:1.12rem}
.ledger-card .note{margin-top:14px;font-size:.9rem;color:var(--muted)}

/* ---------- multi location ---------- */
.multi-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.checks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;margin-top:26px}
.checks li{padding-left:26px;position:relative;font-size:.97rem;font-weight:600}
.checks li::before{content:"";position:absolute;left:0;top:7px;width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:inset 0 0 0 3px #fff}
.checks li:nth-child(even)::before{background:var(--green);box-shadow:inset 0 0 0 3px var(--mint)}
.alt .checks li::before{box-shadow:inset 0 0 0 3px var(--mint)}
.loc-visual{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 20px 44px rgba(25,57,47,.1)}
.loc-visual h3{font-size:1.15rem;font-weight:800;color:var(--green-ink);margin-bottom:16px}
.loc-row{display:grid;grid-template-columns:86px 1fr 58px;gap:14px;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.9rem;font-weight:600}
.loc-row:last-of-type{border-bottom:0}
.loc-row .bar{height:11px;border-radius:99px;background:var(--mint);overflow:hidden}
.loc-row .bar i{display:block;height:100%;background:var(--green);border-radius:99px}
.loc-row .bar i.gold{background:var(--gold)}
.loc-row b{text-align:right;font-variant-numeric:tabular-nums;color:var(--green)}
.loc-visual .foot{margin-top:16px;background:var(--green);color:#fff;border-radius:16px;padding:15px 18px;font-size:.9rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:600}
.photo-wide{margin-top:34px;aspect-ratio:21/8}

/* ---------- regions ---------- */
.regions{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px}
.region{border-radius:var(--radius);padding:38px 34px}
.region.us{background:var(--green);color:#fff}
.region.ca{background:var(--gold);color:var(--green-ink)}
.region h3{font-weight:900;font-size:1.9rem;margin-bottom:14px}
.region ul{list-style:none}
.region li{padding:10px 0;border-bottom:1px solid rgba(128,128,128,.28);font-size:.97rem;font-weight:600}
.region li:last-child{border-bottom:0}
.regions-note{margin-top:24px;text-align:center;font-family:var(--serif);font-weight:400;font-size:1.45rem;color:var(--green)}

/* ---------- questions ---------- */
.cat-chips{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 34px;list-style:none}
.cat-chips li{border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:700;color:var(--green-ink)}
.cat-chips li:nth-child(odd){background:var(--mint)}
.cat-chips li:nth-child(even){background:var(--gold)}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.q-card{background:var(--mint-soft);border:1.5px solid transparent;border-radius:22px;padding:26px 28px;text-decoration:none;display:block;transition:transform .18s ease,border-color .18s ease}
.alt .q-card{background:#fff}
.q-card:hover{border-color:var(--green);transform:translateY(-3px)}
.q-card h3{font-weight:800;font-size:1.3rem;line-height:1.22;color:var(--green-ink);margin:0 0 10px}
.q-card p{font-size:.93rem;color:var(--body)}
.q-card .more{margin-top:13px;font-weight:800;font-size:.86rem;color:var(--green);display:inline-block}

/* ---------- assessment ---------- */
.assessment{background:var(--green);color:#fff;position:relative;overflow:hidden}
.assessment .squiggle{position:absolute;right:-20px;top:-24px;width:150px;transform:rotate(10deg)}
.assessment h1,.assessment h2{color:#fff;text-align:center}
.assessment .crumbs ol{justify-content:center}
.assessment h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:18px}
.assessment .intro{text-align:center;color:rgba(255,255,255,.88);max-width:36rem;margin:0 auto}
.assess-box{background:#fff;color:var(--ink);border-radius:30px;padding:clamp(26px,4vw,46px);max-width:820px;margin:38px auto 0;position:relative;z-index:2;box-shadow:0 30px 70px rgba(0,0,0,.3)}
.progress{height:9px;background:var(--mint);border-radius:99px;overflow:hidden;margin-bottom:8px}
.progress i{display:block;height:100%;background:var(--gold);width:12.5%;transition:width .3s ease}
.step-count{font-size:.9rem;font-weight:600;color:var(--muted);margin-bottom:20px}
.step{display:none;border:0}
.step.active{display:block}
.step legend,.step h3{font-family:var(--sans);font-weight:800;font-size:1.55rem;color:var(--green-ink);margin-bottom:20px;line-height:1.2;padding:0}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt label{display:block;border:1.5px solid var(--line);border-radius:16px;padding:15px 18px;font-weight:700;font-size:.95rem;cursor:pointer;background:#fff}
.opt input:checked + label{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1.5px var(--green)}
.opt input:focus-visible + label{outline:3px solid var(--gold);outline-offset:2px}
.step-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}
.step-nav .btn{padding:13px 24px}
.btn[disabled]{opacity:.4;pointer-events:none}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fields .full{grid-column:1/-1}
.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px;color:var(--green)}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:13px 15px;font-family:var(--sans);font-size:.97rem;background:#fff;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);border-color:transparent}
.field input[aria-invalid="true"]{border-color:#b3261e}
.form-msg{margin-top:14px;font-size:.92rem;font-weight:600;color:#b3261e;min-height:1.2em}
.form-msg:empty{display:none}
.ts-box{margin-top:18px;min-height:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{margin-top:14px;font-size:.82rem;color:var(--muted)}
.form-note a{color:var(--green);font-weight:700}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:start}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:clamp(26px,3.5vw,40px);box-shadow:0 20px 44px rgba(25,57,47,.1)}
.call-note{margin-top:16px;font-size:.92rem;color:var(--muted)}
.call-note a{font-weight:800;color:var(--green)}
.contact-photo{margin-top:30px;aspect-ratio:16/10;max-width:420px}

/* ---------- inner pages: steps, CTA band, articles ---------- */
.steps{list-style:none;margin-top:40px;border-top:1px solid var(--line);counter-reset:step}
.steps li{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:24px 6px;border-bottom:1px solid var(--line);counter-increment:step}
.steps li::before{content:counter(step,decimal-leading-zero);font-weight:900;font-size:2.5rem;line-height:1;color:var(--gold);text-shadow:3px 3px 0 var(--mint)}
.steps li:nth-child(even)::before{color:var(--green);text-shadow:3px 3px 0 var(--gold)}
.steps h3{font-size:1.12rem;font-weight:800;color:var(--green-ink);margin-bottom:6px}
.steps p{font-size:.96rem;color:var(--body);max-width:44rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.cta-band{background:var(--green-ink);color:#fff;position:relative;overflow:hidden}
.cta-band .squiggle{position:absolute;right:-20px;top:-24px;width:130px;transform:rotate(10deg);opacity:.9}
.cta-band .wrap{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta-band h2{color:#fff;margin-bottom:10px;max-width:38rem}
.cta-band p{color:rgba(255,255,255,.85);max-width:34rem}
.cta-band .actions{display:flex;gap:14px;flex-wrap:wrap}

.article{max-width:46rem}
.article p,.article li{color:var(--body);font-size:1.04rem}
.article p+p,.article ul+p,.article ol+p,.article p+ul,.article p+ol{margin-top:16px}
.article h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin:44px 0 14px}
.article h3{font-size:1.15rem;font-weight:800;color:var(--green-ink);margin:28px 0 8px}
.article ul,.article ol{padding-left:22px}
.article li{margin:7px 0}
.article li::marker{color:var(--green);font-weight:800}
.article a{color:var(--green);font-weight:700}
.article strong{color:var(--green-ink)}
.answer-box{background:var(--mint);border-radius:22px;padding:26px 28px;margin-bottom:12px}
.answer-box h2{font-family:var(--sans);font-size:1.1rem;font-weight:800;color:var(--green-ink);margin:0 0 8px}
.answer-box p{color:var(--green-ink);font-size:1.08rem}
.handles{background:var(--green);color:#fff;border-radius:var(--radius);padding:30px;margin-top:44px}
.handles h2{font-family:var(--sans);font-weight:800;font-size:1.3rem;color:#fff;margin:0 0 10px}
.handles p{color:rgba(255,255,255,.9)}
.handles .btn{margin-top:18px}
.example{border:1px solid var(--line);border-radius:22px;padding:24px 26px;margin:24px 0;background:#fff}
.example h3{margin-top:0}
.example .row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.98rem}
.example .row span:last-child{font-variant-numeric:tabular-nums;font-weight:700}
.example .row.total{border-bottom:0;border-top:2.5px solid var(--green);margin-top:6px;padding-top:13px;font-weight:800;color:var(--green)}
.example .note{margin-top:12px;font-size:.88rem;color:var(--muted)}
.legal-copy h2{font-family:var(--sans);font-size:1.25rem;font-weight:800;margin:36px 0 10px}
.updated{color:var(--muted);font-size:.92rem}

/* ---------- footer ---------- */
footer{background:var(--green-ink);color:#f4f0e5;padding:70px 0 110px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
footer .brand img{height:56px;width:auto}
footer p.blurb{color:rgba(244,240,229,.75);font-size:.94rem;margin-top:16px;max-width:20rem}
footer h2.foot-h{font-family:var(--sans);font-size:1rem;font-weight:800;color:var(--gold);margin-bottom:14px;line-height:1.3}
footer ul{list-style:none}
footer li{margin:9px 0}
footer li a{color:rgba(244,240,229,.88);text-decoration:none;font-size:.93rem}
footer li a:hover{color:var(--gold)}
.foot-cta{margin-top:44px;border-top:1px solid rgba(244,240,229,.16);padding-top:34px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.foot-cta p{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.15;color:#f4f0e5}
.legal{margin-top:30px;display:flex;gap:22px;flex-wrap:wrap;font-size:.82rem;color:rgba(244,240,229,.55)}
.legal a,.legal button{color:inherit;background:none;border:0;font:inherit;cursor:pointer;text-decoration:underline}

/* ---------- sticky mobile cta ---------- */
.sticky-cta{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:70;background:var(--green-ink);border-radius:18px;padding:10px;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.sticky-cta a{flex:1;text-align:center;padding:13px 10px;font-size:.9rem;justify-content:center}
.sticky-cta a.secondary{color:#fff;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;justify-content:center}

/* ---------- cookie banner ---------- */
.consent{position:fixed;left:16px;bottom:16px;z-index:90;max-width:420px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:20px 22px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.consent[hidden]{display:none}
.consent p{font-size:.9rem;color:var(--body)}
.consent a{color:var(--green);font-weight:700}
.consent .actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.consent .btn{padding:10px 18px;font-size:.88rem}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .cards{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .nav-links{position:absolute;top:100%;left:0;right:0;background:var(--green-ink);flex-direction:column;align-items:flex-start;padding:20px 24px 26px;gap:16px;display:none;border-top:1px solid rgba(255,255,255,.12)}
  .nav-links.open{display:flex}
  .menu-btn{display:block}
  header.site .wrap{position:relative}
  .hero-grid,.page-hero .hero-grid,.deposit-grid,.multi-grid,.contact-grid,.split{grid-template-columns:1fr}
  .hero .squiggle{width:100px;top:auto;bottom:110px;right:-24px}
  .page-hero .squiggle,.assessment .squiggle,.cta-band .squiggle{display:none}
  .hero-photo{position:relative;left:0;bottom:0;width:100%;margin-top:22px;transform:rotate(-1.5deg)}
  .diagram{grid-template-columns:1fr}
  .diagram-center{margin:6px auto}
  .regions,.q-grid,.cards.two{grid-template-columns:1fr}
  .service{grid-template-columns:84px 1fr}
  .service .num{font-size:2rem}
  .service p{grid-column:2}
  .steps li{grid-template-columns:70px 1fr}
  .steps li::before{font-size:2rem}
  .opts,.fields{grid-template-columns:1fr}
  .photo-wide{aspect-ratio:16/10}
  .contact-photo{max-width:none}
  .sticky-cta{display:flex;gap:8px}
  .sticky-cta .btn-gold{box-shadow:none}
  footer{padding-bottom:150px}
  .consent{left:12px;right:12px;bottom:88px;max-width:none}
}
@media (max-width:560px){
  .cards,.checks{grid-template-columns:1fr}
  .hero-card{padding:24px 20px}
  .foot-grid{grid-template-columns:1fr}
  h2{font-size:2rem}
}
