/* Gather & Co. 2026 — site. Navy ink, warm paper, one deep coral. "Running order" ledgers, hairline rules, square corners, no motion. */
@font-face{font-family:"Syne";src:url(../assets/fonts/syne-latin-wght-normal.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Outfit";src:url(../assets/fonts/outfit-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --paper:#F7F3EC;--paper-2:#EFE8DC;--card:#FFFDF9;--ink:#121A33;--ink-2:#2A3350;--muted:#525B70;--rule:#D9D0C1;--rule-2:#C9BEAC;
  --navy:#121A33;--navy-2:#1B2547;--on-navy:#F7F3EC;--on-navy-2:#AEB6CC;--line-navy:#34406A;
  --brand:#C0331E;--brand-deep:#9E2814;--coral-lt:#FF8A7A;--ok:#2E6B45;--err:#A52A1A;
  --f-display:"Syne",ui-sans-serif,system-ui,sans-serif;--f-text:"Outfit",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --t-label:.875rem;--t-small:.9375rem;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --wrap:1280px;--gutter:clamp(18px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-text);font-size:1.0625rem;line-height:1.6;font-weight:400;overflow-x:clip}
img,svg,picture{display:block;max-inline-size:100%}
img{block-size:auto}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;line-height:1.04;letter-spacing:-.025em;margin:0;text-wrap:balance;color:inherit}
h1{font-size:clamp(2.5rem,1.5rem + 4vw,5rem);font-weight:750;letter-spacing:-.035em}
h2{font-size:clamp(1.75rem,1.25rem + 1.8vw,2.75rem)}
h3{font-size:1.375rem;letter-spacing:-.015em}
p{margin:0}
p+p{margin-block-start:1em}
ul,ol{margin:0}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--brand)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--paper-2);padding:1px 5px}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
::selection{background:var(--ink);color:#fff}
[hidden]{display:none!important}
fieldset{min-inline-size:0}
.num{font-variant-numeric:tabular-nums lining-nums}
.sr-only{position:absolute!important;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html:not(.js) .js-only{display:none!important}
.wrap{inline-size:100%;max-inline-size:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:clamp(56px,7vw,104px)}
.skip-link{position:absolute;inset-inline-start:8px;inset-block-start:-100px;z-index:100;background:var(--ink);color:#fff;padding:12px 18px;font-weight:600;text-decoration:none}
.skip-link:focus{inset-block-start:8px;color:#fff}
#main:focus{outline:none}
/* type helpers */
.kicker{font-size:var(--t-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);line-height:1.4;margin-block-end:var(--s4)}
.kicker--light{color:var(--coral-lt)}
.lede{font-size:clamp(1.125rem,1rem + .5vw,1.375rem);line-height:1.5;color:var(--ink-2);max-inline-size:58ch;margin-block-start:var(--s5);font-weight:350}
.band-dark .lede{color:var(--on-navy)}
.muted{color:var(--muted)}
.meta{font-size:var(--t-label);color:var(--muted);line-height:1.45;letter-spacing:.01em}
.tag{display:inline-flex;align-items:center;font-size:var(--t-label);font-weight:600;line-height:1.3;color:var(--ink-2);border:1px solid var(--rule-2);padding:3px 9px;background:var(--card);inline-size:max-content;max-inline-size:100%}
.band-note{font-size:var(--t-label);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--s4) var(--s6);margin-block-end:var(--s6);padding-block-end:var(--s5);border-block-end:2px solid var(--ink)}
.sec-head h2{max-inline-size:22ch}
.sec-head .kicker{margin-block-end:var(--s3)}
.band-dark .sec-head{border-color:var(--on-navy)}
.tlink{display:inline-flex;align-items:center;gap:var(--s2);min-block-size:44px;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:.35em}
.tlink:hover{color:var(--brand)}
.tlink .i-arrow{inline-size:18px;block-size:18px}
.i-arrow{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}
.actions{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin-block-start:var(--s6)}
.demo-flag{font-size:var(--t-small);line-height:1.5;color:var(--ink-2);background:var(--paper-2);border-inline-start:4px solid var(--brand);padding:var(--s3) var(--s4);max-inline-size:62ch}
.demo-flag--ok{border-color:var(--ok);background:#E5EFE7;color:#1D4A2F}
.prose{max-inline-size:64ch}
.prose p{color:var(--ink-2)}
.checklist{list-style:none;padding:0;display:grid;gap:var(--s3);margin-block-start:var(--s4)}
.checklist li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--s3);align-items:start;line-height:1.5}
.checklist svg{inline-size:22px;block-size:22px;fill:none;stroke:var(--brand);stroke-width:2.4;stroke-linecap:square;margin-block-start:1px}
.checklist--dash svg{stroke:var(--muted)}
.band-dark .checklist svg{stroke:var(--coral-lt)}
.count-line{font-weight:600;margin-block:var(--s5);font-size:var(--t-small)}
.empty{border:1px dashed var(--rule-2);padding:var(--s6);text-align:center;display:grid;gap:var(--s3);justify-items:center}
.band-dark{background:var(--navy);color:var(--on-navy)}
.band-dark a:not(.btn){color:var(--on-navy)}
.band-dark a:not(.btn):hover{color:#fff}
.band-dark .muted,.band-dark .meta{color:var(--on-navy-2)}
.band-dark :focus-visible{outline-color:var(--coral-lt)}
/* breadcrumbs */
.crumbs{list-style:none;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s2);font-size:var(--t-label);color:var(--muted);margin-block-end:var(--s4)}
.crumbs li{display:flex;align-items:center;gap:var(--s2);min-inline-size:0}
.crumbs li+li::before{content:"/";color:var(--rule-2)}
.crumbs a{display:inline-flex;align-items:center;min-block-size:44px;min-inline-size:44px;color:var(--muted)}
.crumbs a:hover{color:var(--ink)}
.crumbs [aria-current]{color:var(--ink-2);max-inline-size:36ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-block-size:48px;padding:0 22px;border:2px solid var(--brand);background:var(--brand);color:#fff;font-family:var(--f-text);font-size:1rem;font-weight:600;letter-spacing:.01em;text-decoration:none;cursor:pointer;border-radius:0;white-space:nowrap;line-height:1.2}
.btn:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
.btn--sm{min-block-size:44px;padding:0 16px;font-size:.9375rem}
.btn--lg{min-block-size:56px;padding:0 28px;font-size:1.0625rem}
.btn--navy{background:var(--ink);border-color:var(--ink);color:#fff}
.btn--navy:hover{background:#000;border-color:#000;color:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn--light{background:var(--on-navy);border-color:var(--on-navy);color:var(--ink)}
.btn--light:hover{background:#fff;border-color:#fff;color:var(--ink)}
.chip{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;min-inline-size:44px;padding:0 16px;border:1px solid var(--rule-2);background:var(--card);color:var(--ink);font-family:var(--f-text);font-size:.9375rem;font-weight:500;cursor:pointer;border-radius:0}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.icon-btn{display:inline-grid;place-items:center;inline-size:44px;block-size:44px;padding:0;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;border-radius:0}
.icon-btn:hover{background:var(--paper-2)}
.icon-btn svg{inline-size:22px;block-size:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}

/* ---------- header ---------- */
.site-header{position:sticky;inset-block-start:0;z-index:50;background:var(--paper);color:var(--ink);border-block-end:1px solid var(--ink)}
.hd{display:flex;align-items:center;gap:var(--s4);inline-size:100%;max-inline-size:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding:10px var(--gutter);min-block-size:68px}
.brand{display:flex;align-items:center;gap:10px;min-block-size:44px;text-decoration:none;color:var(--ink);flex:none;white-space:nowrap}
.brand-mark{inline-size:36px;block-size:36px;color:var(--brand)}
.brand-n{font-family:var(--f-display);font-size:1.375rem;line-height:1;letter-spacing:-.03em;font-weight:750}
.brand-n em{font-style:normal;font-weight:500;color:var(--ink-2)}
.brand:hover{color:var(--ink)}
.brand:hover .brand-n em{color:var(--brand)}
.nav{display:none}
.nav a.nl{position:relative;display:inline-flex;align-items:center;min-block-size:48px;padding-inline:12px;font-size:.9688rem;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap}
.nav a.nl:hover{color:var(--brand)}
.nav a.nl[aria-current]{color:var(--brand)}
.nav a.nl[aria-current]::after{content:"";position:absolute;inset-inline:12px;inset-block-end:-10px;block-size:3px;background:var(--brand)}
.has-mega{position:static;display:flex;align-items:center}
.has-mega>a.nl{padding-inline-end:2px}
.has-mega>a.nl[aria-current]::after{inset-inline-end:2px}
.mega-btn{display:inline-grid;place-items:center;inline-size:44px;block-size:44px;padding:0;margin-inline-start:-8px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:0}
.mega-btn:hover,.mega-btn[aria-expanded="true"]{color:var(--brand)}
.mega-btn svg{inline-size:16px;block-size:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square}
.mega-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.hd-act{display:flex;align-items:center;gap:var(--s2);margin-inline-start:auto;flex:none}
@media (min-width:1100px){.nav{display:flex;align-items:center;margin-inline-start:auto;flex-wrap:nowrap}.hd-act{margin-inline-start:var(--s3)}.m-menu{display:none}}
@media (max-width:1279.98px) and (min-width:1100px){.nav a.nl{padding-inline:9px}.hd{gap:var(--s3)}}
@media (max-width:519.98px){.hd-cta{display:none}}
@media (max-width:359.98px){.brand-n{font-size:1.1875rem}.brand-mark{inline-size:30px;block-size:30px}}
/* mega panel */
.mega{display:none;position:absolute;inset-inline:0;inset-block-start:100%;z-index:2;max-block-size:calc(100svh - 72px);overflow-y:auto;overscroll-behavior:contain;background:var(--card);color:var(--ink);border-block:1px solid var(--ink)}
.has-mega.is-open>.mega{display:block}
html:not(.js) .has-mega:hover>.mega,html:not(.js) .has-mega:focus-within>.mega{display:block}
.mega-in{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr) minmax(0,290px);gap:var(--s6);inline-size:100%;max-inline-size:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding:var(--s6) var(--gutter) var(--s7)}
.mega-in--wide{grid-template-columns:minmax(0,2.6fr) minmax(0,.9fr) minmax(0,270px)}
.mega-h{font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink);line-height:1.4;padding-block-end:var(--s2);margin-block-end:var(--s2);border-block-end:2px solid var(--ink)}
.mega-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s5)}
.mega-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mega-case{display:flex;align-items:center;gap:var(--s4);min-block-size:84px;padding-block:var(--s2);border-block-end:1px solid var(--rule);text-decoration:none;color:var(--ink);white-space:normal}
.mega-th{flex:none;inline-size:64px;block-size:64px;background:var(--paper-2);overflow:hidden}
.mega-th picture,.mega-th img{inline-size:64px;block-size:64px;object-fit:cover}
.mega-case>span:last-child{display:grid;gap:2px;line-height:1.3;min-inline-size:0}
.mega-case b{font-family:var(--f-display);font-weight:700;font-size:1.0625rem;letter-spacing:-.015em}
.mega-case small{font-size:var(--t-label);color:var(--muted);font-weight:400;line-height:1.4}
.mega-case:hover,.mega-case:hover b,.mega-case:focus-visible b,.mega-case[aria-current] b{color:var(--brand)}
.mega-case[aria-current] b{text-decoration:underline;text-underline-offset:.2em}
.mega-list{list-style:none;margin:0;padding:0}
.mega-list a{display:flex;align-items:center;min-block-size:52px;padding-block:var(--s2);border-block-end:1px solid var(--rule);color:var(--ink);text-decoration:none;line-height:1.3;white-space:normal;font-weight:500}
.mega-list a:hover,.mega-list a[aria-current]{color:var(--brand)}
.mega-in a:focus-visible{outline-offset:-3px}
.mega-feat{white-space:normal;display:grid;align-content:start;justify-items:start;gap:var(--s2);padding:var(--s4) var(--s4) var(--s5);background:var(--navy);color:var(--on-navy);text-decoration:none}
.mega-fi{display:block;inline-size:100%;margin-block-end:var(--s2);aspect-ratio:3/2;overflow:hidden;background:var(--navy-2)}
.mega-fi picture,.mega-fi img{inline-size:100%;block-size:100%;object-fit:cover}
.mega-fk{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--coral-lt)}
.mega-feat b{font-family:var(--f-display);font-weight:700;font-size:1.375rem;line-height:1.1;letter-spacing:-.02em;color:#fff}
.mega-feat>span{color:var(--on-navy)}
.mega-fcta{margin-block-start:var(--s2);display:inline-flex;align-items:center;min-block-size:44px;padding-inline:var(--s4);background:var(--brand);color:#fff!important;font-weight:600;font-size:.9375rem}
.mega-feat:hover,.mega-feat:focus-visible{background:var(--navy-2);color:#fff}
.mega-feat:hover .mega-fcta{background:var(--brand-deep)}
.mega-feat:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}
@media (max-width:1279.98px){.mega-in{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,230px);gap:var(--s5)}.mega-in--wide{grid-template-columns:minmax(0,2.6fr) minmax(0,.9fr) minmax(0,220px)}.mega-feat b{font-size:1.1875rem}.mega-case{gap:var(--s3)}.mega-case b{font-size:1rem}.mega-in--wide .mega-th,.mega-in--wide .mega-th picture,.mega-in--wide .mega-th img{inline-size:52px;block-size:52px}}
@media (max-height:760px){.mega-in{padding-block:var(--s4) var(--s5)}.mega-case{min-block-size:68px}.mega-th,.mega-th picture,.mega-th img{inline-size:52px;block-size:52px}.mega-fi{display:none}}
/* drawer */
.m-menu{position:static}
.m-menu>summary{list-style:none;cursor:pointer}
.m-menu>summary::-webkit-details-marker{display:none}
.m-menu .i-close{display:none}
.m-menu[open] .i-close{display:block}.m-menu[open] .i-open{display:none}
.m-menu[open]>summary{background:var(--ink);color:#fff}
.m-panel{position:absolute;inset-inline:0;inset-block-start:100%;z-index:3;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;column-gap:var(--s6);block-size:calc(100svh - 68px);max-block-size:calc(100svh - 68px);overflow-y:auto;overscroll-behavior:contain;background:var(--card);color:var(--ink);border-block:1px solid var(--ink);padding:var(--s2) var(--gutter) var(--s6)}
.m-h{font-size:var(--t-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-block:var(--s5) var(--s1)}
.m-panel a:not(.btn){display:flex;align-items:center;min-block-size:52px;padding-block:var(--s2);border-block-end:1px solid var(--rule);text-decoration:none;font-family:var(--f-display);font-weight:700;font-size:1.1875rem;letter-spacing:-.015em;color:var(--ink)}
.m-panel a.sub{font-family:var(--f-text);font-weight:400;font-size:1.0625rem;letter-spacing:0;min-block-size:48px;color:var(--ink-2)}
.m-panel a:not(.btn):hover,.m-panel a[aria-current]:not(.btn){color:var(--brand)}
.m-panel a[aria-current]{text-decoration:underline;text-underline-offset:.3em}
.m-cta{margin-block-start:var(--s5);inline-size:100%}
@media (min-width:640px){.m-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- cards ---------- */
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--s7) var(--s5)}
.cc{display:grid;align-content:start;grid-template-rows:auto 1fr;background:transparent;border-block-start:2px solid var(--ink)}
.cc-media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--paper-2);margin-block-start:var(--s4)}
.cc-media picture,.cc-media img{inline-size:100%;block-size:100%;object-fit:cover}
.cc-b{display:grid;align-content:start;gap:var(--s2);padding-block-start:var(--s4)}
.cc-t{font-size:1.375rem;line-height:1.12}
.cc-t a{display:inline-block;padding-block:9px;text-decoration:none}
.cc-t a:hover{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--brand);color:var(--ink)}
.cc-metric{display:flex;align-items:baseline;gap:var(--s3);padding-block:var(--s3);border-block:1px solid var(--rule)}
.cc-metric strong{font-family:var(--f-display);font-size:1.75rem;font-weight:700;color:var(--brand);letter-spacing:-.02em;line-height:1}
.cc-metric span{font-size:var(--t-small);color:var(--ink-2);line-height:1.35}
.cc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);margin-block-start:var(--s1)}
.nc{display:grid;align-content:start;gap:var(--s4)}
.nc-media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--paper-2)}
.nc-media picture,.nc-media img{inline-size:100%;block-size:100%;object-fit:cover}
.nc-b{display:grid;gap:var(--s2);align-content:start}
.nc-t{font-size:1.5rem;line-height:1.1}
.nc-t a{display:inline-block;padding-block:9px;text-decoration:none}
.nc-t a:hover{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--brand);color:var(--ink)}
.nc-b>p:last-child{color:var(--ink-2)}
.rv{margin:0;display:grid;gap:var(--s4);align-content:start;border-block-start:2px solid var(--brand);padding-block-start:var(--s5)}
.rv blockquote{margin:0}
.rv blockquote p{font-family:var(--f-display);font-size:1.25rem;line-height:1.3;font-weight:600;letter-spacing:-.015em}
.rv blockquote p::before{content:"“"}.rv blockquote p::after{content:"”"}
.rv figcaption{font-size:var(--t-small);color:var(--muted)}
.rv-n{font-weight:600;color:var(--ink)}
.wm-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));border-block-start:1px solid var(--rule);border-inline-start:1px solid var(--rule);margin-block-start:var(--s4)}
.wm-grid li{display:grid;place-items:center;min-block-size:88px;padding:var(--s4);border-block-end:1px solid var(--rule);border-inline-end:1px solid var(--rule)}
.wm{inline-size:100%;max-inline-size:150px;block-size:auto;color:var(--ink-2)}
.rel-list{list-style:none;padding:0;border-block-start:2px solid var(--ink)}
.rel-list li{border-block-end:1px solid var(--rule)}
.rel-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s1) var(--s4);padding-block:var(--s4);text-decoration:none;color:var(--ink)}
.rel-list .meta{grid-column:1}
.rel-list strong{grid-column:1;font-family:var(--f-display);font-size:1.25rem;font-weight:700;line-height:1.2;letter-spacing:-.015em}
.rel-list .i-arrow{grid-column:2;grid-row:1/span 3;inline-size:24px;block-size:24px;color:var(--brand)}
.rel-list a:hover strong{color:var(--brand);text-decoration:underline;text-decoration-thickness:2px}
@media (min-width:900px){.rel-list a{grid-template-columns:minmax(0,200px) minmax(0,1fr) minmax(0,240px) auto}.rel-list .meta,.rel-list strong{grid-column:auto}.rel-list .i-arrow{grid-column:4;grid-row:1}}
/* photos: crisp, square; .img-fade only on hero/primary images */
.ph{margin:0;min-inline-size:0}
.ph picture,.ph img{inline-size:100%;block-size:auto}
.ph figcaption{font-size:var(--t-label);line-height:1.45;color:var(--muted);margin-block-start:var(--s2)}
.ph figcaption a{color:var(--muted)}
.band-dark .ph figcaption,.band-dark .ph figcaption a{color:var(--on-navy-2)}
.img-fade{-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 80%,transparent 100%)}
/* ledgers + definition cards */
.ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin:0;border-block:2px solid var(--ink)}
.ledger>div{padding:var(--s4) var(--s4) var(--s4) 0;border-block-end:1px solid var(--rule)}
.ledger dt{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.ledger dd{margin:var(--s1) 0 0;font-weight:500;line-height:1.4}
@media (min-width:900px){.ledger>div{border-block-end:0;border-inline-end:1px solid var(--rule);padding-inline:var(--s4)}.ledger>div:first-child{padding-inline-start:0}.ledger>div:last-child{border-inline-end:0}}
.dl-card{margin:0;display:grid;border-block-start:2px solid var(--ink)}
.dl-card>div{display:grid;gap:2px;padding-block:var(--s3);border-block-end:1px solid var(--rule)}
.dl-card dt{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.dl-card dd{margin:0;font-weight:500}
/* CTA band */
.cta-band{padding-block:clamp(56px,7vw,96px)}
.cta-g{display:grid;gap:var(--s6);align-items:end}
.cta-g h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.5rem)}
@media (min-width:900px){.cta-g{grid-template-columns:minmax(0,1fr) auto}}
/* tables */
table{border-collapse:collapse;inline-size:100%;font-size:1rem}
th,td{text-align:start;vertical-align:top;padding:14px 16px;border-block-end:1px solid var(--rule)}
thead th{font-size:var(--t-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-block-end:2px solid var(--ink);color:var(--ink)}
tbody th{font-family:var(--f-display);font-weight:700;letter-spacing:-.01em}

/* ---------- forms kit (native controls) ---------- */
.form{display:grid;gap:var(--s5);align-content:start;min-inline-size:0}
.form-grid{display:grid;gap:var(--s4)}
@media (min-width:640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}}
.field{display:grid;gap:6px;min-inline-size:0;align-content:start}
.field label,.field-label,legend{font-size:.9375rem;font-weight:600;color:var(--ink)}
.hint{font-size:var(--t-label);color:var(--muted);margin:0}
.field-error{font-size:var(--t-label);color:var(--err);font-weight:600;margin:0}
.field-error:empty{display:none}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--muted);border-radius:0;min-block-size:48px;padding:10px 12px;inline-size:100%;max-inline-size:100%}
textarea{min-block-size:132px;resize:vertical;line-height:1.5}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23121A33' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-inline-end:40px}
input:hover,select:hover,textarea:hover{border-color:var(--ink)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:0;border-color:var(--ink)}
.invalid,input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--err);border-width:2px}
.valid{border-color:var(--ok);border-width:2px}
input:disabled,select:disabled,textarea:disabled{background:var(--paper-2);color:var(--muted);border-color:var(--rule-2);cursor:not-allowed}
input[readonly]{background:var(--paper-2)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input[type=checkbox],input[type=radio]{inline-size:22px;block-size:22px;min-block-size:0;padding:0;margin:0;accent-color:var(--ink);flex:none}
input[type=range]{padding:0;border:0;background:transparent;accent-color:var(--brand)}
fieldset{border:0;padding:0;margin:0;min-inline-size:0;display:grid;gap:var(--s3)}
legend{padding:0;margin-block-end:var(--s2)}
.check{display:flex;align-items:center;gap:var(--s3);min-block-size:44px;font-size:1rem;cursor:pointer}
.checks,.radios{display:flex;flex-wrap:wrap;gap:0 var(--s5)}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:var(--s2);align-items:stretch}.choice-grid>.choice{align-self:stretch}
.choice{position:relative;display:block;cursor:pointer}
.choice input{position:absolute;inset-block-start:16px;inset-inline-start:14px}
.choice-b{display:grid;gap:2px;min-block-size:64px;align-content:center;padding:12px 14px 12px 48px;border:1px solid var(--rule-2);background:var(--card);line-height:1.3}
.choice-b b{font-weight:600}
.choice-b small{font-size:var(--t-label);color:var(--muted)}
.choice:hover .choice-b{border-color:var(--ink)}
.choice input:checked+.choice-b{border:2px solid var(--ink);padding:11px 13px 11px 47px;background:#fff}
.choice input.invalid+.choice-b{border-color:var(--err)}
.choice--chip .choice-b{min-block-size:48px}
.form-actions{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}
.form-status{font-size:.9375rem;color:var(--ok);font-weight:600}
.form-status:empty{display:none}
.form-status.is-err{color:var(--err)}
.form--dark label{color:var(--on-navy)}
.form--dark input{border-color:var(--on-navy-2)}
.form--dark .form-status{color:#9FD8B2}
.form--dark .form-status.is-err{color:var(--coral-lt)}
.saved{margin-block-start:var(--s7)}
.saved .sec-head{margin-block-end:var(--s4);padding-block-end:var(--s3)}
.saved .sec-head h2{font-size:1.5rem}
.saved-list{display:grid;gap:var(--s3)}
.saved-list article{background:var(--card);border:1px solid var(--rule);padding:var(--s4);line-height:1.5}
.saved-list article p{margin-block-start:var(--s2);color:var(--ink-2)}

/* ---------- footer (tight) ---------- */
.site-footer{background:var(--navy);color:var(--on-navy);font-size:.9375rem}
.f-grid{display:grid;gap:var(--s5);padding-block:var(--s7) var(--s5)}
.brand--foot{color:var(--on-navy)}
.brand--foot:hover{color:#fff}
.brand--foot .brand-mark{color:var(--coral-lt)}
.brand--foot .brand-n em{color:var(--on-navy-2)}
.f-about p{margin-block-start:var(--s3);color:var(--on-navy-2);max-inline-size:40ch;line-height:1.5}
.f-col h2{font-family:var(--f-text);font-size:var(--t-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-lt);margin-block-end:var(--s2)}
.f-col address{font-style:normal;color:var(--on-navy);line-height:1.55}
.f-col p{margin-block-start:var(--s2)}
.f-col p a{display:inline-flex;align-items:center;min-block-size:44px;color:var(--on-navy)}
.f-col ul{list-style:none;padding:0;display:grid}
.f-col li a{display:flex;align-items:center;min-block-size:44px;color:var(--on-navy);text-decoration:none;line-height:1.3}
.f-two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s4)}
.f-col a:hover,.f-bar a:hover{color:#fff;text-decoration:underline}
@media (min-width:700px){.f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.f-grid{grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:var(--s6)}}
.f-bar{border-block-start:1px solid var(--line-navy);padding-block:var(--s2)}
.f-bar .wrap{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s5);align-items:center;justify-content:space-between}
.f-bar p{color:var(--on-navy-2);font-size:var(--t-label);line-height:1.5;max-inline-size:80ch}
.f-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s4)}
.f-links span{color:var(--on-navy-2)}
.f-bar a{display:inline-flex;align-items:center;min-block-size:44px;color:var(--on-navy);font-size:var(--t-label)}
.site-footer :focus-visible{outline-color:var(--coral-lt)}
@media print{.site-header,.site-footer,.skip-link,.js-only{display:none!important}body{background:#fff}}
/* QA fixes */
.cc-t a{min-block-size:48px}
.btn--light{background:transparent;border-color:#fff;color:#fff}
.btn--light:hover{background:#fff;border-color:#fff;color:var(--ink)}
/* zip-QA: inline links in captions and running text get a 44px target */
.ph figcaption a,.cr-more p a{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;min-inline-size:44px;vertical-align:middle;margin-block:-12px}
/* strict tap (keyhouse tap-all): labels of text fields are targets too -> 44px tall, text kept next to its field */
.field > label:not(.choice){display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:.3em;min-block-size:44px}
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
