/* Liminal — main stylesheet. Tokens mirror theme.json. Grounds: .g-ink .g-white .g-paper .g-deep */
@font-face{font-family:"Atkinson Hyperlegible";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/AtkinsonHyperlegible-Regular.woff2") format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/AtkinsonHyperlegible-Bold.woff2") format("woff2")}

:root{
  --btn:#FE6219; --btn-ink:#FFFFFF; --btn-hover:#094058; --btn-hover-ink:#FFFFFF;
  --paper:#F4F1EC; --ink:#021C25; --deep:#094058; --mid:#106C77; --mint:#25CAB6; --mint2:#1A9996;
  --ease-in:cubic-bezier(0.16,1,0.3,1); --ease-mid:cubic-bezier(0.65,0,0.35,1);
}
/* B8: the Spectra (UAG) plugin ships its own global colour tokens and gradient presets outside theme.json;
   override them to the ramp so nothing purple or off-brand is available if an editor reaches for them. */
:root{
  --spectra-info:var(--deep); --spectra-secondary:var(--mid);
  --wp--preset--color--luminous-vivid-orange:#FE6219;
  --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple:var(--deep);
  --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan:var(--mint);
  --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange:var(--deep);
  --wp--preset--gradient--cool-to-warm-spectrum:var(--deep);
}
/* Two grounds; every section picks one via .g-paper / .g-ink. The mood switch just remaps which sections are which. */
.g-paper{background:var(--paper);color:var(--ink);--bg:#F4F1EC;--fg:#021C25;--fg2:#094058;--muted:#5C6D74;--hair:rgba(2,28,37,.16);--dot:#094058;--accent:#094058;--accent-ink:#F4F1EC;--field:#ECE7DF;--panel:#FFFFFF00}
.g-ink{background:var(--ink);color:var(--paper);--bg:#021C25;--fg:#F4F1EC;--fg2:#CFE3EA;--muted:#7E9199;--hair:rgba(244,241,236,.18);--dot:#25CAB6;--accent:#25CAB6;--accent-ink:#021C25;--field:#062731}
.g-white{background:#FFFFFF;color:var(--ink);--bg:#FFFFFF;--fg:#021C25;--fg2:#094058;--muted:#5C6D74;--hair:rgba(2,28,37,.14);--dot:#094058;--accent:#094058;--accent-ink:#FFFFFF;--field:#EEF3F4}
.g-mint{background:var(--mint);color:var(--ink);--bg:#25CAB6;--fg:#021C25;--fg2:#021C25;--muted:#0B3A44;--hair:rgba(2,28,37,.25);--dot:#021C25;--accent:#021C25;--accent-ink:#25CAB6;--field:#5FDACB}
.g-deep{background:var(--deep);color:var(--paper);--bg:#094058;--fg:#F4F1EC;--fg2:#F4F1EC;--muted:#B9CDD6;--hair:rgba(244,241,236,.22);--dot:#25CAB6;--accent:#F4F1EC;--accent-ink:#094058;--field:#0E5170}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html.reduce{scroll-behavior:auto}
body{margin:0;background:var(--ink);color:var(--paper);font-family:"Atkinson Hyperlegible",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:18px;line-height:1.65;overflow-x:hidden;transition:background 600ms var(--ease-mid)}
html.th-light body{background:#F4F1EC;color:#021C25}
html.th-dark body{background:#021C25;color:#F4F1EC}
h1,h2,h3,p{margin:0}
h1,h2,h3{text-wrap:balance}
h1,h2,h3{text-wrap:balance;line-height:1;letter-spacing:-0.02em;font-weight:700}
a{color:inherit}
section,header,footer{transition:background 600ms var(--ease-mid),color 600ms var(--ease-mid)}
.gutter{padding-inline:clamp(20px,5vw,72px)}
.dotc{color:var(--dot)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.grain{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* header (prototype) */
.wordmark{font-weight:700;font-size:20px;letter-spacing:.005em;text-decoration:none;white-space:nowrap}
.wordmark .dotc{display:inline-block;animation:breathe 4s var(--ease-mid) infinite}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
nav{display:flex;gap:18px;font-size:15px;white-space:nowrap}
nav a{text-decoration:none;position:relative}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--dot);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-in)}
nav a:hover::after{transform:scaleX(1)}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;padding:12px 18px;border-radius:6px;transition:transform 160ms var(--ease-in);white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.tog{font-size:15px;color:var(--muted);background:none;border:1px solid var(--hair);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:inherit;color:inherit}
.tog[aria-pressed="true"]{border-color:var(--dot)}


/* hero */
.hero{position:relative;padding-block:clamp(24px,5vw,64px) clamp(40px,6vw,80px);overflow:hidden}
.hero .fields{position:absolute;inset:-10% -10% -10% 30%;pointer-events:none;z-index:0}
.hero .f{position:absolute;border-radius:50%;opacity:.5;will-change:transform;mix-blend-mode:multiply}
.g-ink .hero .f{mix-blend-mode:screen;opacity:.45}
.hero .f1{width:56vmin;height:56vmin;left:10%;top:0;background:var(--mint)}
.hero .f2{width:70vmin;height:70vmin;left:40%;top:10%;background:var(--mint2)}
.hero .f3{width:44vmin;height:44vmin;left:26%;top:48%;background:var(--mid)}
.hero .lines{position:relative;z-index:1;display:flex;flex-direction:column}
.hero .line{font-size:clamp(2.8rem,9.6vw,9.5rem);line-height:.95;letter-spacing:-0.035em;font-weight:700;transform:translateY(50px);animation:rise 1000ms var(--ease-in) forwards}
.hero .line:nth-child(2){animation-delay:160ms}
.hero .line:nth-child(3){animation-delay:320ms}
.hero .stop{display:inline-block;color:var(--dot);transform:scale(.3) translateY(-.6em);transform-origin:50% 80%;animation:land 800ms var(--ease-in) forwards;animation-delay:520ms}
.hero .line:nth-child(2) .stop{animation-delay:680ms}
.hero .line:nth-child(3) .stop{animation-delay:840ms}
@keyframes rise{to{transform:none}}
@keyframes land{to{transform:none}}
.hero .sub{position:relative;z-index:1;margin-top:clamp(28px,4vw,48px);max-width:34ch;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.5;display:grid;gap:14px;transform:translateY(30px);animation:rise 900ms var(--ease-in) forwards;animation-delay:900ms}
.hero .meta{font-size:15px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:700}

/* who: overlap */
.who{padding-block:clamp(56px,8vw,110px);position:relative;overflow:hidden}
.who .grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,72px);align-items:center;position:relative;z-index:1}
.who h2{font-size:clamp(2.2rem,5.5vw,4.6rem)}
.who p{max-width:52ch;font-size:clamp(1.05rem,1.4vw,1.2rem);margin-top:18px}
.who canvas{display:block;width:100%;max-width:100%;aspect-ratio:1/1;border-radius:50%}
.who .cap{font-size:15px;color:var(--muted);margin-top:10px}
@media (max-width:760px){.who .grid{grid-template-columns:1fr}}

/* what: drawings that draw themselves */
.what{padding-block:clamp(56px,8vw,120px)}
.what .lead{font-size:clamp(1.9rem,4vw,3.2rem);max-width:18ch;margin-bottom:clamp(36px,6vw,80px)}
.item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:center;padding-block:clamp(36px,5vw,64px);border-top:1px solid var(--hair)}
.item:nth-child(even){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.item:nth-child(even) .plate{order:2}
.item h3{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:14px}
.item p{max-width:46ch}
.item .more{display:inline-block;margin-top:14px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--dot);transition:transform 200ms var(--ease-in)}
.item .more:hover{transform:translateX(6px)}
.plate{max-width:100%;position:relative}
.plate::before{content:none}
.plate.in::before{transform:none}
.plate svg{position:relative;z-index:1;width:100%;height:auto;max-width:520px;display:block;color:var(--fg)}
.plate circle{fill:#25CAB6!important;stroke:#094058;stroke-width:2}
.plate path,.plate rect{stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 1800ms var(--ease-mid)}
.plate.in path,.plate.in rect{stroke-dashoffset:0}
.plate circle{transform:scale(0);transform-origin:center;transform-box:fill-box;transition:transform 500ms var(--ease-in) 1500ms}
.plate.in circle{transform:none}
.plate figcaption{font-size:15px;color:var(--muted);margin-top:8px}
@media (max-width:760px){.item,.item:nth-child(even){grid-template-columns:1fr}.item:nth-child(even) .plate{order:0}.plate svg{max-width:360px}}

/* statement */
.state{padding-block:clamp(48px,7vw,96px);overflow:hidden;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.state .big{font-size:clamp(2.4rem,8vw,7.5rem);letter-spacing:-0.035em;line-height:1;max-width:12ch}
.state .track{white-space:nowrap;font-size:clamp(3rem,12vw,12rem);font-weight:700;letter-spacing:-0.035em;line-height:1;will-change:transform}
.state .track span{display:inline-block;padding-right:.35em}
.g-mint .dotc{color:#094058}

/* facts */
.facts{padding-block:clamp(56px,8vw,120px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(24px,5vw,72px)}
.facts h2{font-size:clamp(1.9rem,4vw,3.2rem);max-width:14ch}
.facts .note{color:var(--muted);font-size:16px;margin-top:16px;max-width:40ch}
.tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{text-align:left;padding:14px 0;border-top:1px solid var(--hair);vertical-align:top}
.tbl th{font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;border-top:0}
.tbl td:last-child,.tbl th:last-child{text-align:right}
.tbl .sub{color:var(--muted);font-size:15px;display:block}
.tbl tr{transform:translateX(-12px);transition:transform 500ms var(--ease-in)}
.tbl.in tr{transform:none}
.tbl.in tr:nth-child(2){transition-delay:60ms}.tbl.in tr:nth-child(3){transition-delay:120ms}.tbl.in tr:nth-child(4){transition-delay:180ms}.tbl.in tr:nth-child(5){transition-delay:240ms}.tbl.in tr:nth-child(6){transition-delay:300ms}
@media (max-width:760px){.facts{grid-template-columns:1fr}}

/* people */
.people{padding-block:clamp(48px,7vw,100px)}
.people .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(20px,4vw,56px)}
.people h2{font-size:clamp(1.9rem,4vw,3.2rem);margin-bottom:clamp(28px,4vw,48px)}
.person{position:relative;padding-left:26px}
.person::before{content:"";position:absolute;left:0;top:10px;width:12px;height:12px;border-radius:50%;background:var(--dot);transform:scale(0);transition:transform 500ms var(--ease-in) 300ms}
.person.in::before{transform:none}
.person h3{font-size:1.35rem;margin-bottom:6px}
.person .role{color:var(--muted);font-size:15px;margin-bottom:10px}
.person p{font-size:16px;max-width:36ch}

/* close */
.close{padding-block:clamp(56px,9vw,120px);position:relative;overflow:hidden}
.close .blob{position:absolute;right:-8%;top:-30%;width:64vmin;height:64vmin;border-radius:50%;background:var(--mint);opacity:.3;mix-blend-mode:multiply;will-change:transform}
.g-ink .close .blob{mix-blend-mode:screen;opacity:.35}
.site-main .close h2{position:relative;font-size:clamp(3rem,9.5vw,9rem);line-height:.95;letter-spacing:-0.035em;max-width:11ch;margin:0}
.close .cta{position:relative;margin-top:clamp(28px,4vw,48px);display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.close .quiet{color:var(--muted);font-size:16px}
footer{border-top:1px solid var(--hair);padding-block:32px 48px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;font-size:15px;color:var(--muted)}
footer .wordmark{color:var(--fg);font-size:18px}
footer p{max-width:44ch}

/* reveals — transform only */
.rv{transform:translateY(32px);transition:transform 900ms var(--ease-in)}
.rv.in{transform:none}
.mood-note{position:fixed;right:16px;bottom:16px;z-index:20;background:var(--ink);color:var(--paper);font-size:15px;padding:8px 12px;border-radius:6px;max-width:260px;box-shadow:0 6px 24px rgba(2,28,37,.25)}
@media (prefers-reduced-motion:reduce){
  .hero .line,.hero .stop,.hero .sub,.wordmark .dotc{animation:none;transform:none}
  .rv,.plate::before,.plate path,.plate rect,.plate circle,.tbl tr,.person::before{transform:none;transition:none;stroke-dashoffset:0}
}
html.reduce .hero .line,html.reduce .hero .stop,html.reduce .hero .sub,html.reduce .wordmark .dotc{animation:none;transform:none}
html.reduce .rv,html.reduce .plate::before,html.reduce .plate path,html.reduce .plate rect,html.reduce .plate circle,html.reduce .tbl tr,html.reduce .person::before{transform:none;transition:none;stroke-dashoffset:0}

.progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--mint);transform:scaleX(0);transform-origin:left;z-index:30}
.cursor{position:fixed;left:0;top:0;width:14px;height:14px;border-radius:50%;background:#25CAB6;pointer-events:none;z-index:40;transform:translate(-50%,-50%) scale(0);transition:transform 260ms var(--ease-in);mix-blend-mode:difference}
body.has-cursor .cursor{transform:translate(-50%,-50%) scale(1)}
body.has-cursor a:hover ~ .cursor{transform:translate(-50%,-50%) scale(2.4)}
.w{display:inline-block;transform:translateY(110%);transition:transform 700ms var(--ease-in)}
.in .w{transform:none}
.wm{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.05em 0 .22em;margin-bottom:-.22em}
.facts .tbl{color:var(--fg)}
html.reduce .w,html.reduce .cursor{transform:none;transition:none}
@media (prefers-reduced-motion:reduce){.w{transform:none;transition:none}.cursor{display:none}}
@media (hover:none){.cursor{display:none}}

/* hero lines: tap/hover to expand */
.hero .line{position:relative}
.hero .line .x{display:block;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:400;letter-spacing:0;line-height:1.4;color:var(--muted);max-width:40ch;max-height:0;overflow:hidden;transform:translateY(-6px);transition:max-height 500ms var(--ease-in),transform 500ms var(--ease-in),margin 500ms var(--ease-in);margin:0}
.hero .line.open .x{max-height:6em;transform:none;margin:.15em 0 .35em}
.hero .line .stop{transition:transform 300ms var(--ease-in)}
.hero .line:hover .stop{transform:scale(1.25)}
.hero .hint{position:relative;z-index:1;font-size:15px;color:var(--muted);margin-top:14px}
/* velocity skew on big type */
.skew{transition:transform 200ms var(--ease-in)}
/* magnetic buttons */
.btn{transition:transform 260ms var(--ease-in)}
/* overlap: add-your-own */
.addform{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.addform input{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--hair);border-radius:6px;background:transparent;color:inherit;min-width:0;flex:1 1 180px}
.addform button{font:inherit;font-weight:700;padding:10px 14px;border-radius:6px;border:1px solid var(--dot);background:transparent;color:inherit;cursor:pointer;transition:transform 160ms var(--ease-in)}
.addform button:active{transform:scale(.96)}
.who canvas{cursor:crosshair;touch-action:none}
/* services: need chips */
.needs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,4vw,40px)}
.chip{font:inherit;font-size:15px;padding:8px 14px;border-radius:999px;border:1px solid var(--hair);background:transparent;color:inherit;cursor:pointer;transition:transform 160ms var(--ease-in),background 200ms}
.chip[aria-pressed="true"]{background:var(--fg);color:var(--accent-ink)}
.g-paper .chip[aria-pressed="true"]{background:#021C25;color:#F4F1EC}
.g-deep .chip[aria-pressed="true"]{background:#F4F1EC;color:#094058}
.chip:active{transform:scale(.96)}
.item{transition:transform 500ms var(--ease-in),opacity 300ms}
.item.dim{transform:scale(.985)}
.item.dim h3,.item.dim p,.item.dim .more,.item.dim figure{filter:saturate(.4)}
.item.lit{transform:scale(1.01)}
.item .tag{display:inline-block;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}
/* drawing hand toggle */
.hand{display:flex;gap:6px;align-items:center;font-size:15px;color:var(--muted);margin-bottom:12px}
.hand button{font:inherit;font-size:15px;padding:5px 10px;border-radius:999px;border:1px solid var(--hair);background:transparent;color:inherit;cursor:pointer}
.hand button[aria-pressed="true"]{background:var(--fg);color:var(--paper)}
.g-paper .hand button[aria-pressed="true"]{background:#021C25;color:#F4F1EC}
.rough .plate svg{filter:url(#rough)}
.rough .plate path,.rough .plate rect{stroke-width:2.6}
.rough .plate svg{transform:rotate(-.6deg)}
.rough .plate:nth-of-type(odd) svg{transform:rotate(.5deg)}
.plate svg{transition:transform 400ms var(--ease-in)}
.plate:hover svg{transform:rotate(1.2deg) scale(1.02)}
/* statement: draggable */
.state .hint{font-size:15px;color:var(--muted);padding-inline:clamp(20px,5vw,72px);margin-top:16px}
/* fees: out-of-pocket calculator */
.calc{margin-top:22px;border:1px solid var(--hair);border-radius:10px;padding:16px 18px}
.calc .row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.calc label{font-size:15px;color:var(--muted);display:block;margin-bottom:6px}
.calc .out{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.calc .sub{font-size:15px;color:var(--muted)}
.tbl tr{cursor:pointer}
.tbl tr.sel td{color:var(--dot)}
.tbl tr:hover td{transform:translateX(4px);transition:transform 200ms var(--ease-in)}
.tbl td{transition:transform 200ms var(--ease-in)}
/* people: hover reveal */
.person .how{max-height:0;overflow:hidden;transition:max-height 500ms var(--ease-in);font-size:15px;color:var(--muted);margin-top:0}
.person:hover .how,.person:focus-within .how,.person.open .how{max-height:8em;margin-top:8px}
.person{cursor:pointer}
/* close: not-ready path */
.notready{margin-top:18px}
.notready summary{cursor:pointer;color:var(--muted);font-size:16px;list-style:none;display:inline-block;border-bottom:1px solid var(--hair)}
.notready summary::-webkit-details-marker{display:none}
.notready ul{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.notready li a{display:inline-block;padding:8px 12px;border:1px solid var(--hair);border-radius:6px;text-decoration:none;font-size:15px;transition:transform 160ms var(--ease-in)}
.notready li a:hover{transform:translateY(-2px)}
@property --p{syntax:'<percentage>';inherits:false;initial-value:0%}
.wd{white-space:nowrap;display:inline}
.hov .c,.hero .line .c{display:inline-block;--p:0%;background-image:linear-gradient(to bottom,var(--hl) var(--p),currentColor var(--p));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:--p 320ms var(--ease-in)}
.hov .c.lit,.hero .line .c.lit{--p:100%}
@supports not (background-clip:text){.hov .c,.hero .line .c{background:none;-webkit-text-fill-color:currentColor;transition:color 260ms}.hov .c.lit,.hero .line .c.lit{color:var(--hl)}}
.hov{--hl:#25CAB6}
.g-white .hov,.g-paper .hov{--hl:#094058}
.hero .line{--hl:#25CAB6}

/* hyperlinks in a distinct colour per ground */
.g-paper a:not(.btn):not(.wordmark),.g-white a:not(.btn):not(.wordmark){color:#106C77}
.g-ink a:not(.btn):not(.wordmark),.g-deep a:not(.btn):not(.wordmark){color:#25CAB6}
.g-ink nav a,.g-deep nav a{color:#F4F1EC}
.g-paper nav a,.g-white nav a{color:#021C25}
.item .more{border-bottom-color:currentColor}
.notready li a{color:inherit}

.idmap .prompts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.idmap .prompts .chip{font-size:15px;padding:6px 12px}
.idmap .prompts .lab{font-size:15px;color:var(--muted);align-self:center;width:100%}
.keep{margin-top:16px}
.keep #keepform{margin-top:14px;border:1px solid var(--hair);border-radius:10px;padding:16px 18px;display:grid;gap:12px}
.kf-lead{font-size:15px;color:var(--muted)}
.kf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#keepform label{display:grid;gap:6px;font-size:15px;color:var(--muted)}
#keepform input:not([type=checkbox]),#keepform select{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--hair);border-radius:6px;background:transparent;color:inherit;min-width:0}
.kf-check{display:flex!important;gap:10px;align-items:flex-start;color:inherit!important;font-size:15px!important}
.kf-check input{margin-top:4px}
.kf-note{font-size:15px;color:var(--muted)}
@media (max-width:560px){.kf-row{grid-template-columns:1fr}}
.person .head{width:128px;height:128px;border-radius:50%;border:3px solid var(--dot);display:grid;place-items:center;margin-bottom:14px;font-weight:700;color:var(--muted);background:var(--field);position:relative;overflow:hidden}
.person .head img{width:100%;height:100%;object-fit:cover;display:block}
.person .head:not(:has(img))::after{content:"photo";position:absolute;bottom:8px;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.person{padding-left:0}
.person::before{display:none}
/* 7. buttons: text colour follows --accent-ink per ground (WCAG AA contrast), invert on hover */
.btn{font-size:18px;color:var(--accent-ink);transition:transform 260ms var(--ease-in),background 220ms var(--ease-in),color 220ms var(--ease-in)}
.btn:hover,.btn:focus-visible{background:var(--btn-hover);color:var(--btn-hover-ink)}

/* pointer options */
.ptr-pick{position:fixed;left:16px;bottom:16px;z-index:50;display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:15px;color:#F4F1EC;background:#021C25;border:1px solid rgba(244,241,236,.2);border-radius:999px;padding:6px 10px;box-shadow:0 6px 24px rgba(2,28,37,.3)}
.ptr-pick button{font:inherit;font-size:15px;padding:4px 10px;border-radius:999px;border:1px solid rgba(244,241,236,.25);background:transparent;color:#F4F1EC;cursor:pointer}
.ptr-pick button[aria-pressed="true"]{background:#25CAB6;color:#021C25;border-color:#25CAB6}
@media (max-width:1180px){.ptr-pick{display:none}}
html.ptr-dot,html.ptr-ring,html.ptr-stop,html.ptr-invert{cursor:none}
html.ptr-dot *,html.ptr-ring *,html.ptr-stop *,html.ptr-invert *{cursor:none!important}
#ptr{position:fixed;left:0;top:0;pointer-events:none;z-index:60;transform:translate(-50%,-50%);display:none;will-change:transform,left,top}
html.ptr-dot #ptr{display:block;width:14px;height:14px;border-radius:50%;background:#25CAB6;transition:width 200ms var(--ease-in),height 200ms var(--ease-in)}
html.ptr-dot #ptr.on{width:28px;height:28px;background:#25CAB6}
html.ptr-dot #ptr.inv{background:#F4F1EC;mix-blend-mode:difference}
html.ptr-ring #ptr{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #25CAB6;transition:width 220ms var(--ease-in),height 220ms var(--ease-in),border-color 200ms}
html.ptr-ring #ptr::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#25CAB6}
html.ptr-ring #ptr.on{width:54px;height:54px;border-color:#25CAB6}
html.ptr-stop #ptr{display:block;width:22px;height:22px;border-radius:50%;background:#094058;box-shadow:0 0 0 3px #F4F1EC;transition:transform 200ms var(--ease-in),background 200ms}
html.ptr-stop #ptr.on{transform:translate(-50%,-50%) scale(1.6);background:#25CAB6}
html.ptr-invert #ptr{display:block;width:40px;height:40px;border-radius:50%;background:#F4F1EC;mix-blend-mode:difference;transition:width 220ms var(--ease-in),height 220ms var(--ease-in)}
html.ptr-invert #ptr.on{width:80px;height:80px}
@media (hover:none){#ptr{display:none!important}html[class*=ptr-],html[class*=ptr-] *{cursor:auto!important}}

/* ---- WordPress header / footer / templates */
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px;border-bottom:1px solid var(--hair)}
.site-header .wp-block-navigation{font-size:15px}
.site-header .wp-block-navigation a,.site-header .wp-block-navigation-item__content{text-decoration:none;color:#FFFFFF}
.site-header .wp-block-navigation-item__content{position:relative}
.site-header .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--dot);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-in)}
.site-header .wp-block-navigation-item__content:hover::after{transform:scaleX(1)}
.header-actions{display:flex;gap:10px;align-items:center}
.site-footer{padding-block:32px 48px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;font-size:15px;color:var(--muted)}
.footer-grid .wordmark{color:var(--fg);font-size:18px}
.footer-grid p{max-width:44ch;margin:0}
.footer-grid div p{margin-top:10px}
.site-main{min-height:50vh}
.site-main .page-title{font-size:clamp(2.2rem,5.5vw,4.6rem);letter-spacing:-0.03em;margin-bottom:.5em;max-width:16ch}
.site-main .post-meta{color:var(--muted);font-size:15px;margin-bottom:1.5em}
.site-main .entry-content>p,.site-main .entry-content>ul li{max-width:62ch}
.site-main .entry-content>h2,.article .body h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:1.4em 0 .5em}
.site-main .entry-content>h3{font-size:1.35rem;margin:1.2em 0 .4em}
/* editor */
.editor-styles-wrapper{background:#F4F1EC;color:#021C25}


/* ---- 0.2.0: blocks, mobile nav, profiles ---- */
.needs-lead{font-size:15px;color:var(--muted);align-self:center}
.head-blank{display:block;width:100%;aspect-ratio:1;background:var(--mint);opacity:.35;border-radius:50%}
.person .head img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}
.person h3 a{color:inherit;text-decoration:none}
.cta-wrap{display:inline-flex;flex-direction:column;gap:8px}
.cta-wrap .quiet{font-size:15px;color:var(--muted)}
.site-header .cta-wrap .quiet{display:none}
.site-header .btn{white-space:nowrap}

/* Core navigation: burger below 1180px, overlay on ink */
@media (max-width:1180px){
  .site-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
  .site-header .wp-block-navigation__responsive-container-open{display:flex;color:#F4F1EC}
}
@media (min-width:1181px){
  .site-header .wp-block-navigation__responsive-container-open{display:none}
  .site-header .wp-block-navigation__responsive-container{display:block;position:static;background:none}
}
.site-header .wp-block-navigation__responsive-container.is-menu-open{background:#021C25;color:#F4F1EC;padding:clamp(20px,5vw,72px)}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start;gap:0}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:clamp(1.9rem,6vw,3.2rem);font-weight:700;line-height:1.15;color:#F4F1EC;padding:.15em 0}
.site-header .wp-block-navigation__responsive-container-close{color:#F4F1EC}
.site-header .wp-block-navigation__responsive-container-open svg,.site-header .wp-block-navigation__responsive-container-close svg{width:32px;height:32px}

/* Team member profile page */
.profile .profile-head img{border-radius:50%;width:240px;height:240px;object-fit:cover}
.profile .profile-lead{font-size:var(--wp--preset--font-size--lead);max-width:60ch}
.profile .cta-wrap{margin-top:2rem}

/* Editor: server-rendered previews keep their grounds */
.editor-styles-wrapper .liminal-ssr{margin:0}
.editor-styles-wrapper .liminal-ssr>section{pointer-events:none}


/* ---- 0.3.0: inner pages ---- */
.site-main.inner>section,.site-main.article>section{position:relative}
.kicker{font-size:16px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--accent);margin:0 0 18px}
.g-deep .kicker{color:#25CAB6}
.phero{padding-block:clamp(28px,5vw,64px) clamp(40px,6vw,80px);position:relative;overflow:hidden}
.phero h1{font-size:clamp(2.6rem,7vw,6.4rem);line-height:.98;letter-spacing:-.025em;margin:0;max-width:16ch;position:relative}
.phero .lead{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.5;max-width:44ch;margin:28px 0 0;color:var(--fg2)}
.phero .meta{color:var(--muted);font-size:15px;margin-top:20px}
.phero .kicker a{color:inherit;text-decoration:none}
.steps,.cards,.faq,.glance,.prose,.contact,.crisis,.flags,.ack,.gallery{padding-block:clamp(40px,6vw,84px)}
.steps h2,.cards h2,.faq h2,.glance h2,.prose h2,.contact h2,.crisis h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 20px;max-width:18ch}
.intro{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:56ch;color:var(--fg2);margin:0 0 clamp(28px,4vw,48px)}
.grp{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:clamp(28px,4vw,48px) 0 16px;padding-top:16px;border-top:1px solid var(--hair)}
/* steps */
.steps .list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.steps li{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:16px;padding:clamp(22px,3vw,34px) 0;border-top:1px solid var(--hair);align-items:start}
.steps li:last-child{border-bottom:1px solid var(--hair)}
.steps .num{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;color:var(--dot);line-height:1;font-variant-numeric:tabular-nums}
.steps h3{font-size:clamp(1.3rem,2.2vw,1.75rem);margin:0 0 8px;line-height:1.15}
.steps p{margin:0;max-width:62ch;color:var(--fg2)}
.steps .tag{display:inline-block;margin-top:12px;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.steps .after{margin-top:28px;max-width:56ch;color:var(--muted)}
/* cards */
.cards .grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:clamp(16px,2.5vw,28px)}
.card{display:block;padding:clamp(20px,2.5vw,30px);border:1px solid var(--hair);border-radius:10px;text-decoration:none;color:inherit;background:var(--panel);transition:transform 260ms var(--ease-in),border-color 200ms;position:relative}
.g-ink .card,.g-deep .card{background:rgba(244,241,236,.04)}
.card h4,.card h2,.card .ct{font-size:1.25rem;margin:0 0 10px;line-height:1.2;color:var(--fg)}
.card h2 a{color:inherit;text-decoration:none}
.card p{margin:0;color:var(--fg2);font-size:1rem}
.card .more{display:inline-block;margin-top:14px;font-weight:700;color:var(--dot)}
.card .meta{display:block;margin-top:12px;font-size:15px;color:var(--muted)}
a.card:hover{transform:translateY(-4px);border-color:var(--dot)}
@media (max-width:900px){.cards .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cards .grid{grid-template-columns:1fr}}
/* faq */
.faq .qs{border-top:1px solid var(--hair)}
.faq .q{border-bottom:1px solid var(--hair)}
.faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:clamp(1.05rem,1.6vw,1.3rem);padding:20px 3rem 20px 0;position:relative;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-radius:50%;background:var(--dot);transform:translateY(-50%);transition:transform 300ms var(--ease-in)}
.faq .q[open] summary::after{transform:translateY(-50%) scale(.45)}
.faq .ans{padding:0 0 24px;max-width:64ch;color:var(--fg2)}
.faq .ans p{margin:0}
/* glance */
.glance dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 clamp(24px,4vw,56px)}
.glance dl>div{padding:18px 0;border-top:1px solid var(--hair)}
.glance dt{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.glance dd{margin:0;font-size:1.1rem;color:var(--fg)}
/* prose */
.prose .body{max-width:66ch}
.prose .body p{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.65;margin:0 0 1.2em;color:var(--fg)}
.prose .body h3{font-size:clamp(1.3rem,2.2vw,1.75rem);margin:2em 0 .6em;line-height:1.15}
.prose .body h3:first-child{margin-top:0}
.prose .body ul{padding-left:1.2em;margin:0 0 1.4em}
.prose .body li{margin:.35em 0;font-size:1.05rem;line-height:1.55}
.prose .body ul li::marker{color:var(--dot)}
.article .prose .body{max-width:68ch}
.article .prose .body h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:2em 0 .6em}
.article .prose .body img{max-width:100%;height:auto;border-radius:10px}
.article .prose .body blockquote{border-left:4px solid var(--dot);margin:1.6em 0;padding:.2em 0 .2em 1.2em;font-size:1.25rem;color:var(--fg2)}
.article .phero .meta{margin-top:20px}
/* contact */
.contact .ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(14px,2vw,24px);margin:0 0 clamp(40px,6vw,72px)}
.contact .way{display:flex;flex-direction:column;gap:6px;padding:clamp(18px,2.5vw,26px);border:1px solid var(--hair);border-radius:10px;text-decoration:none;color:inherit;transition:transform 260ms var(--ease-in),border-color 200ms}
.contact a.way:hover{transform:translateY(-4px);border-color:var(--dot)}
.contact .way .k{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.contact .way .v{font-weight:700;font-size:1.2rem;color:var(--fg);word-break:break-word}
.contact .way .s{font-size:.95rem;color:var(--fg2)}
.contact .where{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.contact .where h3{font-size:1.4rem;margin:0 0 10px}
.contact .where p{margin:0;color:var(--fg2);font-size:1.1rem}
.contact .hours{margin:0}
.contact .hours>div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--hair);font-variant-numeric:tabular-nums}
.contact .hours dt{font-weight:700}.contact .hours dd{margin:0;color:var(--fg2)}
.contact .form{margin-top:clamp(40px,6vw,72px);max-width:640px}
@media (max-width:720px){.contact .where{grid-template-columns:1fr}}
/* crisis */
.crisis .lines{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:0 clamp(24px,4vw,48px)}
.crisis li{display:grid;grid-template-columns:9.5rem 1fr;gap:4px 16px;padding:16px 0;border-top:1px solid var(--hair);align-items:baseline}
.crisis .num{font-size:1.4rem;font-weight:700;text-decoration:none;color:var(--fg);grid-row:span 2;font-variant-numeric:tabular-nums;white-space:nowrap}
.crisis .n{font-weight:700}.crisis .d{font-size:.95rem;color:var(--muted)}
/* team profile */
.profile{padding-block:clamp(56px,8vw,120px)}
/* reveals: honour reduced motion for the new sections too */
html.reduce .rv,html.reduce .rv.in{transform:none;transition:none}


/* ---- 0.4.0: feedback round 1 ---- */
/* section paddings, tighter; hero fields on inner pages */
/* B1: the arch replaces the two discs. 'large' sweeps in from the top-right on condition/audience
   pages; 'mark' is a 34px arch beside the heading on practical pages; 'none' (legal pages) draws nothing. */
.phero .ph-arch{position:absolute;pointer-events:none;z-index:0;border-radius:999px 999px 0 0;background:var(--deep)}
.phero .ph-arch>.b{position:absolute;inset:0;border-radius:inherit}
.phero .ph-arch .b1{background:var(--mid);inset:11%}
.phero .ph-arch .b2{background:var(--mint2);inset:22%}
.phero .ph-arch .b3{background:var(--mint);inset:33%}
.phero .ph-arch .b4{background:var(--paper);inset:44%}
.phero .ph-arch>.b{inset-block-end:0}
.phero .ph-arch.ph-large{width:min(78vw,760px);height:min(78vw,760px);right:-22%;top:-38%}
.phero .ph-arch.ph-mark{width:34px;height:34px;position:relative;display:inline-block;margin-bottom:18px;z-index:1}
.phero.arch-none .ph-text{padding-top:0}
@media (max-width:800px){.phero .ph-arch.ph-large{width:40px;height:40px;right:clamp(20px,5vw,72px);top:auto;bottom:clamp(20px,4vw,28px);margin:0}}
.phero .ph-text{position:relative;z-index:1}
.phero.has-drawing{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.phero .ph-draw{position:relative;z-index:1;margin:0;max-width:440px;justify-self:end;width:100%}
.phero .ph-draw::before{background:var(--field);opacity:.9}
@media (max-width:800px){.phero.has-drawing{grid-template-columns:1fr}.phero .ph-draw{max-width:300px;justify-self:start}}
/* drawings anywhere */
.plate{margin:0}
.plate .dotr{stroke-dasharray:none;stroke-dashoffset:0}
.g-ink .plate,.g-deep .plate{--dot-ring:#F4F1EC}
.g-paper .plate,.g-white .plate{--dot-ring:#094058}
.plate circle{transition:opacity 600ms 1200ms;opacity:0}.plate.in circle{opacity:1}
.item figcaption{display:none}
.item{padding-block:clamp(28px,4vw,48px)}
/* cards tilt */
.card,.way{transform-style:preserve-3d;will-change:transform}
/* steps: progress line drawn on scroll */
.steps .list{position:relative}
.steps .list::before{content:"";position:absolute;left:1.05rem;top:0;bottom:0;width:2px;background:var(--hair)}
.steps .list::after{content:"";position:absolute;left:1.05rem;top:0;width:2px;height:100%;background:var(--dot);transform-origin:top;transform:scaleY(0);animation:stepline linear both;animation-timeline:view();animation-range:entry 20% cover 70%}
@keyframes stepline{to{transform:scaleY(1)}}
.steps li{grid-template-columns:5rem minmax(0,1fr);position:relative;padding-left:0}
.steps .num{background:var(--bg-current,transparent);position:relative;z-index:1;padding-right:8px;display:inline-block}
.steps .num{--bg-current:var(--bg)}
/* faq open animation */
.faq .ans{overflow:hidden}
.faq .q[open] .ans{animation:faqin 360ms var(--ease-in) both}
@keyframes faqin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* flags */
.flags .strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:clamp(14px,2vw,24px)}
.flag{display:flex;flex-direction:column;gap:8px;transition:transform 300ms var(--ease-in)}
.flag .fl{display:block;aspect-ratio:5/3;border-radius:8px;overflow:hidden;box-shadow:0 1px 0 var(--hair)}
.flag .fl svg,.flag .fl img{display:block;width:100%;height:100%;object-fit:contain}
.flag .nm{font-size:15px;color:var(--muted);font-weight:700}
.g-white .flag .fl{outline:1px solid rgba(2,28,37,.08)}
/* acknowledgement */
.ack .flagpair{display:flex;gap:12px;margin-bottom:22px}
.ack .flagpair svg,.ack .flagpair img{width:72px;height:auto;border-radius:4px;display:block}
.ack .big{font-size:clamp(1.35rem,2.6vw,2.2rem);line-height:1.3;max-width:34ch;letter-spacing:-.01em;font-weight:700;margin:0}
/* footer */
.site-footer{padding-block:clamp(48px,7vw,84px) 32px}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:clamp(24px,4vw,56px)}
.foot .col h3{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.foot .col p{margin:0 0 12px;max-width:34ch;font-size:15px}
.foot .brand .logo img{width:150px;height:auto;display:block;margin-bottom:16px}
.foot .brand .tag{font-weight:700;font-size:1.05rem}
.foot .small,.foot .hours{font-size:15px;color:var(--muted)}
.foot .hours{margin:0}
.foot .hours>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-top:1px solid var(--hair);font-variant-numeric:tabular-nums;max-width:260px}
.foot .hours dd{margin:0}
.foot .social a{margin-right:14px}
.foot .col .wp-block-navigation{display:block}
.foot .col .wp-block-navigation ul{display:flex;flex-direction:column;gap:6px}
.foot .col .wp-block-navigation a{color:#FFF;text-decoration:none}
.foot .col .btn{font-size:15px;padding:10px 14px}
.foot .legal{grid-column:1/-1;border-top:1px solid var(--hair);padding-top:20px;margin-top:8px;font-size:15px;color:var(--muted)}
.foot .legal p{margin:0 0 6px;max-width:none}
.foot .legal a{color:var(--muted)}
@media (max-width:960px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot{grid-template-columns:1fr}}
.foot .col ul,.foot .col .wp-block-navigation__container{list-style:none;padding:0;margin:0}
.foot .col .wp-block-navigation-item__content{color:#FFF;text-decoration:none;font-size:15px;display:inline-block;min-height:24px;padding-block:6px}
.foot .col .wp-block-navigation-item__content:hover{color:var(--mint)}
.foot .brand .wordmark{font-size:1.5rem;font-weight:700;text-decoration:none;color:#FFF;display:inline-block;margin-bottom:12px}
.foot .foot-nav{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.foot .foot-nav li{list-style:none}
.foot .foot-nav a{color:#FFF;text-decoration:none;font-size:15px}
.foot .foot-nav a:hover{color:var(--mint)}


/* ---- 0.5.0: feedback round 2 ---- */
/* no gaps between blocks (the ink strips) */
.site-main .entry-content>*,.site-main .wp-block-post-content>*{margin-block:0!important}
.site-main .entry-content{margin:0}
/* headings on light grounds: deep, not ink; extra colour */
.g-paper h2,.g-white h2,.g-paper h3,.g-white h3,.g-paper .steps h3,.g-white .steps h3{color:#094058}
.g-paper .card h4,.g-white .card h4,.g-paper .card .ct,.g-white .card .ct{color:#094058}
.g-paper .card,.g-white .card{border-top:3px solid var(--mint);background:#fff}
.g-paper .card{background:#FFFFFF}
.g-white .card{background:#F4F1EC}
.card .idx{display:block;font-size:15px;letter-spacing:.1em;color:var(--dot);font-weight:700;margin-bottom:8px;font-variant-numeric:tabular-nums}
.g-paper .steps .num,.g-white .steps .num{color:#106C77}
.g-paper .grp,.g-white .grp{color:#106C77}
.g-paper .glance dt,.g-white .glance dt{color:#106C77}
.g-paper .intro,.g-white .intro{color:#094058}
/* nav white, footer links white — beat the ground link colour */
.site-header.g-ink .wp-block-navigation a:not(.btn),.site-header.g-ink .wp-block-navigation-item__content{color:#FFFFFF}
.site-header.g-ink .wp-block-navigation a:hover{color:#FFFFFF}
.site-footer.g-ink .foot-nav a,.site-footer.g-ink .foot a:not(.btn){color:#FFFFFF}
.site-footer.g-ink .foot a:not(.btn):hover{color:#25CAB6}
/* the crisis band below carries the one accent rule the footer needs */
/* heroes: same height, no drawing */
.phero{min-height:clamp(380px,52vh,600px);display:flex;flex-direction:column;justify-content:center}
/* sections never taller than the screen: cap and let long content scroll horizontally or tab */
.cards,.steps,.faq,.glance,.contact,.crisis,.flags{position:relative;overflow:hidden}
/* overflow:clip clips the decorations the same way but, unlike hidden, does not make
   a scroll container, so the sticky section headings above keep working. */
@supports (overflow:clip){.cards,.steps,.faq,.glance,.contact,.crisis,.flags{overflow:clip}}
/* decorative drawings, scattered */
.deco{position:absolute;width:clamp(160px,22vw,320px);pointer-events:none;z-index:0;opacity:.95}
.deco::before{display:none}
.deco-right{right:clamp(8px,4vw,64px);top:clamp(8px,3vw,40px);transform:rotate(6deg)}
.deco-left{left:clamp(8px,3vw,48px);bottom:clamp(8px,3vw,40px);transform:rotate(-8deg)}
.deco-corner{right:-40px;bottom:-30px;transform:rotate(-14deg);width:clamp(200px,26vw,380px)}
.deco svg{max-width:none}
.cards .head,.cards .grid,.cards .grp,.steps h2,.steps .intro,.steps .list,.steps .after,.faq>*,.glance>*,.contact>*,.crisis>*,.flags>*{position:relative;z-index:1}
.cards .head{max-width:60ch}
@media (max-width:800px){.deco{width:120px;opacity:.6}.deco-corner{width:160px}}
/* cards layouts */
.cards.lay-scroller .scroller-wrap{position:relative}
.cards.lay-scroller .grid{display:flex;gap:clamp(14px,2vw,24px);overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 16px;scrollbar-width:thin;cursor:grab}
.cards.lay-scroller .grid.dragging{cursor:grabbing;scroll-snap-type:none}
.cards.lay-scroller .card{flex:0 0 min(320px,78vw);scroll-snap-align:start}
.cards.lay-scroller .sc-btn{position:absolute;top:-56px;right:0;width:40px;height:40px;border-radius:50%;border:1px solid var(--hair);background:transparent;color:inherit;font:inherit;cursor:pointer}
.cards.lay-scroller .sc-btn.prev{right:48px}
.cards.lay-scroller .sc-btn:hover{background:var(--dot);color:#021C25;border-color:var(--dot)}
.cards.lay-list .grid{display:grid;grid-template-columns:1fr;gap:0}
.cards.lay-list .card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 20px;align-items:baseline;border:0;border-top:1px solid var(--hair);border-radius:0;padding:18px 0;background:transparent}
.cards.lay-list .card:last-child{border-bottom:1px solid var(--hair)}
.cards.lay-list .card h4,.cards.lay-list .card .ct{margin:0;grid-column:1}.cards.lay-list .card p{grid-column:1;margin-top:6px}.cards.lay-list .card .more{grid-column:2;grid-row:1;margin:0}
.cards.lay-list .card:hover{transform:none;background:transparent}
.cards.lay-list .card:hover h4,.cards.lay-list .card:hover .ct{color:var(--dot)}
.cards.lay-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(24px,5vw,72px);align-items:start}
.cards.lay-split .head{position:sticky;top:96px}
.cards.lay-split .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:800px){.cards.lay-split{grid-template-columns:1fr}.cards.lay-split .head{position:static}}
/* chips highlight */
.card.dim{opacity:.35;filter:saturate(.5)}
.card.lit{border-color:var(--dot);box-shadow:0 0 0 3px var(--dot)}
/* steps compact */
.steps.compact .list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,56px)}
.steps.compact .list::before,.steps.compact .list::after{display:none}
.steps.compact li{grid-template-columns:3.5rem minmax(0,1fr);padding:18px 0}
.steps.compact .num{font-size:1.5rem}
.steps.compact h3{font-size:1.2rem}.steps.compact p{font-size:.98rem}
@media (max-width:760px){.steps.compact .list{grid-template-columns:1fr}}
/* faq tabs */
.faq .tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.faq .tabs .chip[aria-selected="true"]{background:var(--fg);color:var(--accent-ink)}
.g-paper .faq .tabs .chip[aria-selected="true"],.g-white .faq .tabs .chip[aria-selected="true"]{background:#094058;color:#F4F1EC}
.faq .qs[hidden]{display:none}
/* prose split */
.prose{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(24px,5vw,72px);align-items:start}
.prose .aside{position:sticky;top:96px}
.prose .aside h2{margin:0 0 20px}
.prose .pr-draw{max-width:480px;width:100%;margin-top:8px}
.prose .body{max-width:64ch}
@media (max-width:800px){.prose{grid-template-columns:1fr}.prose .aside{position:static}.prose .pr-draw{max-width:320px}}
/* glance: count-up ready */
.glance dd .n{display:inline-block}
/* buttons: pill, smaller, dot-led */
.btn{border-radius:999px;padding:10px 20px 10px 16px;font-size:16px;display:inline-flex;align-items:center;gap:10px;line-height:1.2}
.btn::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.9;transform:scale(.6);transition:transform 260ms var(--ease-in)}
.btn:hover::before{transform:scale(1.15)}
.site-header .btn{padding:9px 18px 9px 14px;font-size:15px}
.chip{border-radius:999px}
/* one orange for every button, on every ground and in every theme: white text (4.81:1),
   aqua on hover with ink text (8.53:1). Change the colour in :root only. */
.g-ink .btn,.g-deep .btn,.g-paper .btn,.g-white .btn,.g-mint .btn{background:var(--btn);color:var(--btn-ink)}
.g-ink .btn:hover,.g-deep .btn:hover,.g-paper .btn:hover,.g-white .btn:hover,.g-mint .btn:hover,.g-ink .btn:focus-visible,.g-deep .btn:focus-visible,.g-paper .btn:focus-visible,.g-white .btn:focus-visible,.g-mint .btn:focus-visible{background:var(--btn-hover);color:var(--btn-hover-ink)}
.deco-corner{right:-70px;bottom:-70px;opacity:.55}
.cards.lay-list .grid{padding-right:clamp(0px,10vw,160px)}
.flag .fl img{object-fit:contain;background:#F4F1EC}
.g-white .flag .fl img{background:#F4F1EC}


/* ---- 0.7.0: feedback round 3 ---- */
/* 1. no gap between header and hero (WordPress block gap on the main group) */
.wp-site-blocks>*+*{margin-block-start:0!important}
body .site-main{margin-block:0!important}
/* 2. header motion: sticky by default, shrink + tint on scroll; or hide on scroll down */
.site-header{position:sticky;top:0;z-index:20;transition:padding 260ms var(--ease-in),transform 320ms var(--ease-in),background 260ms,box-shadow 260ms}
body.hdr-static .site-header{position:static}
.site-header.scrolled{padding-block:9px;background:rgba(2,28,37,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(244,241,236,.12),0 10px 30px rgba(2,28,37,.25)}
.site-header.scrolled .wordmark{font-size:18px}
body.hdr-hide .site-header.away{transform:translateY(-100%)}
.site-header .wordmark{transition:font-size 260ms var(--ease-in)}
/* motion toggle: obvious when it's on */
.tog{display:inline-flex;align-items:center;gap:8px}
.tog .tog-dot{width:8px;height:8px;border-radius:50%;background:var(--hair);transition:background 200ms,transform 200ms}
.tog[aria-pressed="true"]{border-color:#25CAB6;color:#25CAB6}
.tog[aria-pressed="true"] .tog-dot{background:#25CAB6;transform:scale(1.3)}
/* 3. statement: gutter, and a touch of air */
.state{padding-inline:clamp(20px,5vw,72px)}
/* 4. identity map: fits one screen; text + controls left, picture right */
.who{padding-block:clamp(32px,4vw,56px);min-height:min(100svh,900px);display:flex;align-items:center}
.who .grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;width:100%}
.who h2{font-size:clamp(2rem,4.6vw,3.8rem)}
.who p{font-size:clamp(1rem,1.25vw,1.12rem);margin-top:14px}
.who .controls{margin-top:22px;padding-top:18px;border-top:1px solid var(--hair)}
.who .controls .cap{margin:0 0 4px;font-weight:700;color:var(--fg2);font-size:15px}
.who .pic canvas{width:min(100%,calc(100svh - 200px));max-width:560px;margin-inline:auto;aspect-ratio:1;border-radius:50%}
.who .keep #keepform{background:#fff}
@media (max-width:900px){.who{min-height:auto;display:block}.who .grid{grid-template-columns:1fr}.who .pic canvas{width:min(100%,420px)}}
/* 5. services: tabs, one screen */
.what{min-height:min(100svh,860px);display:flex;flex-direction:column;justify-content:center;padding-block:clamp(28px,4vw,56px)}
.what .lead{margin-bottom:clamp(16px,2.5vw,28px)}
.svc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(16px,2.5vw,28px);border-bottom:1px solid var(--hair);padding-bottom:12px}
.svc-tabs [role=tab]{font:inherit;font-weight:700;font-size:clamp(1rem,1.4vw,1.15rem);padding:10px 16px;border-radius:999px;border:1px solid var(--hair);background:transparent;color:#094058;cursor:pointer;display:inline-flex;gap:10px;align-items:center;transition:background 200ms,color 200ms,transform 160ms var(--ease-in)}
.svc-tabs [role=tab] .tag{margin:0;color:var(--muted)}
.svc-tabs [role=tab]:hover{transform:translateY(-2px)}
.svc-tabs [role=tab][aria-selected="true"]{background:#094058;color:#F4F1EC;border-color:#094058}
.svc-tabs [role=tab][aria-selected="true"] .tag{color:#25CAB6}
.what .item{border-top:0;padding-block:0;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,5vw,72px);align-items:center;animation:faqin 420ms var(--ease-in) both}
.what .item[hidden]{display:none}
.what .item .plate{max-width:min(440px,42vh);width:100%;justify-self:center}.what .item .plate svg{max-width:100%}
.what .item .plate::before{transform:none}
.what .item h3{font-size:clamp(1.8rem,3.4vw,2.8rem);margin-bottom:12px}
.what .item p{max-width:52ch;font-size:clamp(1rem,1.25vw,1.15rem)}
.sub-links{list-style:none;padding:0;margin:16px 0 4px;display:flex;flex-wrap:wrap;gap:8px}
.sub-links a{display:inline-block;font-size:15px;padding:6px 12px;border:1px solid var(--hair);border-radius:999px;text-decoration:none;color:#094058;background:#fff;transition:transform 160ms var(--ease-in),border-color 200ms}
.sub-links a:hover{transform:translateY(-2px);border-color:#094058}
@media (max-width:760px){.what{min-height:auto;display:block}.what .item{grid-template-columns:1fr}.what .item .plate{max-width:260px;justify-self:start}}
/* 6. fees: the chosen practitioner lights up on both sides, in mint */
.g-deep .calc .chip[aria-pressed="true"]{background:#25CAB6;color:#021C25;border-color:#25CAB6}
.tbl tr.sel td{color:var(--dot)}
.tbl tr.sel td:first-child{padding-left:18px;position:relative}
.tbl tr.sel td:first-child::before{content:"";position:absolute;left:0;top:22px;width:10px;height:10px;border-radius:50%;background:var(--dot)}
.tbl tr.sel .sub{color:var(--dot);opacity:.92}
/* 7. flags: flip cards */
.flags-head{max-width:64ch}
.flags .hint{font-size:15px;color:var(--muted);margin:-12px 0 24px}
.flags .strip{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
/* B5: the flag is a plain button. No flip, no 3D, no transform, no animation — the only
   thing that changes on press is the caption's colour and underline. */
.flag .fbtn{display:flex;flex-direction:column;gap:8px;width:100%;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.flag .fbtn .nm{transition:color 160ms}
.flag .fbtn[aria-expanded="true"] .nm{color:var(--dot);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.flag .nm .kind{font-weight:400;color:var(--muted)}
.flag .fl{aspect-ratio:5/3}
.flag .fl img{object-fit:contain;background:#F4F1EC}
.flag .fbtn:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
/* 8. acknowledgement: flags prominent, text beside */
.ack{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(24px,5vw,72px);align-items:center;padding-block:clamp(40px,6vw,80px)}
.ack .flagpair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,20px);margin:0}
.ack .flagpair svg,.ack .flagpair img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px;display:block;box-shadow:0 10px 30px rgba(2,28,37,.25)}
.ack .kicker{margin-bottom:12px}
.ack .big{font-size:clamp(1.15rem,1.9vw,1.6rem);line-height:1.45;max-width:52ch;font-weight:400}
@media (max-width:760px){.ack{grid-template-columns:1fr}.ack .flagpair{max-width:320px}}

/* plates: keep the field circle inside the drawing */
.plate::before{content:none}


/* ---- 0.8.0: composed screens, no boxes ---- */
:root{--hdr:64px;--screen:calc(100svh - var(--hdr))}
html,body{overflow-x:clip}
.site-main section,.site-main .entry-content>section{overflow-x:clip}
/* header: one line, never wraps; the progress line lives on its bottom edge */
.site-header{flex-wrap:nowrap;gap:clamp(12px,2vw,28px)}
.site-header .wp-block-navigation,.site-header .wp-block-navigation__container{flex-wrap:nowrap}
.site-header .wp-block-navigation{font-size:15px;min-width:0}
.site-header .wp-block-navigation-item__content{white-space:nowrap}
.site-header .progress{position:absolute;left:0;bottom:-1px;top:auto;height:3px;z-index:1}
/* sections: tighter vertical rhythm; drawings sit beside the heading, top right, never rotated or hanging off */
.steps,.cards,.faq,.glance,.contact,.crisis,.flags,.ack,.values,.wmap,.gallery{padding-block:clamp(36px,5vw,64px)}
.deco,.deco-right,.deco-left,.deco-corner{position:absolute;right:clamp(20px,5vw,72px);left:auto;top:clamp(28px,4vw,52px);bottom:auto;width:clamp(150px,15vw,220px);transform:none;opacity:1}
@media (min-width:801px){section:has(>.deco)>h2,section:has(>.deco)>.intro,section:has(>.deco) .sec-head,section:has(>.deco)>.tabs,section:has(>.deco)>.hint{max-width:calc(100% - clamp(180px,18vw,270px))}}
@media (max-width:800px){.deco,.deco-right,.deco-left,.deco-corner{position:static;width:120px;margin:0 0 16px}}
/* de-card: an editorial grid, hairlines not boxes */
.card,.g-paper .card,.g-white .card,.g-ink .card,.g-deep .card{border:0;border-top:1px solid var(--hair);border-radius:0;background:transparent;padding:18px 0 8px;box-shadow:none}
.g-paper .card,.g-white .card{border-top-color:rgba(2,28,37,.18)}
.card .idx{color:var(--dot);font-size:15px}
.card h4,.card .ct{font-size:clamp(1.15rem,1.5vw,1.4rem);letter-spacing:-.01em;transition:color 200ms}
.card p{font-size:.98rem;color:var(--fg2)}
a.card:hover{transform:none}
a.card:hover h4{color:var(--dot)}
a.card .more{transition:transform 200ms var(--ease-in)}
a.card:hover .more{transform:translateX(6px)}
.card.lit{box-shadow:none;border-top:3px solid var(--dot)}
.cards .grid{gap:clamp(20px,3vw,40px) clamp(20px,3vw,48px)}
.cards.lay-list .card{border-top:1px solid var(--hair);padding:16px 0}
/* ledger: big question, answer beside, arrow */
.cards.lay-ledger .grid{display:grid;grid-template-columns:1fr;gap:0}
.cards.lay-ledger .card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:8px clamp(20px,3vw,48px);align-items:center;padding:clamp(14px,1.8vw,22px) 0}
.cards.lay-ledger .card:last-child{border-bottom:1px solid var(--hair)}
.cards.lay-ledger .card .idx{display:none}
.cards.lay-ledger .card h4,.cards.lay-ledger .card .ct{font-size:clamp(1.3rem,2.4vw,2.1rem);margin:0}
.cards.lay-ledger .card p{margin:0}
.cards.lay-ledger .card .more{margin:0;grid-column:3}
@media (max-width:760px){.cards.lay-ledger .card{grid-template-columns:1fr}.cards.lay-ledger .card .more{grid-column:1}}
/* values: five across, joined by a line */
.values .vals{list-style:none;margin:clamp(24px,3vw,40px) 0 0;padding:clamp(44px,5vw,64px) 0 0;position:relative;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:clamp(16px,2.5vw,36px)}
.values .thread{position:absolute;left:0;right:0;top:0;width:100%;height:40px;overflow:visible}
.values .thread path{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}
.values .thread .track{stroke:var(--hair)}
.values .thread .draw{stroke:var(--dot);stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 1800ms var(--ease-mid) 200ms}
.values .vals.in .thread .draw{stroke-dashoffset:0}
.values li{transform:translateY(20px);transition:transform 700ms var(--ease-in);transition-delay:calc(200ms + var(--i,0)*140ms)}
.values .vals.in li{transform:none}
.values .num{display:block;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:700;letter-spacing:-.02em;line-height:1;margin-bottom:14px;color:var(--fg)}
.values h3{font-size:clamp(1.05rem,1.4vw,1.3rem);margin:0 0 8px;line-height:1.2}
.values p{margin:0;font-size:.95rem;color:var(--fg2);max-width:26ch}
@media (max-width:900px){.values .vals{grid-template-columns:repeat(2,1fr)}.values .thread{display:none}.values .vals{padding-top:0}}
@media (max-width:520px){.values .vals{grid-template-columns:1fr}}
/* journey: a drawn path with numbered stops */
.steps.journey .path-wrap{position:relative;height:clamp(200px,26vh,260px);margin:clamp(150px,19vh,190px) 0}
.steps.journey .path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.steps.journey .path path{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}
.steps.journey .path .track{stroke:var(--hair);stroke-dasharray:4 8}
.steps.journey .path .draw{stroke:var(--dot);stroke-dasharray:3000;stroke-dashoffset:3000;transition:stroke-dashoffset 2600ms var(--ease-mid)}
.steps.journey .path-wrap.in .path .draw{stroke-dashoffset:0}
.steps.journey .stops{list-style:none;margin:0;padding:0}
.steps.journey .stop{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%)}
.steps.journey .stop .num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--dot);color:#021C25;font-weight:700;font-size:1.1rem;box-shadow:0 0 0 6px var(--bg-current,transparent);transform:scale(0);transition:transform 500ms var(--ease-in);transition-delay:calc(400ms + var(--k,0)*380ms);position:relative;z-index:1}
.steps.journey .path-wrap.in .stop .num{transform:none}
.steps.journey .stop .txt{position:absolute;left:50%;transform:translateX(-50%);width:clamp(190px,19vw,260px);text-align:center;transform:translateX(-50%) translateY(10px);transition:transform 500ms var(--ease-in);transition-delay:calc(600ms + var(--k,0)*380ms)}
.steps.journey .path-wrap.in .stop .txt{transform:translateX(-50%)}
.steps.journey .stop.high .txt{bottom:calc(100% + 16px)}
.steps.journey .stop.low .txt{top:calc(100% + 16px)}
.steps.journey .stop h3{font-size:clamp(1rem,1.25vw,1.15rem);margin:0 0 6px;line-height:1.2}
.steps.journey .stop h3 .n{color:var(--dot);font-variant-numeric:tabular-nums;margin-right:4px}
.steps.journey .stop p{font-size:.88rem;line-height:1.4;color:var(--fg2);max-width:none}
.steps.journey .stop .tag{margin-top:6px}
.steps.journey .after{margin-top:0;text-align:center;max-width:none;color:var(--fg2)}
.steps.journey .stop .num{--bg-current:var(--bg)}
@media (max-width:800px){.steps.journey .path-wrap{height:auto}.steps.journey .path{display:none}.steps.journey .stops{display:grid;gap:18px}.steps.journey .stop{position:static;transform:none;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}.steps.journey .stop .txt{position:static;transform:none;width:auto;text-align:left;opacity:1}.steps.journey .stop .num{transform:none}}
/* where we work: map */
.wmap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,5vw,72px);align-items:center}
.wmap h2{font-size:clamp(1.9rem,4vw,3.2rem);margin:0 0 18px}
.wmap p{max-width:44ch;margin:0 0 14px;font-size:clamp(1rem,1.3vw,1.15rem);color:var(--fg2)}
.wmap .legend{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px;font-size:15px;color:var(--muted)}
.wmap .legend li{display:flex;align-items:center;gap:10px}
.wmap .legend .k{width:14px;height:14px;border-radius:50%;display:inline-block}
.wmap .legend .pin{background:var(--dot)}.wmap .legend .ring{border:2px dashed var(--dot)}.wmap .legend .far{border:2px dashed var(--muted)}
.wmap .au{max-width:600px;width:100%;justify-self:center}
.wmap .au::before{display:none}
.wmap .au svg{color:var(--fg);max-width:none}
.wmap .au .land{stroke-width:2.4;stroke-dasharray:3000;stroke-dashoffset:3000;transition:stroke-dashoffset 2600ms var(--ease-mid)}
.wmap .au.in .land{stroke-dashoffset:0}
.wmap .au .rings circle{stroke:var(--dot);opacity:0;transition:opacity 600ms 1400ms}
.wmap .au.in .rings circle{opacity:.9}
.wmap .au .far{stroke:var(--muted);opacity:0;transition:opacity 600ms 2000ms}
.wmap .au.in .far{opacity:1}
.wmap .au .lab{font:700 14px "Atkinson Hyperlegible",system-ui,sans-serif;fill:var(--fg);stroke:none}
@media (max-width:800px){.wmap{grid-template-columns:1fr}}
/* homepage: every section is one screen, composed */
.home .entry-content>section{min-height:var(--screen);display:grid;align-content:center}
.home .entry-content>.hero{align-content:end}
.home .entry-content>.ack,.home .entry-content>.close{min-height:min(70svh,640px)}
.home .entry-content>.state{min-height:min(50svh,480px)}
.home .entry-content>.who{display:flex}
.home .entry-content>.what{display:flex}
.home .entry-content>.wmap,.home .entry-content>.ack{display:grid}
.home .facts{padding-block:clamp(32px,4vw,56px)}
.home .facts .tbl th,.home .facts .tbl td{padding:11px 0}
.home .people{padding-block:clamp(32px,4vw,56px)}
.home .flags .strip{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px 14px}
.home .flags h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.home .flags .intro{margin-bottom:12px}
.home .flags .hint{margin:0 0 16px}
.flag .nm{font-size:15px}
/* statement: centred in its band */
.state{display:grid;align-content:center}
@media (max-width:800px){.home .entry-content>section{min-height:auto}}
/* 0.8.0 polish after the first desktop render */
.values h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 16px;max-width:18ch}
.values .sec-head p{max-width:56ch}
.values .num .dotc{color:var(--dot)}
.calc{border:0;border-top:1px solid var(--hair);border-radius:0;padding:18px 0 0;margin-top:22px}
.home .people .head{width:clamp(150px,14vw,200px);height:auto;aspect-ratio:1}
.home .people .row{gap:clamp(24px,4vw,64px)}
.home .people .person p{font-size:1.02rem;max-width:32ch}
.home .people h2{font-size:clamp(2rem,4.4vw,3.6rem)}
.wmap .au .rings circle,.wmap .au .land{fill:none!important}
.wmap .au circle.dotr{fill:none!important}
.home .flags .strip{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px 16px}
.site-main .close h2{font-size:clamp(2.6rem,7vw,6.6rem);max-width:12ch}
.ack{grid-template-columns:minmax(0,1.15fr) minmax(0,1.25fr)}
.who .pic canvas{max-width:640px}
.cards.lay-ledger .card{padding:clamp(12px,1.5vw,18px) 0}
.steps.journey .sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(20px,4vw,56px);align-items:end}
.steps.journey .sec-head h2{margin:0}.steps.journey .sec-head .intro{margin:0}
@media (max-width:800px){.steps.journey .sec-head{grid-template-columns:1fr}.steps.journey .path-wrap{margin:20px 0}}
/* line draws as keyframes (transitions were restarting under other style changes) */
@keyframes drawline{from{stroke-dashoffset:var(--len,3000)}to{stroke-dashoffset:0}}
.wmap .au .land{--len:3000;transition:none}
.wmap .au.in .land{animation:drawline 2600ms var(--ease-mid) forwards}
.values .thread .draw{--len:1200;transition:none}
.values .vals.in .thread .draw{animation:drawline 1800ms var(--ease-mid) 200ms forwards}
.steps.journey .path .draw{--len:3000;transition:none}
.steps.journey .path-wrap.in .path .draw{animation:drawline 2600ms var(--ease-mid) forwards}
html.reduce .wmap .au .land,html.reduce .values .thread .draw,html.reduce .steps.journey .path .draw{animation:none;stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){.wmap .au .land,.values .thread .draw,.steps.journey .path .draw{animation:none!important;stroke-dashoffset:0}}


/* ---- 0.9.0: round 4 ---- */
/* progress line: fixed just under the header, independent of it */
.progress{position:fixed;left:0;top:var(--hdr,64px);height:3px;width:100%;z-index:25;transition:top 260ms var(--ease-in)}
body.hdr-static .progress{top:0}
/* section link */
.sec-link{margin:clamp(18px,2.5vw,28px) 0 0;font-weight:700}
.sec-link a{text-decoration:none;border-bottom:2px solid var(--dot);color:inherit;transition:transform 200ms var(--ease-in);display:inline-block}
.sec-link a:hover{transform:translateX(6px)}
.g-paper .sec-link a,.g-white .sec-link a{color:#094058}
.state .sec-link{margin-top:20px}
/* statement: the emphasised words fill orange */
.state .wd.em .c{--hl:#25CAB6}
/* acknowledgement, composed */
.ack{position:relative;overflow:hidden;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(32px,6vw,96px);padding-block:clamp(48px,7vw,96px)}
.ack .fields{position:absolute;inset:-30% -10% -30% 50%;pointer-events:none;z-index:0}
.ack .f{position:absolute;border-radius:50%;opacity:.35;mix-blend-mode:screen;will-change:transform}
.ack .f1{width:46vmin;height:46vmin;left:30%;top:-10%;background:var(--mint)}
.ack .f2{width:34vmin;height:34vmin;left:60%;top:40%;background:#25CAB6;opacity:.22}
.ack .flagpair{position:relative;z-index:1;display:block;height:clamp(220px,28vw,360px);margin:0}
.ack .fp{position:absolute;width:72%;aspect-ratio:3/2;border-radius:6px;overflow:hidden;box-shadow:0 24px 60px rgba(2,28,37,.45)}
.ack .fp img,.ack .fp svg{width:100%;height:100%;object-fit:cover;display:block}
.ack .fp1{left:0;top:0;transform:rotate(-4deg);z-index:2}
.ack .fp2{right:0;bottom:0;transform:rotate(3deg);z-index:1}
.ack .flagpair.in .fp1{animation:fpin 900ms var(--ease-in) both}.ack .flagpair.in .fp2{animation:fpin 900ms var(--ease-in) 160ms both}
@keyframes fpin{from{transform:translateY(24px) rotate(0)}}
.ack .ack-text{position:relative;z-index:1}
.ack .kicker{color:#25CAB6}
.ack .big{font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.2;letter-spacing:-.015em;font-weight:700;max-width:24ch;margin:0 0 18px}
.ack .rest{font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.55;color:#CFE3EA;max-width:52ch;margin:0}
.ack .hov{--hl:#25CAB6}
@media (max-width:760px){.ack{grid-template-columns:1fr}.ack .flagpair{height:200px;max-width:340px}}
/* identity map: no drift; hint copy */
.who .cap{font-weight:700}
/* ledger in two columns when there are many rows */
@media (min-width:960px){.cards.lay-ledger.two .grid{grid-template-columns:1fr 1fr;column-gap:clamp(32px,4vw,64px)}.cards.lay-ledger.two .card{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.cards.lay-ledger.two .card h4{font-size:clamp(1.15rem,1.7vw,1.5rem)}.cards.lay-ledger.two .card p{grid-column:1}.cards.lay-ledger.two .card .more{grid-column:2;grid-row:1/3;align-self:center}}
/* flags: one slow flip on tap, nothing on hover */
.flags .credit{font-size:15px;color:var(--muted);margin:16px 0 0}
.flags .credit a{color:inherit}
/* drawings: float beside the heading; content clears below. No absolute positioning, nothing hangs off. */
.deco,.deco-right,.deco-left,.deco-corner{position:static;float:right;width:clamp(150px,15vw,220px);margin:0 0 16px clamp(24px,3vw,48px);transform:none;opacity:1;shape-outside:margin-box}
@media (min-width:801px){section:has(>.deco)>h2,section:has(>.deco)>.intro,section:has(>.deco) .sec-head,section:has(>.deco)>.tabs,section:has(>.deco)>.hint{max-width:none}}
.cards .grid,.cards .scroller-wrap,.steps .list,.steps .path-wrap,.faq .qs,.faq .tabs,.glance dl,.contact .ways,.crisis .lines,.flags .strip,.prose .body{clear:both}
.prose .aside .plate{float:none;width:100%;max-width:480px;margin:8px 0 0}
@media (max-width:800px){.deco,.deco-right,.deco-left,.deco-corner{float:none;width:120px;margin:0 0 16px}}
/* journey: room to breathe; orange numbers on every ground; stacked under 1100px */
.steps.journey .stop .num{background:#25CAB6;color:#021C25}
.steps.journey .path .draw{stroke:#25CAB6}
.steps.journey.g-paper .path .track,.steps.journey.g-white .path .track{stroke:rgba(2,28,37,.25)}
.steps.journey .path-wrap{height:clamp(220px,28vh,280px);margin:clamp(170px,21vh,210px) 0}
.steps.journey .stop .txt{width:clamp(170px,16.5vw,230px)}
.steps.journey .stop h3{font-size:clamp(.95rem,1.15vw,1.1rem)}
.steps.journey .stop p{font-size:.84rem}
@media (max-width:1100px){.steps.journey .path-wrap{height:auto;margin:20px 0}.steps.journey .path{display:none}.steps.journey .stops{display:grid;gap:18px}.steps.journey .stop{position:static;transform:none;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}.steps.journey .stop .txt{position:static;transform:none;width:auto;text-align:left;opacity:1}.steps.journey .stop .num{transform:none}}
/* map: four levels */
.wmap{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}
.wmap .levels{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 10px}
.wmap .levels [role=tab]{font:inherit;font-size:15px;font-weight:700;padding:7px 12px 7px 8px;border-radius:999px;border:1px solid var(--hair);background:transparent;color:inherit;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.wmap .levels [role=tab] .n{width:20px;height:20px;border-radius:50%;background:var(--hair);display:grid;place-items:center;font-size:15px}
.wmap .levels [role=tab][aria-selected="true"]{background:#094058;color:#F4F1EC;border-color:#094058}
.wmap .levels [role=tab][aria-selected="true"] .n{background:#25CAB6;color:#021C25}
.g-ink .wmap .levels [role=tab][aria-selected="true"],.wmap.g-ink .levels [role=tab][aria-selected="true"],.wmap.g-deep .levels [role=tab][aria-selected="true"]{background:#25CAB6;color:#021C25;border-color:#25CAB6}
.wmap .lvl-hint{font-size:15px;color:var(--muted);margin:0 0 6px;min-height:2.6em}
.wmap .wmap-stage{position:relative;aspect-ratio:1000/620;max-height:min(70vh,640px);width:100%;border-radius:12px;overflow:hidden;background:rgba(2,28,37,.04)}
.wmap.g-ink .wmap-stage,.wmap.g-deep .wmap-stage{background:rgba(244,241,236,.05)}
.wmap .lvl{position:absolute;inset:0;animation:faqin 500ms var(--ease-in) both}
.wmap .lvl[hidden]{display:none}
.wmap .lvl svg{width:100%;height:100%;display:block}
.wmap .lvl .land{fill:none;stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.85}
.wmap .lvl-australia .land{stroke-width:2}
.wmap .lvl .dots circle{fill:#25CAB6;stroke:#094058;stroke-width:1;transform-origin:center;transform-box:fill-box;animation:dotin 600ms var(--ease-in) both}
.wmap .lvl .dots circle:nth-child(2n){animation-delay:120ms}.wmap .lvl .dots circle:nth-child(3n){animation-delay:240ms}
.wmap .lvl .dots circle.home{fill:#25CAB6;stroke:#F4F1EC;stroke-width:2}
@keyframes dotin{from{transform:scale(0)}}
.wmap .lvl .arcs path{fill:none;stroke:#25CAB6;stroke-width:1;stroke-dasharray:3 6;opacity:.7}
.wmap .lvl .labels text,.wmap .lvl .lab{font:700 15px "Atkinson Hyperlegible",system-ui,sans-serif;fill:currentColor;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.wmap .lvl .lab{text-transform:none;letter-spacing:0;opacity:1}
.wmap .zoomhit{cursor:zoom-in}
.wmap .zoomhit rect,.wmap .zoomhit circle{stroke:#25CAB6;stroke-width:1.5;stroke-dasharray:4 6;opacity:.7;transition:opacity 200ms}
.wmap .zoomhit:hover rect,.wmap .zoomhit:hover circle{opacity:1}
.wmap .lvl-leaflet .leaf{position:absolute;inset:0}
.wmap .zoomctl{position:absolute;right:12px;bottom:12px;z-index:5;display:flex;gap:6px}
.wmap .zoomctl button{width:38px;height:38px;border-radius:50%;border:0;background:#094058;color:#F4F1EC;font:700 20px/1 system-ui;cursor:pointer;box-shadow:0 4px 14px rgba(2,28,37,.3)}
.wmap .zoomctl button:hover{background:#25CAB6;color:#021C25}
.lpin{width:18px;height:18px}
.lpin i{display:block;width:18px;height:18px;border-radius:50%;background:#094058;border:2px solid #fff;box-shadow:0 2px 8px rgba(2,28,37,.35)}
.lpin.home i{background:#25CAB6;width:22px;height:22px;margin:-2px}
.lpin.tram i{background:#25CAB6}
.lpin.city i{background:#7E9199}
.lpin b{position:absolute;left:24px;top:-2px;white-space:nowrap;font:700 12px/1.3 "Atkinson Hyperlegible",system-ui,sans-serif;color:#021C25;background:rgba(255,255,255,.92);padding:3px 7px;border-radius:4px;box-shadow:0 1px 4px rgba(2,28,37,.2)}
.lpin.home b{font-size:15px}
.wmap .leaflet-container{font-family:inherit;background:#EEF3F4}
.wmap .leaflet-control-attribution{font-size:15px;background:rgba(255,255,255,.8)}
@media (max-width:800px){.wmap{grid-template-columns:1fr}.wmap .wmap-stage{aspect-ratio:1/1}}
/* gallery */
.gallery .vid{margin:0 0 clamp(20px,3vw,32px);position:relative;border-radius:12px;overflow:hidden;background:#021C25;aspect-ratio:16/9;max-width:960px}
.gallery .vid iframe,.gallery .vid video{position:absolute;inset:0;width:100%;height:100%;border:0}
.gallery .vid figcaption{position:absolute;left:14px;bottom:10px;font-size:15px;color:#F4F1EC;background:rgba(2,28,37,.6);padding:4px 8px;border-radius:4px}
.gallery .shots{display:flex;gap:clamp(12px,2vw,20px);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 14px;scrollbar-width:thin}
.gallery .shot{flex:0 0 min(420px,80vw);scroll-snap-align:start;margin:0}
.gallery .shot img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}
.gallery .shot figcaption{font-size:15px;color:var(--muted);margin-top:8px}
/* contact: faq tabs inside the same page */
.contact .ways{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
/* services psychology on deep: the grid reads on dark */
.g-deep .card h4,.g-deep .card .ct{color:#F4F1EC}.g-deep .card .idx{color:#25CAB6}.g-deep .card p{color:#CFE3EA}
.g-ink .card h4,.g-ink .card .ct{color:#F4F1EC}.g-ink .card p{color:#CFE3EA}
/* fees calc: keep the chips readable on deep */
.g-deep .chip{border-color:rgba(244,241,236,.35)}
/* map polish: land is a soft fill, coastline only; stage fills its column */
.wmap .lvl .land{fill:rgba(9,64,88,.10);stroke:#094058;stroke-width:1;opacity:1;fill-rule:evenodd}
.wmap.g-ink .lvl .land,.wmap.g-deep .lvl .land{fill:rgba(244,241,236,.10);stroke:#F4F1EC}
.wmap .lvl-world svg{padding:12px}
.wmap .wmap-stage{aspect-ratio:1000/560;max-height:min(70vh,600px)}
/* contact: no boxes here either */
.contact .way,.contact a.way{border:0;border-top:1px solid var(--hair);border-radius:0;padding:16px 0 0}
.g-paper .contact .way,.g-white .contact .way{border-top-color:rgba(2,28,37,.18)}
.contact a.way:hover{transform:none}.contact a.way:hover .v{color:var(--dot)}
.contact .way .v{transition:color 200ms}
/* ===== 0.10.0: memberships, funding doors, careers forms, crisis, accessibility ===== */
.members,.doors,.cform{padding-block:clamp(36px,5vw,64px);position:relative;overflow:hidden}
.members h2,.doors h2,.cform h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 16px;max-width:18ch}
.members .intro,.doors .intro{max-width:60ch;color:var(--fg2);margin:0 0 clamp(20px,3vw,36px)}
/* memberships: a calm strip, logos greyscale until hovered, wordmark fallback */
.members .logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(18px,3vw,40px) clamp(18px,3vw,48px);align-items:start;border-top:1px solid var(--hair);padding-top:clamp(20px,3vw,36px)}
.members .logos li>a,.members .logos li>span{display:grid;gap:10px;text-decoration:none;color:inherit;justify-items:start}
.members .logos img{height:56px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1) contrast(1.25);opacity:1;transition:filter 300ms,opacity 300ms}
.members .logos a:hover img,.members .logos a:focus-visible img{filter:none;opacity:1}
.members.g-ink .logos img,.members.g-deep .logos img{filter:grayscale(1) brightness(0) invert(1);opacity:.85}
.members.g-ink .logos a:hover img,.members.g-deep .logos a:hover img{filter:brightness(0) invert(1);opacity:1}
.members .wm{font-weight:700;font-size:clamp(1.4rem,2.2vw,1.9rem);letter-spacing:-.02em;line-height:1;height:56px;display:flex;align-items:center}
.members .full{font-size:15px;color:var(--muted);line-height:1.35;max-width:22ch}
.members .logos a:hover .full{color:var(--fg)}
/* funding doors: sticky index beside numbered doors */
.doors-grid{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,2fr);gap:clamp(24px,5vw,80px);align-items:start;clear:both}
.doors .index{position:sticky;top:calc(var(--hdr) + 20px)}
.doors .index ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.doors .index a{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--hair);text-decoration:none;color:var(--muted);font-weight:700;font-size:15px;transition:color 200ms}
.doors .index a .n{font-variant-numeric:tabular-nums;font-size:15px;color:var(--dot);opacity:.7}
.doors .index a:hover,.doors .index a.on{color:var(--fg)}
.doors .index a.on .n{opacity:1;color:var(--accent)}
.doors .door{padding:clamp(24px,3.5vw,44px) 0;border-top:1px solid var(--hair);display:grid;grid-template-columns:3rem 1fr;gap:6px clamp(12px,2vw,24px);scroll-margin-top:calc(var(--hdr) + 16px)}
.doors .door:first-child{border-top:0;padding-top:0}
.doors .door .idx{font-variant-numeric:tabular-nums;font-weight:700;color:var(--dot);font-size:1rem;padding-top:.45em;grid-row:span 4}
.doors .door h3{margin:0;font-size:clamp(1.4rem,2.4vw,2.1rem);letter-spacing:-.02em;line-height:1.1}
.doors .door .lead{margin:6px 0 0;font-size:clamp(1rem,1.3vw,1.15rem);color:var(--fg2);max-width:58ch}
.doors .door dl{margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px clamp(16px,2vw,32px);max-width:70ch}
.doors .door dl div{border-top:1px solid var(--hair);padding-top:8px}
.doors .door dt{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.doors .door dd{margin:4px 0 0;font-size:.95rem;line-height:1.45}
.doors .door .note{margin:14px 0 0;font-size:.92rem;color:var(--muted);max-width:60ch}
@media (max-width:860px){.doors-grid{grid-template-columns:1fr}.doors .index{position:static}.doors .index ol{display:flex;flex-wrap:wrap;gap:6px;border:0}.doors .index a{border:1px solid var(--hair);border-radius:999px;padding:6px 12px;font-size:15px}.doors .index a .n{display:none}}
/* careers forms: text beside a plain form; alerts mode sits on ink */
.cf-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:start;clear:both}
.cform .cf-text p{max-width:52ch;color:var(--fg2)}
.cform .social{display:flex;gap:18px;flex-wrap:wrap}.cform .social a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--dot);color:inherit}
.cform .cf{display:grid;gap:14px;position:relative}
.cform .cf .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cform .cf label{display:grid;gap:6px;font-size:15px;font-weight:700}
.cform .cf label.check{grid-template-columns:auto 1fr;align-items:start;font-weight:400;font-size:15px;line-height:1.4}
.cform .cf .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cform .cf input:not([type=checkbox]),.cform .cf select{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--hair);border-radius:6px;background:var(--field);color:inherit;min-width:0;width:100%}
.cform .cf input:focus-visible,.cform .cf select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.cform .cf .act{margin:6px 0 0;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.cform .cf .quiet{font-size:15px;color:var(--muted);max-width:32ch}
.cform .cf .note{margin:0;font-size:15px;line-height:1.5;padding:12px 14px;border-left:3px solid var(--dot)}
.cform .cf .note a{font-weight:700;color:inherit}
.cform .cf.sent>*:not(.note){display:none}
.cform .cf.sent .note{display:block;border-left-color:var(--accent);font-size:1.05rem}
.cform.mode-alerts .cf-grid{align-items:center}
@media (max-width:760px){.cf-grid{grid-template-columns:1fr}.cform .cf .row{grid-template-columns:1fr}}
/* crisis: 000 and text options fixed on the left, lines on the right, numbers large */
.cr-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.4fr);gap:clamp(24px,5vw,80px);align-items:start;clear:both}
.crisis .cr-side{position:sticky;top:calc(var(--hdr) + 20px)}
.crisis .cr-side .intro{max-width:40ch;color:var(--fg2);margin:0 0 22px}
.crisis .triple{display:grid;gap:4px;text-decoration:none;color:inherit;padding:18px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.crisis .triple .big{font-size:clamp(3rem,6vw,5rem);font-weight:700;line-height:.95;letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums}
.crisis .triple .lab{font-size:15px;color:var(--muted);max-width:32ch}
.crisis .cant{margin-top:22px}.crisis .cant h3{font-size:1.05rem;margin:0 0 8px}
.crisis .cant ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px;color:var(--fg2)}
.crisis .cant a{color:inherit;font-weight:700}
.crisis .cr-jump{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.crisis .cr-jump .chip{text-decoration:none;font-size:15px;padding:6px 11px}
.crisis .grp{font-size:15px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:clamp(20px,3vw,32px) 0 0;scroll-margin-top:calc(var(--hdr) + 16px)}
.crisis .grp:first-child{margin-top:0}
.crisis .lines{display:block;gap:0}
.crisis li{display:grid;grid-template-columns:minmax(10rem,auto) 1fr;gap:2px 20px;padding:14px 0;border-top:1px solid var(--hair);align-items:baseline}
.crisis .num{font-size:clamp(1.5rem,2.4vw,2.1rem);letter-spacing:-.02em;grid-row:span 2;align-self:start}
.crisis .num:hover,.crisis .num:focus-visible{color:var(--accent)}
.crisis .n{font-size:1.05rem}.crisis .d a{color:inherit}
@media (max-width:860px){.cr-grid{grid-template-columns:1fr}.crisis .cr-side{position:static}.crisis li{grid-template-columns:1fr}.crisis .num{grid-row:auto}}
/* identity map: the section link sits under the controls */
.idmap .sec-link{margin-top:18px}
/* accessibility page: the "what this site does" list reads as a checklist */
.glance.a11y dl{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
/* prose in two columns for long reference copy */
@media (min-width:900px){.prose.two .body{column-count:2;column-gap:clamp(32px,4vw,64px)}.prose.two .body h3{break-after:avoid;margin-top:0}.prose.two .body ul,.prose.two .body p{break-inside:avoid}.prose.two .body h3:first-child{margin-top:0}}
/* crisis lines: one compact row each — number, name, what it is */
.cr-grid{grid-template-columns:minmax(240px,.75fr) minmax(0,1.6fr)}
.crisis li{display:block;padding:11px 0;line-height:1.35}
.crisis .num{grid-row:auto;font-size:clamp(1.3rem,2vw,1.7rem);display:inline-block;min-width:9.5rem;margin-right:14px}
.crisis .n{display:inline;margin-right:10px}.crisis .d{display:inline;font-size:.9rem}
@media (max-width:860px){.crisis .num{display:block;min-width:0}}
.crisis .grp{margin:clamp(16px,2.4vw,26px) 0 0}
/* ===== 0.11.0 ===== */
/* header: always sticky; the progress line is part of the header's bottom edge, not a floating bar */
.site-header{position:sticky;top:0}
body.hdr-static .site-header{position:sticky}
.progress,body.hdr-static .progress{position:absolute;left:0;right:0;bottom:-1px;top:auto;height:3px;z-index:1;transition:none}
/* primary nav with dropdowns; current page underlined */
.lnav{position:relative;font-size:15px}
.lnav .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lnav-list{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.lnav-item{position:relative;display:flex;align-items:center}
.lnav-item>a{color:#F4F1EC;text-decoration:none;padding:8px 8px 8px 10px;position:relative;font-weight:500;white-space:nowrap}
.lnav-item>a::after{content:"";position:absolute;left:10px;right:8px;bottom:2px;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-in)}
.lnav-item>a:hover::after,.lnav-item.current>a::after,.lnav-item>a[aria-current]::after{transform:scaleX(1)}
.lnav-item.current>a{color:#FFF}
.lnav-more{background:none;border:0;color:#F4F1EC;width:24px;height:32px;display:grid;place-items:center;cursor:pointer;border-radius:6px;margin-left:0;margin-right:4px}
.lnav-more svg{width:12px;height:12px;transition:transform 200ms}
.lnav-item.open .lnav-more svg{transform:rotate(180deg)}
.lnav-sub{list-style:none;margin:0;padding:10px 0;position:absolute;left:0;top:calc(100% + 6px);min-width:260px;background:#021C25;border:1px solid rgba(244,241,236,.14);border-radius:10px;box-shadow:0 20px 50px rgba(2,28,37,.45);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 180ms,transform 180ms,visibility 0s 180ms;z-index:40}
.lnav-item.open .lnav-sub{opacity:1;visibility:visible;transform:none;transition:opacity 180ms,transform 180ms}
@media (hover:hover) and (min-width:1101px){.lnav-item:hover .lnav-sub,.lnav-item:focus-within .lnav-sub{opacity:1;visibility:visible;transform:none;transition:opacity 180ms,transform 180ms}}
.lnav-sub a{display:block;padding:9px 18px;color:#F4F1EC;text-decoration:none;font-size:15px}
.lnav-sub a:hover,.lnav-sub a:focus-visible{background:rgba(37,202,182,.14);color:#25CAB6}
.lnav-sub a[aria-current]{color:#25CAB6;font-weight:700}
.lnav-burger{display:none;background:none;border:0;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;align-items:center;cursor:pointer;border-radius:8px}
.lnav-burger span:not(.vh){display:block;width:24px;height:2px;background:#F4F1EC;transition:transform 220ms,opacity 220ms}
.lnav.open .lnav-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}.lnav.open .lnav-burger span:nth-child(2){opacity:0}.lnav.open .lnav-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media (max-width:1100px){
  .lnav-burger{display:flex}
  .lnav-list{display:none;position:fixed;inset:var(--hdr,64px) 0 0 0;background:#021C25;padding:clamp(20px,5vw,60px);flex-direction:column;align-items:stretch;gap:0;overflow:auto;z-index:35}
  .lnav.open .lnav-list{display:flex}
  .lnav-item{flex-wrap:wrap;border-bottom:1px solid rgba(244,241,236,.14)}
  .lnav-item>a{font-size:clamp(1.5rem,5vw,2.2rem);font-weight:700;padding:14px 0;flex:1}
  .lnav-item>a::after{display:none}.lnav-item.current>a{color:#25CAB6}
  .lnav-more{width:44px;height:44px}.lnav-more svg{width:18px;height:18px}
  .lnav-sub{position:static;opacity:1;visibility:visible;transform:none;display:none;width:100%;background:none;border:0;box-shadow:none;padding:0 0 12px 8px}
  .lnav-item.open .lnav-sub{display:block}
  .lnav-sub a{font-size:1.05rem;padding:8px 0}
  .site-header .header-actions{display:none}
}
/* acknowledgement: flags separate on hover; words light in the Aboriginal flag's colours; Sistergirls and Brotherboys stand out */
.ack .fp{transition:transform 600ms var(--ease-in),left 600ms var(--ease-in),right 600ms var(--ease-in),top 600ms var(--ease-in),bottom 600ms var(--ease-in)}
.ack .fp{width:64%}
.ack .fp1{left:0;top:0;transform:rotate(-3deg)}
.ack .fp2{right:0;bottom:0;transform:rotate(2deg)}
.ack .flagpair:hover .fp1,.ack .flagpair:focus-within .fp1{transform:rotate(-6deg) translate(-4%,-6%)}
.ack .flagpair:hover .fp2,.ack .flagpair:focus-within .fp2{transform:rotate(4deg) translate(4%,6%)}
.ack .ack-title{font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:700;letter-spacing:.02em;margin:0 0 14px;color:#CFE3EA}
.ack .big{max-width:22ch}
.ack .rest{margin:0 0 12px}
.ack .flagcol .wd:nth-child(3n+1) .c{--hl:#FFFF00}.ack .flagcol .wd:nth-child(3n+2) .c{--hl:#CC0000}.ack .flagcol .wd:nth-child(3n) .c{--hl:#FFFF00}
.ack .rest a{color:#FFFF00;font-weight:700;text-decoration:none;border-bottom:2px solid #CC0000}
.ack .rest a .c{--hl:#F4F1EC}
.ack .rest a:hover,.ack .rest a:focus-visible{color:#F4F1EC;border-bottom-color:#FFFF00}
@media (prefers-reduced-motion:reduce){.ack .fp{transition:none}}
/* statement: each sentence on its own line */
.state .big .ln{display:block}
/* cards: reveal (a question opens its answer) — unnumbered, two columns, breathing room */
.cards.lay-reveal .reveal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 clamp(32px,5vw,80px);clear:both}
.cards.lay-reveal .rev{border-top:1px solid var(--hair)}
.cards.lay-reveal .rev summary{list-style:none;cursor:pointer;font-weight:700;font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.25;padding:18px 3rem 18px 0;position:relative}
.cards.lay-reveal .rev summary::-webkit-details-marker{display:none}
.cards.lay-reveal .rev summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;border-radius:50%;background:var(--dot);transform:translateY(-50%);transition:transform 300ms var(--ease-in)}
.cards.lay-reveal .rev[open] summary::after{transform:translateY(-50%) scale(.45)}
.cards.lay-reveal .rev .ans{padding:0 0 22px;max-width:56ch;color:var(--fg2)}
.cards.lay-reveal .rev .ans p{margin:0 0 8px}.cards.lay-reveal .rev .more{font-weight:700;text-decoration:none;color:inherit;border-bottom:2px solid var(--dot)}
.cards.lay-reveal .rev[open] .ans{animation:faqin 360ms var(--ease-in) both}
.cards.lay-reveal .grp{grid-column:1/-1;font-size:15px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:24px 0 4px}
/* cards: cloud (grouped phrases; tap one to read a line) */
.cards.lay-cloud .cloud{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(20px,3vw,40px) clamp(24px,4vw,56px);clear:both}
.cards.lay-cloud .grp{font-size:15px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--hair)}
.cards.lay-cloud .cl-items{display:flex;flex-wrap:wrap;gap:8px}
.cards.lay-cloud .cl-item{font:inherit;font-size:15px;font-weight:700;padding:7px 12px;border-radius:999px;border:1px solid var(--hair);background:transparent;color:inherit;cursor:pointer;transition:background 200ms,border-color 200ms,color 200ms}
.cards.lay-cloud .cl-item:hover,.cards.lay-cloud .cl-item[aria-expanded="true"]{border-color:var(--dot);background:var(--dot);color:var(--paper)}
.g-paper .cards.lay-cloud .cl-item[aria-expanded="true"],.g-white .cards.lay-cloud .cl-item[aria-expanded="true"],.g-paper .cards.lay-cloud .cl-item:hover,.g-white .cards.lay-cloud .cl-item:hover{color:#F4F1EC}
.cards.lay-cloud .cl-out{margin:10px 0 0;font-size:.95rem;line-height:1.5;color:var(--fg2);min-height:0;max-width:60ch}
.cards.lay-cloud .cl-out.on{padding:10px 14px;border-left:3px solid var(--dot);animation:faqin 300ms var(--ease-in) both}
.cards.lay-cloud .cl-out a{font-weight:700;color:inherit}
/* steps: spine — vertical, alternating sides, loop back at the end; intro sits under the title at full width */
.steps.spine .sec-head{max-width:none}
.steps.spine .sec-head .intro{max-width:70ch;font-size:clamp(1rem,1.3vw,1.15rem)}
.steps.spine .pre{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:8px 0 26px;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);font-size:15px;color:var(--muted)}
.steps.spine .pre-lab{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:15px}
.steps.spine .pre ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}
.steps.spine .pre a,.steps.spine .pre span{color:inherit;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.steps.spine .pre b{width:20px;height:20px;border-radius:50%;border:1px solid var(--hair);display:grid;place-items:center;font-size:15px}
.steps.spine .pre a:hover{color:var(--fg)}.steps.spine .pre a:hover b{border-color:var(--dot);color:var(--dot)}
.steps.spine .pre-arrow{margin-left:auto;font-size:18px}
.steps.spine .spine-list{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:clamp(18px,2.5vw,32px)}
.steps.spine .spine-list::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--hair);transform:translateX(-50%)}
.steps.spine .spine-list li{display:grid;grid-template-columns:1fr 56px 1fr;align-items:center;gap:0 clamp(16px,2.5vw,40px)}
.steps.spine .spine-list .node{grid-column:2;justify-self:center;width:44px;height:44px;border-radius:50%;background:#25CAB6;color:#021C25;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 6px var(--bg-current,transparent);z-index:1}
.steps.spine.g-ink .node{--bg-current:#021C25}.steps.spine.g-deep .node{--bg-current:#094058}.steps.spine.g-paper .node{--bg-current:#F4F1EC}.steps.spine.g-white .node{--bg-current:#FFF}
.steps.spine .spine-list li.l .txt{grid-column:1;grid-row:1;text-align:right;justify-self:end}
.steps.spine .spine-list li.r .txt{grid-column:3;grid-row:1;text-align:left;justify-self:start}
.steps.spine .spine-list .txt{max-width:44ch}
.steps.spine .spine-list h3{margin:0 0 6px;font-size:clamp(1.15rem,1.7vw,1.4rem)}
.steps.spine .spine-list p{margin:0;font-size:.98rem;line-height:1.5;color:var(--fg2)}
.steps.spine .spine-list .tag{display:inline-block;margin-top:8px;font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.steps.spine .loop{width:60px;height:100px;display:block;margin:-8px auto 0;color:#25CAB6;opacity:.9}
.steps.spine .after{text-align:center;max-width:52ch;margin:12px auto 0}
@media (max-width:760px){.steps.spine .spine-list::before{left:22px;transform:none}.steps.spine .spine-list li{grid-template-columns:44px 1fr;gap:0 16px}.steps.spine .spine-list .node{grid-column:1}.steps.spine .spine-list li.l .txt,.steps.spine .spine-list li.r .txt{grid-column:2;text-align:left;justify-self:start}.steps.spine .loop{margin-left:12px}}
/* endcap: the last screen — arches breathing behind the line, no drawing */
.endcap{position:relative;overflow:hidden;min-height:min(70vh,560px);display:grid;align-items:end;padding-block:clamp(48px,7vw,96px)}
.endcap .arches{position:absolute;right:-4%;bottom:0;width:min(60vw,640px);height:auto;pointer-events:none;color:var(--dot);opacity:.35}
.endcap .arch{fill:none;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke;transform-origin:50% 100%;animation:archbreathe 9s var(--ease-mid) infinite}
.endcap .a1{animation-delay:-1.5s}.endcap .a2{animation-delay:-3s}.endcap .a3{animation-delay:-4.5s}.endcap .a4{animation-delay:-6s}
@keyframes archbreathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.035)}}
html.reduce .endcap .arch{animation:none}
@media (prefers-reduced-motion:reduce){.endcap .arch{animation:none}}
.endcap .ec-text{position:relative;z-index:1;max-width:60ch}
.endcap h2{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1;letter-spacing:-.025em;margin:0 0 18px}
.endcap p{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--fg2);margin:0 0 22px;max-width:46ch}
.endcap .acts{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.endcap .quiet-link{color:inherit;font-weight:700;text-decoration:none;border-bottom:2px solid var(--dot)}
.endcap .small{font-size:15px;color:var(--muted)}
/* memberships: two rows of four; logos when files exist */
@media (min-width:800px){.members .logos{grid-template-columns:repeat(4,1fr)}}
.members .logos img{height:64px;max-width:200px}
/* map: hand-drawn Prahran + world with fills; key */
.wmap .levels [role=tab]{padding:8px 14px}
.wmap .key{margin:14px 0 0;display:grid;gap:8px;font-size:15px;color:var(--fg2)}
.wmap .key div{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:center}
.wmap .key dt{margin:0}.wmap .key dd{margin:0}
.wmap .key i{display:block;width:16px;height:16px;border-radius:50%}
.wmap .key .k-home{background:#25CAB6;border:2px solid #F4F1EC;box-shadow:0 0 0 1px #25CAB6}
.wmap .key .k-tram{background:#25CAB6;border-radius:4px}
.wmap .key .k-train{background:#094058}
.wmap .key .k-park{background:transparent;border:2px solid #094058;position:relative}
.wmap.g-ink .key .k-park,.wmap.g-deep .key .k-park,.wmap.g-ink .key .k-train,.wmap.g-deep .key .k-train{border-color:#F4F1EC;background:#F4F1EC}
.wmap .key .k-mark{background:#7E9199;border-radius:2px}
.wmap .key .k-dot{background:#25CAB6;border:1px solid #094058}
.wmap .key .k-fill{background:rgba(37,202,182,.35);border-radius:3px}
.wmap .wmap-stage{aspect-ratio:1000/620;background:transparent}
.sketch{font-family:"Atkinson Hyperlegible",system-ui,sans-serif}
.sketch .road{stroke:currentColor;stroke-width:14;fill:none;opacity:.12;stroke-linecap:round}
.sketch .road.main{stroke-width:26;opacity:.16}
.sketch .road.minor{stroke-width:10;opacity:.08}
.sketch .rail{stroke:currentColor;stroke-width:4;fill:none;stroke-dasharray:14 10;opacity:.5}
.sketch .labels .rd{font-size:15px;font-weight:700;fill:currentColor;opacity:.7;letter-spacing:.04em}
.sketch .park circle{fill:none;stroke:currentColor;stroke-width:2;opacity:.6}
.sketch .park text{font-size:15px;font-weight:700;fill:currentColor;text-anchor:middle;opacity:.7}
.sketch .poi text{text-anchor:middle;font-weight:700;fill:currentColor}
.sketch .poi .cap{font-size:15px;opacity:.8}.sketch .poi .cap.big{font-size:16px;opacity:1}
.sketch .tram rect{fill:#25CAB6}.sketch .tram text{font-size:15px;fill:#021C25}
.sketch .train circle{fill:#094058}.sketch .train text{font-size:16px;fill:#F4F1EC}
.wmap.g-ink .sketch .train circle,.wmap.g-deep .sketch .train circle{fill:#F4F1EC}.wmap.g-ink .sketch .train text,.wmap.g-deep .sketch .train text{fill:#021C25}
.sketch .mark path{fill:none;stroke:currentColor;stroke-width:2;opacity:.6}
.sketch .other rect{fill:none;stroke:currentColor;stroke-width:2;opacity:.5}
.sketch .home path{fill:#25CAB6}.sketch .home circle{fill:#F4F1EC}
.sketch .walk path{fill:none;stroke:#25CAB6;stroke-width:2.5;stroke-dasharray:6 8;stroke-linecap:round}
.sketch .walk .cap{font-size:15px;font-weight:700;fill:#25CAB6}
.sketch .compass circle{fill:none;stroke:currentColor;stroke-width:1.5;opacity:.5}.sketch .compass path{fill:currentColor;opacity:.7}.sketch .compass .cap{font-size:15px;fill:currentColor;text-anchor:middle}
.wmap .lvl-world .reg{stroke:none}
.wmap .lvl-world .reg-europe{fill:rgba(37,202,182,.42)}.wmap .lvl-world .reg-asia{fill:rgba(37,202,182,.3)}.wmap .lvl-world .reg-australia{fill:rgba(254,98,25,.35)}.wmap .lvl-world .reg-nz{fill:rgba(37,202,182,.5)}
.wmap .lvl-world .land{fill:rgba(9,64,88,.06)}
/* identity map: a picker instead of typing */
.idmap .idcats{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.idmap .idcats .chip{font-size:15px;padding:5px 10px}
.idmap .idcats .chip[aria-selected="true"]{background:#094058;color:#F4F1EC;border-color:#094058}
.idmap .idopts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;max-height:118px;overflow:auto;padding-bottom:4px}
.idmap .idopts .chip{font-size:15px;padding:5px 10px}
.idmap .idopts .chip[aria-pressed="true"]{background:#25CAB6;border-color:#25CAB6;color:#021C25}
.idmap .addform{margin-top:10px}
.idmap .idchosen{margin:10px 0 0;font-size:15px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.idmap .idchosen .lab{color:var(--muted)}
.idmap .chosen{font:inherit;font-size:15px;border:0;background:rgba(9,64,88,.1);border-radius:999px;padding:4px 10px;cursor:pointer;color:inherit}
.idmap .chosen:hover{background:#25CAB6;color:#021C25}
/* team block intro */
.people .intro{max-width:60ch;color:var(--fg2);margin:-16px 0 clamp(24px,3vw,40px)}
/* accessibility Q&A on deep: chips and text readable */
.g-deep .faq .tabs .chip{border-color:color-mix(in srgb,var(--fg) 40%,transparent);color:var(--fg)}
.g-deep .faq .tabs .chip[aria-selected="true"]{background:#25CAB6;color:#021C25;border-color:#25CAB6}
.g-deep .faq .ans,.g-deep .faq summary{color:#F4F1EC}
.g-deep .faq .intro{color:#CFE3EA}
/* v0.26: people block in "spotlight" mode (only) — one person, portrait beside bio, not a stamp */
.people-single .row{grid-template-columns:minmax(200px,280px) 1fr;align-items:start;gap:clamp(28px,5vw,64px)}
.people-single .person{padding-left:0;cursor:default}
.people-single .person::before{display:none}
.people-single .person .head{width:100%;height:auto;aspect-ratio:1;margin-bottom:0}
.people-single .person h3{font-size:clamp(1.5rem,2.6vw,2rem);margin-top:18px}
.people-single .person p{max-width:56ch;font-size:1.05rem}
.people-single .person .how{max-height:none;overflow:visible;margin-top:8px}
@media (max-width:640px){.people-single .row{grid-template-columns:1fr;max-width:260px;margin-inline:auto;text-align:center}.people-single .person p{max-width:none}}
/* v0.26: photo evidence sections (e.g. Speaking) using a plain core gallery inside a prose section */
.prose .wp-block-gallery{margin-top:24px}
.prose .wp-block-gallery figure{margin:0}
.prose .wp-block-gallery img{border-radius:8px;display:block;width:100%;height:auto;object-fit:cover}
/* funding index: moves with the reader (sticky already) and lights the door in view; on short screens it scrolls with the page */
.doors .index{max-height:calc(100vh - var(--hdr) - 40px);overflow:auto}
.wmap .key[hidden]{display:none}
.sketch .poi .cap{font-size:15px}
.sketch .labels .rd{font-size:16px}
/* spine: undo the list-step rules that leak in */
.steps.spine .spine-list li{border:0;padding:0;margin:0;background:none}
.steps.spine .spine-list{gap:clamp(6px,1.2vw,14px)}
.steps.spine .spine-list .txt{padding:8px 0}
.steps.spine .pre li{display:inline-flex;border:0;padding:0;margin:0}
.steps.spine .pre a,.steps.spine .pre span{white-space:nowrap;font-size:15px}
.steps.spine .pre{gap:8px 18px}
.site-header .lnav-item>a,.site-header .lnav-sub a,.site-header .lnav-more{color:#F4F1EC}
.site-header .lnav-item.current>a{color:#FFF}
.site-header .lnav-sub a:hover,.site-header .lnav-sub a[aria-current]{color:#25CAB6}
/* ===== 0.12.0 ===== */
/* threshold hero: ink ground, nested arches on the right, paper text (hero-A-threshold dark) */
.hero.threshold{background:#0B2534;color:#F4F1EC;--fg:#F4F1EC;--muted:#9DB4BC;--dot:#25CAB6;min-height:var(--screen);display:grid;align-content:center;padding-block:clamp(40px,6vw,80px)}
.hero.threshold .arches{position:absolute;right:-2%;bottom:0;top:0;width:min(58vw,760px);pointer-events:none;z-index:0}
.hero.threshold .arches svg{position:absolute;inset:0;width:100%;height:100%}
.hero.threshold .arch{transform-origin:50% 100%;will-change:transform}
.hero.threshold .line{color:#F4F1EC}
.hero.threshold .line .stop{color:var(--dot)}
.hero.threshold .sub{color:#CFE7F0;max-width:36ch}
.hero.threshold .meta{color:var(--muted)}
.hero.threshold .line{--hl:#25CAB6}
.hero.threshold .fields{display:none}
@media (max-width:760px){.hero.threshold .arches{width:100%;opacity:.45}}
/* nav: white, always */
.site-header .lnav-item>a:not(.btn):not(.wordmark),.g-ink .site-header .lnav-item>a,.site-header.g-ink .lnav-item>a,.site-header .lnav-more,.site-header .lnav-burger span:not(.vh){color:#FFF;background-color:transparent}
.site-header .lnav-item>a:hover,.site-header .lnav-item>a:focus-visible,.site-header .lnav-item.is-current>a{color:#FFF;text-decoration-color:#25CAB6}
.site-header .lnav-sub a:not(.btn):not(.wordmark){color:#F4F1EC}
.site-header .lnav-burger span:not(.vh){background:#FFF}
.site-header .lnav-item>a::after{background:#FFF}
.site-header .lnav-sub{background:#021C25}.site-header .lnav-sub a{color:#FFF}
/* accordions: full width answers */
.faq .ans,.cards.lay-reveal .rev .ans{max-width:none}
/* faq tabs on any ground: readable when selected (section carries the ground class itself) */
.faq.g-deep .tabs .chip,.faq.g-ink .tabs .chip{border-color:color-mix(in srgb,var(--fg) 40%,transparent);color:var(--fg)}
.faq.g-deep .tabs .chip[aria-selected="true"],.faq.g-ink .tabs .chip[aria-selected="true"]{background:#25CAB6;color:#021C25;border-color:#25CAB6}
.faq.g-paper .tabs .chip[aria-selected="true"],.faq.g-white .tabs .chip[aria-selected="true"]{background:#094058;color:#F4F1EC;border-color:#094058}
.faq.g-deep summary,.faq.g-deep .ans,.faq.g-ink summary,.faq.g-ink .ans{color:var(--fg)}
/* facts with a fixed column count */
.glance[style*="--gcols"] dl{grid-template-columns:repeat(var(--gcols),1fr)}
@media (max-width:760px){.glance[style*="--gcols"] dl{grid-template-columns:1fr}}
/* contact: colour in the ways */
.contact .way .k{color:var(--dot)}
.contact .way h3{color:var(--dot)}
.g-white .contact .way .v,.g-paper .contact .way .v{color:#094058}
/* gallery: several videos in a row */
.gallery .vids{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(12px,2vw,20px);margin:0 0 clamp(20px,3vw,32px)}
.gallery .vids .vid{margin:0;max-width:none}
/* doors: sticky index needs no clipping */
.doors{overflow:visible}
.doors .index{position:sticky;top:calc(var(--hdr) + 20px)}
/* steps journey: intro under the title, full width; stop text wider */
.steps.journey .sec-head{display:block;max-width:none}
.steps.journey .sec-head .intro{max-width:80ch;margin-top:8px}
.steps.journey .stop .txt{width:clamp(200px,19vw,280px)}
/* referrers: three across, no drawing */
.cards.lay-grid.three .grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.cards.lay-grid.three .grid{grid-template-columns:1fr}}
/* crisis without the side list: left column is just the heading and 000 */
.crisis .cr-side .intro{margin-bottom:18px}
.sketch .road.street{stroke-width:5;opacity:.07}
.sketch .road.minor{stroke-width:9;opacity:.1}
.sketch .road.major{stroke-width:14;opacity:.13}
.sketch .road.main{stroke-width:22;opacity:.18}
.sketch .rail{stroke-width:3;stroke-dasharray:10 8;opacity:.45}
.sketch .credit{font-size:15px;fill:currentColor;opacity:.5}
.sketch .tram .cap{fill:#021C25;font-size:15px}
.wmap.g-ink .sketch .tram .cap,.wmap.g-deep .sketch .tram .cap{fill:#F4F1EC}
.hero.threshold .line{font-size:clamp(2.6rem,7vw,6.8rem)}
.hero.threshold .arches{width:min(46vw,620px);right:0}
.hero.threshold .lines,.hero.threshold .sub{max-width:52vw}
@media (max-width:760px){.hero.threshold .lines,.hero.threshold .sub{max-width:none}}
.sketch .poi .cap{paint-order:stroke;stroke:#F4F1EC;stroke-width:4px;stroke-linejoin:round}
.wmap.g-white .sketch .poi .cap{stroke:#FFF}
.wmap.g-ink .sketch .poi .cap,.wmap.g-deep .sketch .poi .cap{stroke:#021C25}
.sketch .walk path{stroke-width:2}

/* ---- 0.13.0: support services directory */
.dir .dir-grid{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:clamp(24px,4vw,56px);align-items:start;margin-top:clamp(20px,3vw,36px)}
.dir-filters{position:sticky;top:calc(var(--hdr) + 20px);max-height:calc(100vh - var(--hdr) - 40px);overflow:auto;display:grid;gap:18px}
.dir-search input{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--hair);border-radius:10px;background:transparent;color:inherit}
.dir-search input::placeholder{color:var(--muted)}
.dir-f{border:0;padding:0;margin:0;min-width:0}
.dir-f legend{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0;margin-bottom:8px}
.dir-f .chips{display:flex;flex-wrap:wrap;gap:6px}
.dir-f .chip{font-size:15px;padding:6px 12px}
.dir-clear{font:inherit;font-size:15px;background:none;border:0;color:var(--accent);text-decoration:underline;cursor:pointer;padding:0;justify-self:start}
.dir-note{font-size:15px;color:var(--muted);margin:0}
.dir-count{font-size:15px;color:var(--muted);margin:0 0 14px}
.dir-group .grp{font-size:clamp(20px,2vw,24px);margin:28px 0 12px;padding-top:18px;border-top:1px solid var(--hair)}
.dir-group:first-of-type .grp{margin-top:0;padding-top:0;border-top:0}
.dir-cards{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dir-card{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--hair);transition:background 200ms}
.dir-card.is-saved{background:linear-gradient(90deg,rgba(37,202,182,.10),transparent 60%)}
.dir-logo{width:56px;height:56px;border-radius:14px;background:var(--fg);color:var(--paper);display:grid;place-items:center;font-weight:700;font-size:18px;letter-spacing:.02em;overflow:hidden}
.dir-logo img{width:100%;height:100%;object-fit:contain;background:#FFF;padding:6px}
.g-ink .dir-logo,.g-deep .dir-logo{background:var(--paper);color:#021C25}
.dir-body h4{font-size:19px;margin:0 0 4px;line-height:1.25}
.dir-body h4 a{color:inherit;text-decoration:none}
.dir-body h4 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.dir-tel{font-size:22px;font-weight:700;color:var(--accent);text-decoration:none;margin-right:12px;white-space:nowrap}
.dir-tel:hover{text-decoration:underline}
.dir-hours{font-size:15px;color:var(--muted)}
.dir-hours.is-24{color:var(--accent);font-weight:700}
.dir-body p{margin:6px 0 0;font-size:15.5px;max-width:60ch}
.dir-alt{color:var(--muted);font-size:15px!important}
.dir-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.dir-tags span{font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--hair);border-radius:999px;padding:2px 8px}
.dir-save{display:inline-flex;align-items:center;gap:8px;font-size:15px;cursor:pointer;padding:8px 12px;border:1px solid var(--hair);border-radius:999px;white-space:nowrap}
.dir-save input{accent-color:var(--accent);width:16px;height:16px;margin:0}
.dir-card.is-saved .dir-save{background:var(--fg);color:var(--paper);border-color:var(--fg)}
.dir-empty{padding:24px 0;color:var(--muted)}
.dir-bar{position:sticky;bottom:0;margin:24px calc(-1 * clamp(20px,5vw,72px)) 0;padding:14px clamp(20px,5vw,72px) 16px;background:#021C25;color:#F4F1EC;display:grid;grid-template-columns:auto 1fr;gap:10px 24px;align-items:center;box-shadow:0 -10px 30px rgba(2,28,37,.18);z-index:5}
.dir-bar p{margin:0;font-size:16px}
.dir-bar b{color:#25CAB6;font-size:20px}
.dir-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
.dir-actions .btn{background:#25CAB6;color:#021C25}
.dir-actions .btn.ghost{background:transparent;color:#F4F1EC;border:1px solid rgba(244,241,236,.5)}
.dir-bar .dir-clear{color:#F4F1EC;opacity:.8}
.dir-form{grid-column:1/-1;display:grid;gap:10px;max-width:640px;padding-top:6px;border-top:1px solid rgba(244,241,236,.2)}
.dir-form input:not([type=checkbox]){font:inherit;font-size:16px;padding:10px 12px;border-radius:8px;border:1px solid rgba(244,241,236,.35);background:rgba(244,241,236,.06);color:#F4F1EC;width:100%}
.dir-form label{display:grid;gap:4px;font-size:15px}
.dir-form .kf-check{color:#F4F1EC!important}
.dir-form .kf-lead{color:rgba(244,241,236,.8)}
.dir-form .btn{justify-self:start;background:#25CAB6;color:#021C25}
.dir-form a{color:#25CAB6}
@media (max-width:820px){.dir .dir-grid{grid-template-columns:1fr}.dir-filters{position:static}.dir-card{grid-template-columns:44px 1fr}.dir-logo{width:44px;height:44px;font-size:15px}.dir-save{grid-column:2}.dir-bar{grid-template-columns:1fr}.dir-actions{justify-content:flex-start}}
@media print{.dir-filters,.dir-bar,.site-header,.site-footer{display:none!important}}
.dir [hidden]{display:none!important}
/* ---- 0.14.0: mobile pass */
@media (max-width:860px){
  .cr-grid{grid-template-columns:1fr}
  .crisis .lines{display:block}
  .crisis li{display:grid;grid-template-columns:1fr;gap:2px;padding:12px 0}
  .crisis .num{display:block;min-width:0;margin:0;font-size:1.6rem}
  .crisis .n{display:block;font-weight:700;margin:0}
  .crisis .d{display:block;font-size:.95rem;color:var(--muted)}
  .crisis .alt{display:block;font-size:.9rem;margin-top:2px}
  .doors .door{grid-template-columns:2.2rem 1fr;gap:4px 12px}
  .doors .door dl{grid-template-columns:1fr;max-width:none}
  .doors .door h3{font-size:1.35rem}
  .dir-filters{display:block}
  .dir-filters .dir-f,.dir-filters .dir-clear,.dir-filters .dir-note{display:none}
  .dir-filters.open .dir-f{display:block;margin-top:14px}
  .dir-filters.open .dir-clear,.dir-filters.open .dir-note{display:block;margin-top:14px}
  .dir-toggle{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:15px;font-weight:700;background:none;border:1px solid var(--hair);border-radius:999px;padding:10px 16px;color:inherit;cursor:pointer;margin-top:12px}
  .dir-toggle b{background:var(--accent);color:var(--accent-ink,#021C25);border-radius:999px;padding:0 8px;font-size:15px}
  .dir-card{grid-template-columns:44px 1fr}
  .dir-save{grid-column:2;justify-self:start}
}
@media (min-width:861px){.dir-toggle{display:none}}
@media (max-width:560px){
  .flags .strip,.home .flags .strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .home .entry-content>section.hero.threshold,.hero.threshold{min-height:auto;display:block;padding-bottom:0}
  .hero.threshold .arches{position:relative;inset:auto;width:100%;height:240px;opacity:1;margin:28px 0 0;order:9}
  .hero.threshold .arches svg{position:absolute;inset:0}
  .hero.threshold .lines,.hero.threshold .sub{max-width:none}
  .hero.threshold .line{font-size:clamp(2.4rem,11vw,3.4rem)}
  .members .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .members .logos img{height:44px;max-width:140px}
  .gallery .vids{grid-template-columns:1fr}
  .dir-bar{padding-inline:16px}
  .dir-actions .btn{padding:10px 14px;font-size:15px}
}

/* ---- 0.15.0: expression of interest form */
.cform.mode-eoi .cf-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr)}
.cform .cf textarea{font:inherit;font-size:16px;padding:10px 12px;border-radius:8px;border:1px solid var(--hair);background:rgba(255,255,255,.06);color:inherit;width:100%;resize:vertical}
.g-white .cform .cf textarea,.g-paper .cform .cf textarea{background:#FFF}
.cform .cf .files{align-items:stretch}
.cform .cf .file{display:grid;gap:6px;padding:14px;border:1px dashed var(--hair);border-radius:10px;cursor:pointer;transition:border-color 200ms,background 200ms}
.cform .cf .file:hover,.cform .cf .file:focus-within{border-color:var(--accent)}
.cform .cf .file.has{border-style:solid;border-color:var(--accent);background:rgba(37,202,182,.08)}
.cform .cf .file .lab{font-weight:700;display:flex;flex-direction:column;gap:2px}.cform .cf .file .lab small{font-weight:400;color:var(--muted);font-size:15px}
.cform .cf .file input[type=file]{font-size:15px;color:inherit;max-width:100%}
.cform .cf .file .picked{font-size:15px;color:var(--accent);word-break:break-all}
.cform .cf .note.bad{color:#FFA07A}
.g-paper .cform .cf .note.bad,.g-white .cform .cf .note.bad{color:#094058;font-weight:700}
.cform .cf .quiet,.cform .cf-text .quiet{font-size:15px;color:var(--muted)}
@media (max-width:760px){.cform.mode-eoi .cf-grid{grid-template-columns:1fr}}

/* ---- 0.18.0: reading preferences panel (Gate 3.1) */
.prefs{position:relative;display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}
.prefs-btn .prefs-ic{display:block}
.prefs-btn.active{border-color:#25CAB6;color:#25CAB6}
.prefs-btn.active .tog-dot{background:#25CAB6;transform:scale(1.3)}
.prefs-panel{position:fixed;right:16px;top:calc(var(--hdr,64px) + 10px);width:min(380px,calc(100vw - 32px));max-height:calc(100vh - var(--hdr,64px) - 24px);overflow:auto;background:#021C25;color:#F4F1EC;border:1px solid rgba(244,241,236,.18);border-radius:14px;box-shadow:0 24px 60px rgba(2,28,37,.5);z-index:46;font-size:15px;line-height:1.45}
.prefs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 10px}
.prefs-head h2,.prefs-head .prefs-title{font-size:17px;margin:0;line-height:1.3;font-weight:700}
.prefs-close{background:none;border:1px solid rgba(244,241,236,.25);color:inherit;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none}
.prefs-close:hover,.prefs-close:focus-visible{border-color:#25CAB6;color:#25CAB6}
.prefs-body{padding:0 18px}
.pref{display:grid;gap:8px;padding:12px 0;border-top:1px solid rgba(244,241,236,.12)}
.pref-l{display:grid;gap:2px}
.pref-n{font-weight:700}
.pref-h{color:#B9CDD6;font-size:15px}
.seg{display:inline-flex;flex-wrap:wrap;gap:6px}
.seg button{font:inherit;font-size:15px;background:none;color:#F4F1EC;border:1px solid rgba(244,241,236,.3);border-radius:999px;padding:6px 14px;cursor:pointer;min-height:32px}
.seg button:hover,.seg button:focus-visible{border-color:#25CAB6}
.seg button[aria-pressed="true"]{background:#25CAB6;color:#021C25;border-color:#25CAB6;font-weight:700}
.ra-ctl{display:flex;gap:8px;flex-wrap:wrap}
.ra-ctl button{font:inherit;font-size:15px;font-weight:700;border-radius:999px;padding:7px 16px;cursor:pointer;border:1px solid #25CAB6;background:#25CAB6;color:#021C25;min-height:32px}
.ra-ctl .ra-stop{background:none;color:#F4F1EC;border-color:rgba(244,241,236,.35)}
.ra-ctl .ra-play[aria-pressed="true"]{background:none;color:#25CAB6}
.prefs-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px 16px;border-top:1px solid rgba(244,241,236,.12)}
.prefs-note{font-size:15px;color:#B9CDD6}
.prefs-reset{font:inherit;font-size:15px;background:none;border:0;color:#F4F1EC;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 0}
.prefs-reset:hover,.prefs-reset:focus-visible{color:#25CAB6}
@media (max-width:1100px){
  .site-header .header-actions{display:flex}
  .site-header .header-actions .tog:not(.prefs-btn){display:none}
  .prefs-btn{padding:6px 9px}
  .prefs-btn .tog-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .prefs-btn .prefs-ic{display:block}
  .prefs-panel{right:8px;left:8px;width:auto;top:calc(var(--hdr,64px) + 8px)}
}
@media (max-width:1180px){ .site-header .header-actions .prefs-btn{display:inline-flex} }
/* the effects */
html.tx-1 body{zoom:1.12}
html.tx-2 body{zoom:1.25}
html.relaxed body{line-height:1.9;letter-spacing:.012em;word-spacing:.06em}
html.relaxed p,html.relaxed li,html.relaxed dd{margin-block:.9em}
html.relaxed .prose .body p+p{margin-top:1.5em}
html.sysfont body,html.sysfont button,html.sysfont input,html.sysfont select,html.sysfont textarea{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
html.hc .grain{display:none}
html.hc .g-ink,html.hc .g-deep,html.hc .site-header,html.hc .site-footer,html.hc .prefs-panel,html.hc .lnav-sub,html.hc .lnav-list{background:#000;color:#fff;--fg:#fff;--fg2:#fff;--muted:#e6e6e6;--hair:rgba(255,255,255,.55);--field:#111}
html.hc .g-paper,html.hc .g-white{background:#fff;color:#000;--fg:#000;--fg2:#000;--muted:#2b2b2b;--hair:rgba(0,0,0,.55);--field:#f2f2f2;--dot:#000;--accent:#000;--accent-ink:#fff}
html.hc .g-mint{--fg:#000;--muted:#000}
html.hc a:not(.btn):not(.wordmark){text-decoration:underline;text-underline-offset:3px}
html.hc .pref-h,html.hc .prefs-note,html.hc .kf-note,html.hc .quiet{color:#e6e6e6}
html.hc .g-paper .pref-h{color:#2b2b2b}
html.hc .btn{outline:2px solid currentColor;outline-offset:-2px}
html.hc :focus-visible{outline:3px solid #25CAB6;outline-offset:3px}
html.focus main section{transition:opacity 420ms var(--ease-in)}
html.focus main section:not(.in-view){opacity:.28}
html.focus main section:not(.in-view):hover{opacity:.6}
html.focus .site-footer{opacity:.4}
html.focus .deco,html.focus .grain{opacity:0}
.reading{outline:3px solid #25CAB6;outline-offset:6px;border-radius:4px}
html.reduce .prefs-panel{transition:none}
@media (max-width:560px){
  .site-header{gap:8px;padding-inline:14px}
  .site-header .wordmark{font-size:17px}
  .site-header .btn{padding:8px 12px 8px 10px;font-size:15px;gap:7px}
  .prefs-btn{padding:6px 7px}
  .lnav-burger{width:40px}
}
@media (max-width:380px){ .site-header .header-actions .prefs-btn{display:none} }
.lnav-prefs{display:none}
@media (max-width:1100px){ .lnav-prefs{display:block;border-bottom:0;padding-top:18px} .lnav-prefs button{font:inherit;font-size:1.05rem;color:#F4F1EC;background:none;border:1px solid rgba(244,241,236,.3);border-radius:999px;padding:10px 18px;cursor:pointer;display:inline-flex;gap:8px;align-items:center} .lnav-prefs button:hover,.lnav-prefs button:focus-visible{border-color:#25CAB6;color:#25CAB6} }

/* ---- 0.18.0: funding calculator (Gate 3.3) */
.fcalc{position:relative;padding-block:clamp(48px,7vw,96px)}
.fcalc .fc-head{max-width:60ch;margin-bottom:clamp(24px,3vw,40px)}
.fcalc .fc-head .lead{color:var(--muted);font-size:1.1rem}
.fc-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.fc-f{border:0;padding:0;margin:0 0 22px}
.fc-f legend{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding:0}
.fc-f .chips{display:flex;flex-wrap:wrap;gap:8px}
.fc-f .chip .fee{opacity:.7;font-variant-numeric:tabular-nums;margin-left:4px}
.fc-f .chip[aria-pressed="true"] .fee{opacity:.85}
.fc-range{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.fc-range input[type=range]{flex:1;accent-color:var(--dot);min-height:24px}
.fc-range output{font-weight:700;font-variant-numeric:tabular-nums;min-width:2ch;font-size:1.2rem}
.fc-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--fg2);cursor:pointer}
.fc-check input{margin-top:4px;accent-color:var(--dot);width:18px;height:18px;flex:none}
.fc-course[hidden]{display:none}
.fc-out{border-top:1px solid var(--hair);padding-top:18px;position:sticky;top:calc(var(--hdr,64px) + 24px)}
.fc-k{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.fc-big{font-size:clamp(2.4rem,5vw,4rem);font-weight:700;letter-spacing:-0.03em;line-height:1;margin:0 0 8px;font-variant-numeric:tabular-nums}
.fc-big .dotc{color:var(--dot)}
.fc-line{margin:0 0 14px;color:var(--fg2)}
.fc-course-out{border-top:1px solid var(--hair);padding-top:12px;margin-bottom:12px;display:grid;gap:6px;font-size:15px}
.fc-course-out:empty{display:none}
.fc-course-out b{font-variant-numeric:tabular-nums}
.fc-course-out .sn{color:var(--fg2)}
.fc-course-out .sn b{color:var(--fg)}
.fc-note{margin:0 0 12px;color:var(--fg2)}
.fc-fine{font-size:15px;color:var(--muted);margin:0}
.g-ink .fc-f .chip[aria-pressed="true"],.g-deep .fc-f .chip[aria-pressed="true"]{background:#25CAB6;color:#021C25;border-color:#25CAB6}
@media (max-width:860px){.fc-grid{grid-template-columns:1fr}.fc-out{position:static}}
.sec-kicker{font-size:15px;letter-spacing:.14em;margin:0 0 10px}
.g-ink .sec-kicker,.g-deep .sec-kicker{color:#25CAB6}
.g-paper .sec-kicker,.g-white .sec-kicker{color:#094058}
.glance h2 a,.prose h2 a,.cards h2 a{color:inherit;text-decoration:none}
.glance h2 a:hover,.glance h2 a:focus-visible{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:3px}
.faq-who{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 22px;font-size:17px}
.faq-who label{font-weight:700}
.faq-who select{font:inherit;font-size:16px;padding:9px 40px 9px 14px;border-radius:999px;border:1px solid var(--hair);background:var(--field) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%23106C77' stroke-width='1.8' stroke-linecap='round'/></svg>") no-repeat right 14px center/12px;color:inherit;appearance:none;-webkit-appearance:none;cursor:pointer;max-width:100%}
.g-ink .faq-who select,.g-deep .faq-who select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%2325CAB6' stroke-width='1.8' stroke-linecap='round'/></svg>")}
.faq-who select:focus-visible{outline:3px solid var(--dot);outline-offset:2px}
.faq-reset{font:inherit;font-size:15px;background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 0}
.faq-reset:hover{color:var(--dot)}
.faq-count{font-size:15px;color:var(--muted)}
.faq-empty{color:var(--muted);font-size:15px;padding:18px 0}
.faq details[hidden]{display:none}

/* ---- 0.19.0: header stays. The sticky element must be the template-part wrapper — .site-header alone had no room to stick inside it. */
.wp-site-blocks>header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:20}
.site-header,body.hdr-static .site-header{position:relative;top:auto}
body.hdr-hide .site-header.away{transform:none}
.site-header .wordmark{font-size:24px}
.site-header.scrolled .wordmark{font-size:22px}
.site-header .btn,.site-header .tog{min-height:36px;box-sizing:border-box}
.site-header .btn{padding:6px 14px 6px 11px;font-size:15px;line-height:1.2}
.site-header .tog{padding:6px 12px;font-size:15px}
.header-actions{gap:8px}
/* quick toggles beside the Accessibility button */
.qt{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--hair);background:none;color:inherit;cursor:pointer;padding:0}
.qt svg{width:18px;height:18px}
.qt:hover,.qt:focus-visible{border-color:#25CAB6;color:#25CAB6}
.qt[aria-pressed="true"]{border-color:#25CAB6;color:#25CAB6;background:rgba(37,202,182,.12)}
.qt .on,.qt[aria-pressed="true"] .off{display:none}
.qt[aria-pressed="true"] .on{display:block}
@media (max-width:1100px){.qt{display:none}}
@media (max-width:560px){.site-header .wordmark{font-size:19px}}
/* text size: scale the content, not the header or the panel (fixed elements under CSS zoom mis-hit) */
html.tx-1 body,html.tx-2 body{zoom:1}
html.tx-1 .site-main,html.tx-1 .wp-site-blocks>footer{zoom:1.12}
html.tx-2 .site-main,html.tx-2 .wp-site-blocks>footer{zoom:1.25}
html.tx-1 .site-header{font-size:1.06em}html.tx-2 .site-header{font-size:1.12em}
/* light / dark throughout: remap the grounds */
html.th-light .g-ink,html.th-light .g-deep{background:var(--paper);color:var(--ink);--bg:#F4F1EC;--fg:#021C25;--fg2:#094058;--muted:#5C6D74;--hair:rgba(2,28,37,.16);--dot:#094058;--accent:#094058;--accent-ink:#F4F1EC;--field:#ECE7DF}
html.th-light .g-deep{background:#FFFFFF;--bg:#FFFFFF}
html.th-light .site-header,html.th-light .lnav-sub,html.th-light .lnav-list,html.th-light .prefs-panel{background:#F4F1EC;color:#021C25}
html.th-light .site-header .lnav-item>a:not(.btn):not(.wordmark),html.th-light .site-header .lnav-sub a,html.th-light .site-header .lnav-more,html.th-light .site-header .wordmark,html.th-light .site-header .tog,html.th-light .site-header .qt,html.th-light .lnav-burger span:not(.vh){color:#021C25;background-color:transparent}
html.th-light .lnav-burger span:not(.vh){background:#021C25}
html.th-light .site-header .btn{background:var(--btn);color:var(--btn-ink)}
/* light theme remaps dark grounds to a light background, so their CTA follows the light-ground orange too */
html.th-light .g-ink .btn,html.th-light .g-deep .btn{background:var(--btn);color:var(--btn-ink)}
html.th-light .g-ink .btn:hover,html.th-light .g-deep .btn:hover,html.th-light .site-header .btn:hover{background:var(--btn-hover);color:var(--btn-hover-ink)}
html.th-light .site-header.scrolled{background:rgba(244,241,236,.9)}
html.th-light .prefs-panel{color:#021C25;border-color:rgba(2,28,37,.16)}
html.th-light .prefs-panel .pref-h,html.th-light .prefs-note{color:#5C6D74}
html.th-light .prefs-panel .seg button,html.th-light .prefs-close,html.th-light .ra-ctl .ra-stop,html.th-light .prefs-reset{color:#021C25;border-color:rgba(2,28,37,.3)}
html.th-light .prefs-panel .seg button[aria-pressed="true"]{background:#094058;color:#F4F1EC;border-color:#094058}
html.th-light .hero.threshold,html.th-light .endcap,html.th-light .site-footer{background:#F4F1EC;color:#021C25;--dot:#094058;--fg:#021C25;--muted:#5C6D74;--hair:rgba(2,28,37,.16)}
html.th-light .hero.threshold .line,html.th-light .hero.threshold .sub{color:#021C25}
html.th-dark .g-paper,html.th-dark .g-white{background:var(--ink);color:var(--paper);--bg:#021C25;--fg:#F4F1EC;--fg2:#CFE3EA;--muted:#9DB4BC;--hair:rgba(244,241,236,.18);--dot:#25CAB6;--accent:#25CAB6;--accent-ink:#021C25;--field:#062731}
html.th-dark .g-white{background:#062731;--bg:#062731}
html.th-dark .g-paper .sec-kicker,html.th-dark .g-white .sec-kicker,html.th-dark .g-paper .kicker,html.th-dark .g-white .kicker{color:#25CAB6}
html.th-dark .flag .fl img{background:#062731}
/* footer: acknowledgement with the two flags; crisis strip along the bottom */
.foot .legal .ack-line{display:flex;gap:14px;align-items:flex-start}
.foot .legal .ack-flags{display:inline-flex;gap:6px;flex:none;padding-top:3px}
.foot .legal .ack-flags img{width:36px;height:24px;object-fit:cover;border-radius:2px;display:block}
.foot .legal .ack-line a{color:inherit}
.foot-crisis{--link:#25CAB6;background:#094058;color:#F4F1EC;border-top:4px solid #25CAB6;padding:12px clamp(20px,5vw,72px);font-size:15px;line-height:1.5}
.foot-crisis p{margin:0;max-width:none}
.foot-crisis a{color:#25CAB6;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.foot-crisis strong{font-weight:700}
html.hc .foot-crisis{background:#fff;color:#000}
html.hc .foot-crisis a{color:#000}
.site-footer{padding-bottom:0}
.foot-crisis{margin:36px calc(-1 * clamp(20px,5vw,72px)) 0}
/* home hero: two wide outer arches run behind the headline so the picture fills the section */
.hero.threshold{overflow:hidden}
.hero.threshold .arches,.hero.threshold .arches svg{overflow:visible}
footer,.site-footer{display:block}
.fc-voc[hidden]{display:none}.fc-note a{color:inherit;text-decoration:underline}
/* descenders (g, y, p) were clipped by the per-letter text-clip on tight line-height */
.hov .c,.hero .line .c{padding-bottom:.14em;margin-bottom:-.14em}
/* every inner-page hero the same height */
.phero{min-height:clamp(420px,56vh,620px);box-sizing:border-box}
@media (max-width:760px){.phero{min-height:clamp(360px,48vh,520px)}}
.phero h1.long{font-size:clamp(2.2rem,5.2vw,4.6rem);max-width:20ch}
.faq-who{display:grid;gap:8px;margin-bottom:22px}
.faq-who-l{margin:0;font-weight:700;font-size:17px}
.faq-who .chips{display:flex;flex-wrap:wrap;gap:8px}
.faq-who .chip[aria-pressed="true"]{background:var(--fg);color:var(--accent-ink)}
.g-ink .faq-who .chip[aria-pressed="true"],.g-deep .faq-who .chip[aria-pressed="true"]{background:#25CAB6;color:#021C25;border-color:#25CAB6}

/* ---- 0.19.0: forms + keyed index */
.cform.mode-form .cf .help{font-weight:400;color:var(--muted);font-size:15px;display:block}
.cform.mode-form .cf select{font:inherit;padding:10px 12px;border:1px solid var(--hair);border-radius:8px;background:var(--field);color:inherit}
.cform.mode-form .cf .file{display:grid;gap:6px;border:1px dashed var(--hair);border-radius:10px;padding:14px;cursor:pointer}
.cform.mode-form .cf .file .picked{font-weight:400;color:var(--muted);font-size:15px}
.cform.mode-form .cf .file.has{border-style:solid;border-color:var(--dot)}
.kindex{padding-block:clamp(48px,7vw,96px);position:relative;overflow:hidden}
.kindex h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 12px;max-width:22ch}
.kindex .intro{max-width:56ch;color:var(--fg2);margin:0 0 26px}
.kx-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.kx-col{border-top:1px solid var(--hair);padding-top:14px}
.kx-h{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.kx{display:flex;gap:12px;align-items:flex-start;padding:9px 0;cursor:pointer;font-size:16px;line-height:1.35;border-bottom:1px solid transparent}
.kx input{appearance:none;-webkit-appearance:none;width:22px;height:22px;flex:none;border:1.8px solid var(--fg2);border-radius:6px;margin-top:1px;display:grid;place-items:center;background:transparent;cursor:pointer}
.kx input::after{content:"";width:12px;height:7px;border-left:2.4px solid currentColor;border-bottom:2.4px solid currentColor;transform:rotate(-45deg) translate(1px,-1px);opacity:0;color:var(--paper)}
.kx input:checked{background:var(--dot);border-color:var(--dot)}
.kx input:checked::after{opacity:1}
.g-ink .kx input:checked,.g-deep .kx input:checked{--paper:#021C25}
.kx input:focus-visible{outline:3px solid var(--dot);outline-offset:2px}
.kx:has(input:checked) span{font-weight:700}
.kx-act{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin:30px 0 0}
.kx-act .kx-n{background:rgba(0,0,0,.18);border-radius:999px;padding:0 8px;font-size:15px;margin-left:6px}
.kx-act .kx-skip{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){.kx-cols{grid-template-columns:1fr}}
.cform .cf textarea[data-prefilled]{border-color:var(--dot)}
.site-footer .foot-crisis,.site-footer .foot-crisis p{color:#F4F1EC}
.site-footer .foot-crisis a,.site-footer .foot-crisis a:hover,.site-footer .foot-crisis a:focus-visible,.g-ink .foot-crisis a:not(.btn):not(.wordmark),.g-deep .foot-crisis a:not(.btn):not(.wordmark){color:#25CAB6}
/* light-throughout: blocks that hard-code light text on dark grounds follow the remapped ground */
html.th-light :is(.g-ink,.g-deep,.hero.threshold,.endcap,.site-footer) :is(p,h1,h2,h3,h4,li,dt,dd,summary,label,legend,.line,.sub,.meta,.k,.v,.s,.tag,.small,.hours,.intro,.lead,.stmt,.close-line){color:inherit}
html.th-light :is(.g-ink,.g-deep,.hero.threshold,.endcap) a:not(.btn):not(.wordmark){color:var(--link,#106C77)}
html.th-light .hero.threshold .arches{opacity:.85}
html.th-light .site-footer .foot-crisis{background:#094058;color:#F4F1EC}html.th-light .site-footer .foot-crisis a{color:#25CAB6}

/* 0.20.0 funding calculator: the year in a table */
.fc-tbl{width:100%;border-collapse:collapse;margin:14px 0 6px;font-size:15px;font-variant-numeric:tabular-nums}
.fc-tbl th,.fc-tbl td{padding:7px 8px;border-bottom:1px solid var(--hair);text-align:right;vertical-align:top;font-weight:400}
.fc-tbl th[scope=row]{text-align:left}
.fc-tbl thead th{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fc-tbl .sn{display:block;font-size:15px;color:var(--muted)}
.fc-tbl .fc-sum td,.fc-tbl .fc-sum th{color:var(--dot);font-weight:700}
.fc-tbl .fc-tot td,.fc-tbl .fc-tot th{font-weight:700;font-size:17px;border-bottom:2px solid var(--fg)}
.fc-tbl .fc-avg td,.fc-tbl .fc-avg th{font-weight:700;border-bottom:0}
@media (max-width:420px){.fc-tbl{font-size:15px}.fc-tbl th,.fc-tbl td{padding:6px 4px}}
/* 0.20.0 flags: the card takes its height from the front face, so a two-line name never spills under the credit line */
.flags .credit{margin-top:22px}
/* 0.21.0 home rebuild */
.wd.em .c{--hl:#25CAB6}
.wd.em:hover .c{--p:100%}
.g-white .wd.em .c,.g-paper .wd.em .c{--hl:#25CAB6}
.ack .big.hov{cursor:default}
.ack .big .wd.em .c{--hl:#25CAB6}
/* services: kicker + intro */
.what .intro{max-width:62ch;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.55;margin:0 0 clamp(24px,3vw,40px)}
.what .kicker{margin-bottom:12px}
/* flags: compact mode */
.flags .note{max-width:64ch;font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.55;color:var(--fg2);margin:0 0 16px}
.flags.compact .strip,.home .flags.compact .strip{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px 14px}
.flags.compact .flag .nm{font-size:15px;line-height:1.3}
.flags.compact .flag[hidden]{display:none}
/* B5: one reader panel per flags block, below the grid. Everything a flag has to say is
   written here (aria-live), so nothing is hidden behind a hover or a flip. */
.flags-reader{margin:clamp(22px,3vw,34px) 0 0;border-top:2px solid var(--accent);padding-top:16px;display:grid;gap:6px;min-height:104px;align-content:start}
.flags-reader .fr-rest{color:var(--muted)}
.flags-reader .fr-who{font-weight:700;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.25}
.flags-reader .fr-kind{font-weight:400;font-size:15px;color:var(--muted);letter-spacing:.04em}
.flags-reader .fr-meta,.flags-reader .fr-for{font-size:15px;color:var(--muted)}
.flags-reader .fr-line,.flags-reader .fr-mean{max-width:62ch;line-height:1.5}
.flags-reader .fr-mean{color:var(--fg2)}
.flags-reader .fr-line{font-weight:700}
.flags.lay-split .flags-reader,.flags.lay-ticker .flags-reader{grid-column:1 / -1}
/* B5: the overlap device — four arches offset so they cross instead of nesting. The flags
   themselves stay a plain equal grid; the plurality lives here. */
.flags-overlap{display:block;width:100%;max-width:260px;height:auto;margin:0 0 clamp(14px,2vw,22px)}
.flags-overlap .ov1{stroke:var(--deep)}
.flags-overlap .ov2{stroke:var(--mid)}
.flags-overlap .ov3{stroke:var(--mint2)}
.flags-overlap .ov4{stroke:var(--deep)}
.flags-overlap .ov-dot{fill:var(--deep)}
.g-ink .flags-overlap .ov1,.g-deep .flags-overlap .ov1{stroke:var(--mint)}
.g-ink .flags-overlap .ov2,.g-deep .flags-overlap .ov2{stroke:var(--mint2)}
.g-ink .flags-overlap .ov3,.g-deep .flags-overlap .ov3{stroke:var(--mid)}
.g-ink .flags-overlap .ov4,.g-deep .flags-overlap .ov4{stroke:var(--mint)}
.g-ink .flags-overlap .ov-dot,.g-deep .flags-overlap .ov-dot{fill:var(--mint)}
.flags.compact .flags-head .flags-overlap,.flags.lay-ticker .flags-head .flags-overlap{grid-column:1;max-width:200px}
@media (max-width:820px){.flags-overlap{max-width:200px}}
.flags-more{margin:18px 0 0}
.flags-more .tog{font-size:15px;padding:8px 16px}
@media (max-width:560px){.flags.compact .strip,.home .flags.compact .strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
/* accessibility strip */
.astrip{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,40px);align-items:start;padding-block:clamp(32px,4vw,56px)}
.as-marks{display:grid;gap:12px;justify-items:center;padding-top:6px}
.as-wheel{width:64px;height:64px;color:var(--dot)}
.as-wheel svg{width:100%;height:100%;display:block}
.as-flag{width:64px;aspect-ratio:5/3;border-radius:6px;overflow:hidden;box-shadow:0 1px 0 var(--hair)}
.as-flag img,.as-flag svg{display:block;width:100%;height:100%;object-fit:cover}
.astrip h2{font-size:clamp(1.5rem,2.6vw,2.2rem);margin:0 0 10px}
.astrip p{max-width:62ch;margin:0 0 14px}
.as-feats{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.as-feats .chip{font:inherit;font-size:15px;font-weight:700;padding:7px 13px;border-radius:999px;border:1px solid var(--hair);background:transparent;color:inherit;cursor:pointer}
.as-feats .chip:hover,.as-feats .chip:focus-visible{border-color:var(--dot);color:var(--dot)}
.as-act{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin:0}
.as-link{font-weight:700;color:inherit;text-decoration:none;border-bottom:2px solid var(--dot)}
@media (max-width:640px){.astrip{grid-template-columns:1fr}.as-marks{grid-auto-flow:column;justify-content:start}}
/* footer: social logos, accessibility controls, flag strip */
.foot .social{margin:14px 0 0}
.foot .social .wp-block-social-links{display:flex;gap:10px;list-style:none;margin:0;padding:0}
.foot .social .wp-block-social-link{margin:0}
.foot .social .wp-block-social-link a{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--hair);color:inherit;background:none}
.foot .social .wp-block-social-link a:hover,.foot .social .wp-block-social-link a:focus-visible{border-color:#25CAB6;color:#25CAB6}
.foot .social .wp-block-social-link svg{width:20px;height:20px;fill:currentColor}
.foot-access{margin-top:18px}
.foot-access .small{margin:0 0 8px}
.foot-access-btns{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.foot-access-btns .tog{font-size:15px;padding:6px 12px;display:inline-flex;align-items:center;gap:6px}
.foot-access-btns .prefs-ic{width:16px;height:16px}
.foot .legal .foot-flags{list-style:none;margin:14px 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.foot .legal .foot-flags li{width:30px;height:18px;border-radius:2px;overflow:hidden;opacity:.9}
.foot .legal .foot-flags img,.foot .legal .foot-flags svg{display:block;width:100%;height:100%;object-fit:cover}
.hero .hero-cta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin:6px 0 0}
.hero .hero-link{font-weight:700;color:inherit;text-decoration:none;border-bottom:2px solid #25CAB6}
.hero .hero-link:hover{color:#25CAB6}
.home .flags.compact h2,.flags.compact h2{font-size:clamp(2.2rem,5.2vw,4.6rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 18px;max-width:14ch}
.flags.compact .intro,.home .flags.compact .intro{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.45;max-width:38ch;margin:0 0 14px;font-weight:700;color:var(--fg2)}
.flags.compact .flags-head{max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:clamp(24px,5vw,80px);align-items:end}
.flags.compact .flags-head .kicker,.flags.compact .flags-head h2,.flags.compact .flags-head .intro{grid-column:1}
.flags.compact .flags-head .note{grid-column:2;grid-row:2 / span 2;align-self:end;margin:0 0 14px}
.flags.compact .flags-head .hint{grid-column:1 / -1}
@media (max-width:820px){.flags.compact .flags-head{display:block}.flags.compact .flags-head .note{margin:0 0 14px}}
.foot .legal .foot-flags li{background:#F4F1EC}
.foot .legal .foot-flags img{object-fit:contain}
/* 0.22.0 */
.hero .tagline{font-weight:700;font-size:clamp(1.25rem,2vw,1.7rem);letter-spacing:-.01em;color:#F4F1EC;margin:0}
.hero .tagline::after{content:"";display:block;width:56px;height:3px;background:#25CAB6;margin-top:12px}
/* accessibility strip: text left, overlapping symbol + flag right (moves on hover and with scroll) */
.astrip{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px)}
.as-pair{position:relative;height:clamp(180px,22vw,280px);margin:0}
.as-pair .fp{position:absolute;width:62%;aspect-ratio:3/2;border-radius:8px;overflow:hidden;box-shadow:0 20px 50px rgba(2,28,37,.28);transition:transform 600ms var(--ease-in)}
.as-pair .fp1{left:0;top:0;transform:rotate(-3deg);z-index:2;background:#094058;color:#F4F1EC;display:grid;place-items:center}
.as-pair .fp1 svg{width:56%;height:56%}
.as-pair .fp2{right:0;bottom:0;transform:rotate(2deg);z-index:1}
.as-pair .fp2 img,.as-pair .fp2 svg{width:100%;height:100%;object-fit:cover;display:block}
.as-pair:hover .fp1{transform:rotate(-6deg) translate(-4%,-6%)}
.as-pair:hover .fp2{transform:rotate(4deg) translate(4%,6%)}
.as-wheel{width:auto;height:auto}
.as-flag{width:auto;aspect-ratio:3/2}
@media (max-width:640px){.astrip{grid-template-columns:1fr}.as-pair{height:180px;max-width:320px}}
@media (prefers-reduced-motion:reduce){.as-pair .fp,.ack .fp{transition:none}}
/* services: title stays on the left, services scroll on the right */
.what.what-scroll,.home .entry-content>.what.what-scroll{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,5vw,80px);align-items:start;min-height:auto;padding-block:clamp(48px,7vw,104px)}
.what-scroll .what-side{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 96px)}
.what-scroll .what-side .intro{margin-bottom:22px}
.what-scroll .what-items{display:grid;gap:0}
.what-scroll .item{display:block;border-top:1px solid var(--hair);padding-block:clamp(32px,5vw,64px);animation:none}
.what-scroll .item:first-child{border-top:0;padding-top:0}
.what-scroll .item .txt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px clamp(16px,3vw,40px);align-items:start}
.what-scroll .item .tag{grid-column:1}
.what-scroll .item h3{grid-column:1;margin:0 0 8px}
.what-scroll .item .plate{grid-column:2;grid-row:1 / span 5;width:clamp(120px,14vw,200px);max-width:none;justify-self:end;margin:0}
.what-scroll .item p,.what-scroll .item .sub-links,.what-scroll .item .more{grid-column:1}
.what-scroll .item .more{margin-top:14px}
@media (max-width:820px){.what.what-scroll,.home .entry-content>.what.what-scroll{grid-template-columns:1fr}.what-scroll .what-side{position:static}.what-scroll .item .txt{grid-template-columns:1fr}.what-scroll .item .plate{grid-column:1;grid-row:auto;justify-self:start;width:140px}}
/* footer: flag strip full width and centred; corporate line centred */
.foot .legal .foot-flags{margin:16px calc(-1 * clamp(20px,5vw,72px)) 16px;padding:0 16px;justify-content:center;gap:5px}
.foot .legal .foot-flags li{width:34px;height:20px}
.foot .legal>p:last-child{text-align:center;max-width:none}
.foot .legal .foot-flags{margin:18px 0 18px;padding:0;justify-content:center;gap:6px;flex-wrap:nowrap}
.foot .legal .foot-flags li{flex:1 1 0;width:auto;height:auto;aspect-ratio:5/3;max-width:120px}
@media (max-width:760px){.foot .legal .foot-flags{flex-wrap:wrap}.foot .legal .foot-flags li{flex:0 0 auto;width:34px}}
/* 0.23.0 flags layouts: ticker and split */
.flags.lay-ticker .flags-head{max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:clamp(24px,5vw,80px);align-items:end}
.flags.lay-ticker .flags-head .kicker,.flags.lay-ticker .flags-head h2,.flags.lay-ticker .flags-head .intro{grid-column:1}
.flags.lay-ticker .flags-head .note{grid-column:2;grid-row:2 / span 2;align-self:end;margin:0 0 14px}
.flags.lay-ticker .flags-head .hint{grid-column:1 / -1}
.flags.lay-ticker h2,.home .flags.lay-ticker h2{font-size:clamp(2.2rem,5.2vw,4.6rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 18px;max-width:14ch}
.flags.lay-ticker .intro,.home .flags.lay-ticker .intro{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.45;max-width:38ch;margin:0 0 14px;font-weight:700;color:var(--fg2)}
.flags.lay-ticker .ticker{overflow:hidden;margin:6px calc(-1 * clamp(20px,5vw,72px)) 0;padding:6px 0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.flags.lay-ticker .track{display:flex;width:max-content;gap:16px;padding-left:clamp(20px,5vw,72px);animation:flagtk 70s linear infinite}
.flags.lay-ticker .ticker:hover .track,.flags.lay-ticker .ticker:focus-within .track{animation-play-state:paused}
.flags.lay-ticker .strip,.home .flags.lay-ticker .strip{display:flex;gap:16px;grid-template-columns:none}
.flags.lay-ticker .flag{width:132px;flex:none}
.flags.lay-ticker .flag .nm{font-size:15px;white-space:normal}
@keyframes flagtk{to{transform:translateX(calc(-50% - 8px))}}
@media (prefers-reduced-motion:reduce){.flags.lay-ticker .track{animation:none;width:auto;flex-wrap:wrap}.flags.lay-ticker .strip{flex-wrap:wrap}.flags.lay-ticker .strip-dup{display:none}.flags.lay-ticker .ticker{mask-image:none;-webkit-mask-image:none;margin-inline:0}.flags.lay-ticker .track{padding-left:0}}
html.reduce .flags.lay-ticker .track{animation:none;width:auto;flex-wrap:wrap;padding-left:0}html.reduce .flags.lay-ticker .strip{flex-wrap:wrap}html.reduce .flags.lay-ticker .strip-dup{display:none}html.reduce .flags.lay-ticker .ticker{mask-image:none;-webkit-mask-image:none;margin-inline:0}
@media (max-width:820px){.flags.lay-ticker .flags-head{display:block}.flags.lay-ticker .flag{width:110px}}
.flags.lay-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,5vw,72px);align-items:center}
.flags.lay-split .flags-head{max-width:none}
.flags.lay-split h2,.home .flags.lay-split h2{font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 18px;max-width:12ch}
.flags.lay-split .intro,.home .flags.lay-split .intro{font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.45;max-width:36ch;margin:0 0 14px;font-weight:700;color:var(--fg2)}
.flags.lay-split .note{max-width:48ch;margin:0 0 14px}
.flags.lay-split .strip,.home .flags.lay-split .strip{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px 14px}
.flags.lay-split .flag .nm{font-size:15px;line-height:1.25}
.flags.lay-split .sec-link{grid-column:1 / -1}
@media (max-width:820px){.flags.lay-split{grid-template-columns:1fr}}
/* 0.23.0 calculator: full width, no drawing */
.fcalc .fc-head{max-width:none}
.fcalc .fc-head .lead{max-width:70ch}
.fc-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,5vw,88px)}

/* ===== v0.27: communities (Who we welcome) — flag beside each community, real lists, jump index ===== */
.communities .sec-head{max-width:none}
.com-index,.jy-index{display:flex;flex-wrap:wrap;gap:8px 10px;margin:0 0 clamp(8px,1.5vw,16px)}
.com-index .chip,.jy-index .chip{text-decoration:none;font-size:15px;padding:7px 13px;line-height:1.2;min-height:24px}
.com-index .chip:hover,.jy-index .chip:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.com-group{scroll-margin-top:calc(var(--hdr) + 16px)}
.com-group .grp{margin-top:clamp(36px,5vw,64px)}
.com{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr);gap:clamp(18px,3.5vw,48px);align-items:start;padding:clamp(24px,3.5vw,40px) 0;border-top:1px solid var(--hair);scroll-margin-top:calc(var(--hdr) + 16px)}
.com-group .com:first-of-type{border-top:0}
.com-flags{display:grid;gap:12px}
.com-flag{margin:0}
.com-flag .fl{display:block;aspect-ratio:5/3;border-radius:8px;overflow:hidden;box-shadow:0 1px 0 var(--hair)}
.com-flag .fl svg,.com-flag .fl img{display:block;width:100%;height:100%;object-fit:contain;background:#F4F1EC}
.g-white .com-flag .fl{outline:1px solid rgba(2,28,37,.08)}
.com-flag figcaption{font-size:15px;color:var(--muted);margin-top:6px;line-height:1.3}
.com-word{display:grid;place-items:center;aspect-ratio:5/3;border-radius:8px;border:1px dashed var(--hair);font-size:2rem;font-weight:700;color:var(--muted)}
.com-body h4{font-size:clamp(1.3rem,1.8vw,1.6rem);letter-spacing:-.01em;margin:0 0 8px;line-height:1.15;text-wrap:balance}
.g-paper .com-body h4,.g-white .com-body h4{color:#094058}
.com-intro{margin:0 0 clamp(14px,2vw,22px);max-width:60ch;font-size:1.05rem;color:var(--fg2)}
.com-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(16px,2.5vw,32px)}
.com-col h5{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-weight:700}
.g-paper .com-col h5,.g-white .com-col h5{color:#106C77}
.com-col ul{margin:0;padding-left:1.1em;max-width:48ch;line-height:1.55}
.com-col li{margin:0 0 6px}
.com-col li::marker{color:var(--dot)}
.com-body .more{display:inline-block;margin-top:16px;font-weight:700;color:var(--dot);text-decoration:none;border-bottom:2px solid currentColor}
.com-body .more:hover{color:var(--accent)}
@media (max-width:640px){.com{grid-template-columns:1fr;gap:16px}.com-flags{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));max-width:420px}.com-word{max-width:110px}}

/* ===== v0.27: schedule (an engagement with imagery and a dated session list) ===== */
.schedule .sec-head{max-width:none}
.sch-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(24px,5vw,72px);align-items:start}
.sch-img{margin:0 0 18px;border-radius:12px;overflow:hidden;box-shadow:0 1px 0 var(--hair)}
.sch-img img{display:block;width:100%;height:auto}
.sch-logo{margin:0 0 18px;padding:14px 18px;border-radius:10px;background:#F4F1EC;display:inline-block}
.sch-logo img{display:block;height:56px;width:auto;max-width:100%}
.sch-facts{margin:0;display:grid;gap:10px}
.sch-facts div{display:grid;grid-template-columns:minmax(90px,120px) 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--hair)}
.sch-facts dt{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.sch-facts dd{margin:0}
.sch-thumbs{margin-top:22px}
.sch-thumbs-label{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.sch-thumbs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sch-thumbs a{display:block;text-decoration:none;color:inherit;font-size:15px;line-height:1.3}
.sch-thumbs img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--hair);background:#fff;margin-bottom:6px;transition:transform 200ms var(--ease-in)}
.sch-thumbs a:hover img{transform:translateY(-2px)}
.sch-day{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:clamp(22px,3vw,34px) 0 8px;padding-top:12px;border-top:1px solid var(--hair)}
.sch-main .sch-day:first-child{margin-top:0;padding-top:0;border-top:0}
.g-paper .sch-day,.g-white .sch-day{color:#106C77}
.sch-list{list-style:none;margin:0;padding:0}
.sch-item{display:grid;grid-template-columns:minmax(120px,150px) minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--hair)}
.sch-when{display:grid;gap:4px;align-content:start}
.sch-time{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.sch-where{font-size:15px;color:var(--muted)}
.sch-what h4{font-size:1.15rem;margin:0 0 6px;line-height:1.25;letter-spacing:-.005em}
.sch-what h4 a{color:inherit}
.sch-what p{margin:0;color:var(--fg2);max-width:60ch}
.sch-note{font-size:15px;color:var(--muted);margin:16px 0 0;max-width:64ch}
@media (max-width:800px){.sch-grid{grid-template-columns:1fr}.sch-item{grid-template-columns:1fr;gap:6px}.sch-when{grid-auto-flow:column;justify-content:start;gap:12px}}

/* ===== v0.27: journey (photo/video walk-through, step by step) ===== */
.journeyp .sec-head{max-width:none}
.jy-list{list-style:none;margin:0;padding:0;counter-reset:jy}
.jy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(22px,4vw,64px);align-items:start;padding:clamp(28px,4vw,56px) 0;border-top:1px solid var(--hair);scroll-margin-top:calc(var(--hdr) + 16px)}
.jy:first-child{border-top:0}
.jy:nth-child(even) .jy-text{order:2}
.jy-text{position:sticky;top:calc(var(--hdr) + 24px)}
.jy-num{display:block;font-family:var(--mono,ui-monospace,monospace);font-size:15px;letter-spacing:.1em;color:var(--dot);margin-bottom:10px}
.jy-text h3{font-size:clamp(1.4rem,2.2vw,1.9rem);margin:0 0 12px;letter-spacing:-.01em;line-height:1.15;text-wrap:balance}
.g-paper .jy-text h3,.g-white .jy-text h3{color:#094058}
.jy-text p{max-width:52ch;margin:0 0 12px;line-height:1.55}
.jy-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(10px,1.5vw,16px)}
.jy-media figure{margin:0}
.jy-media .jy-vid{grid-column:1/-1}
.jy-media .vid{position:relative;border-radius:12px;overflow:hidden;background:#021C25;aspect-ratio:16/9}
.jy-media .vid iframe,.jy-media .vid video{position:absolute;inset:0;width:100%;height:100%;border:0}
.jy-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.jy-media figcaption{font-size:15px;color:var(--muted);margin-top:6px;line-height:1.35}
@media (max-width:800px){.jy{grid-template-columns:1fr}.jy:nth-child(even) .jy-text{order:0}.jy-text{position:static}}

/* ===== v0.27: team profile page (liminal/profile + long-form content as ordinary blocks) ===== */
.profile-hero{padding-block:clamp(36px,6vw,80px) clamp(40px,6vw,80px)}
.prof-grid{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start;position:relative;z-index:1}
.prof-head{margin:0}
.prof-head img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 0 0 6px var(--mint)}
.profile-hero h1{max-width:12ch}
.profile-hero .meta{font-size:1.05rem;margin-top:16px}
.profile-hero .lead{max-width:52ch}
.prof-how{max-width:52ch;margin:18px 0 0;color:var(--fg2);font-style:italic}
.profile-hero .cta-wrap{display:inline-block;margin-top:22px}
.prof-facts{position:relative;z-index:1;margin:clamp(32px,5vw,64px) 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(18px,3vw,36px);padding-top:clamp(20px,3vw,32px);border-top:1px solid var(--hair)}
.prof-facts dt{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.prof-facts dd{margin:0;color:var(--fg2)}
.prof-facts ul{margin:0;padding-left:1.1em;line-height:1.5}
.prof-facts li{margin:0 0 4px}
.prof-facts li::marker{color:var(--dot)}
@media (max-width:640px){.prof-grid{grid-template-columns:1fr}.prof-head{max-width:200px}}

/* ===== v0.28: section padding for the v0.27 blocks (they were missing from the padding rule), spotlight and form layout ===== */
.communities,.schedule,.journeyp{padding-block:clamp(40px,6vw,84px)}
.communities-head{padding-bottom:clamp(16px,2.5vw,32px)}
.com-group{padding-top:clamp(28px,4vw,56px)}
.com-group .grp.com-grp{margin-top:0;padding-top:0;border-top:0;font-size:clamp(1.1rem,1.6vw,1.35rem);letter-spacing:.06em}
.com-group .com:first-of-type{border-top:1px solid var(--hair);margin-top:12px}
.g-deep .com-body h4,.g-ink .com-body h4{color:#F4F1EC}
.g-deep .com-col h5,.g-ink .com-col h5{color:var(--dot)}
.g-deep .com-body .more,.g-ink .com-body .more{color:#25CAB6}
.g-deep .com-intro,.g-ink .com-intro{color:#F4F1EC}
.g-deep .com-flag figcaption,.g-ink .com-flag figcaption{color:var(--muted)}
.g-deep .com-group .grp,.g-ink .com-group .grp{color:#25CAB6}
/* speaker spotlight: one wide band, photo beside a full-width column of text, not a tall stack */
.people-single{padding-block:clamp(32px,5vw,64px)}
.people-single .row{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,56px)}
.people-single h2{max-width:none}
.people-single .intro{max-width:70ch;margin-bottom:clamp(16px,2vw,28px)}
.people-single .person .head{max-width:240px}
.people-single .person h3{margin-top:0}
.people-single .person p{max-width:70ch}
@media (max-width:640px){.people-single .row{grid-template-columns:1fr;max-width:none;text-align:left}.people-single .person .head{width:180px}}
/* speaking enquiry: the long form spreads across the section instead of a narrow tall column */
.cform.mode-speaking-enquiry .cf-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr)}
.cform.mode-speaking-enquiry .cf{grid-template-columns:1fr 1fr;gap:14px 20px}
.cform.mode-speaking-enquiry .cf .row{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:14px 20px}
.cform.mode-speaking-enquiry .cf label:has(textarea),.cform.mode-speaking-enquiry .cf label.check,.cform.mode-speaking-enquiry .cf .act,.cform.mode-speaking-enquiry .cf .note,.cform.mode-speaking-enquiry .cf .quiet,.cform.mode-speaking-enquiry .cf .hp{grid-column:1/-1}
.cform.mode-speaking-enquiry .cf textarea{min-height:96px}
@media (max-width:900px){.cform.mode-speaking-enquiry .cf-grid{grid-template-columns:1fr}.cform.mode-speaking-enquiry .cf{grid-template-columns:1fr}.cform.mode-speaking-enquiry .cf .row{grid-template-columns:1fr}}
.prof-status{display:inline-block;margin:14px 0 0;padding:6px 12px;border-radius:999px;border:1px solid var(--hair);font-size:15px;font-weight:700;color:var(--accent)}
.g-ink .prof-status{color:#25CAB6;border-color:rgba(37,202,182,.5)}

/* ===== v0.28: dark-throughout — light-ground rules that hardcode deep/mid text, remapped so headings, labels and links stay readable ===== */
html.th-dark .g-paper nav a,html.th-dark .g-white nav a{color:#F4F1EC}
html.th-dark .g-paper h2,html.th-dark .g-white h2,html.th-dark .g-paper h3,html.th-dark .g-white h3,html.th-dark .g-paper .steps h3,html.th-dark .g-white .steps h3{color:#F4F1EC}
html.th-dark .g-paper .card h4,html.th-dark .g-white .card h4,html.th-dark .g-paper .card .ct,html.th-dark .g-white .card .ct{color:#F4F1EC}
html.th-dark .g-paper .steps .num,html.th-dark .g-white .steps .num{color:#25CAB6}
html.th-dark .g-paper .grp,html.th-dark .g-white .grp{color:#25CAB6}
html.th-dark .g-paper .glance dt,html.th-dark .g-white .glance dt{color:#25CAB6}
html.th-dark .g-paper .intro,html.th-dark .g-white .intro{color:#F4F1EC}
html.th-dark .g-paper .sec-link a,html.th-dark .g-white .sec-link a{color:#F4F1EC}
html.th-dark .g-white .contact .way .v,html.th-dark .g-paper .contact .way .v{color:#F4F1EC}
html.th-dark .g-paper .cform .cf .note.bad,html.th-dark .g-white .cform .cf .note.bad{color:#F4F1EC}
html.th-dark .g-paper .sec-kicker,html.th-dark .g-white .sec-kicker{color:#F4F1EC}
html.th-dark .g-paper .com-body h4,html.th-dark .g-white .com-body h4{color:#F4F1EC}
html.th-dark .g-paper .com-col h5,html.th-dark .g-white .com-col h5{color:#25CAB6}
html.th-dark .g-paper .sch-day,html.th-dark .g-white .sch-day{color:#25CAB6}
html.th-dark .g-paper .jy-text h3,html.th-dark .g-white .jy-text h3{color:#F4F1EC}
html.th-dark .g-paper a:not(.btn):not(.wordmark),html.th-dark .g-white a:not(.btn):not(.wordmark){color:#25CAB6}
html.th-dark .g-paper .members .wm,html.th-dark .g-white .members .wm,html.th-dark .members .wm{color:#F4F1EC}
html.th-dark .g-paper .card,html.th-dark .g-white .card{background:transparent}
html.th-dark .g-paper .prof-status,html.th-dark .g-white .prof-status{color:#25CAB6}
/* flags: the flipped face keeps its own deep ground on every ground, and its label clears 4.5:1 */
/* funding calculator table on the ink ground */
.fc-tbl thead th{color:var(--fg2)}
.g-ink .fc-tbl .fc-sum td,.g-ink .fc-tbl .fc-sum th,.g-deep .fc-tbl .fc-sum td,.g-deep .fc-tbl .fc-sum th{color:#25CAB6}
html.th-dark .sub-links a{background:#062731;color:#25CAB6;border-color:rgba(37,202,182,.4)}
/* 0.28.1: the single person is one element, so the person itself becomes the two-column grid */
.people-single .row{display:block}
.people-single .person{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:clamp(24px,4vw,56px);row-gap:0;align-items:start}
.people-single .person .head{grid-row:1/4;grid-column:1;align-self:center}
.people-single .person h3,.people-single .person p,.people-single .person .how{grid-column:2}
.people-single .person h3{margin-top:0}
.people-single .person p{margin:8px 0 0}
@media (max-width:640px){.people-single .person{grid-template-columns:1fr}.people-single .person .head{grid-row:auto;grid-column:1;width:180px}.people-single .person h3,.people-single .person p,.people-single .person .how{grid-column:1}}

/* ===== v0.29: team profiles rebuilt — one column, facts that stand out =====
   The old profile put Special Interests, Qualifications, Registration and Fees side by side in an
   auto-fit grid. On a page someone reads while deciding whether to call us, columns make them hunt.
   Everything below is a single reading column: label above value, one fact per row. */
.prof-back{margin:0 0 clamp(18px,3vw,28px);position:relative;z-index:1;font-size:.95rem}
.prof-back a{color:var(--fg2);text-decoration:none;border-bottom:1px solid var(--hair);padding-bottom:2px}
.prof-back a:hover,.prof-back a:focus-visible{color:var(--fg);border-bottom-color:currentColor}
.profile-hero{padding-block:clamp(28px,4vw,56px) clamp(36px,5vw,72px);min-height:0;display:block}
.profile-hero .kicker{margin-bottom:10px}
.prof-pron{margin:10px 0 0;color:var(--fg2);font-size:1.05rem}
.profile-hero .prof-status{margin-top:14px}
.profile-hero .lead{margin-top:20px}

/* At a glance — the block that replaces the old four-column strip. */
.prof-at{padding-block:clamp(40px,6vw,84px)}
.prof-at h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:0;max-width:22ch}
.prof-facts{display:block;grid-template-columns:none;margin:clamp(20px,3vw,32px) 0 0;padding:0;border:0;max-width:72ch}
.prof-facts .pf{display:block;padding:clamp(13px,1.8vw,18px) 0;border-top:1px solid var(--hair)}
.prof-facts .pf:last-child{border-bottom:1px solid var(--hair)}
.prof-facts dt{font-size:15px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 6px}
.prof-facts dd{margin:0;font-size:clamp(1.05rem,1.4vw,1.28rem);line-height:1.45;color:var(--fg);max-width:60ch}
.pf-when{list-style:none;margin:12px 0 0;padding:0}
.pf-when li{padding:6px 0 6px 14px;border-left:2px solid var(--dot);margin:0 0 6px}
.pf-when li:last-child{margin-bottom:0}
.pf-when b{display:block;font-size:.98rem;font-weight:700;color:var(--fg)}
.pf-when span{display:block;font-size:.92rem;color:var(--muted)}

/* Special Interests, therapies, qualifications, memberships: one list style, one column. */
.prof-list{list-style:none;margin:16px 0 0;padding:0;max-width:70ch}
.prof-list li{position:relative;padding:11px 0 11px 26px;border-top:1px solid var(--hair);line-height:1.5;color:var(--fg2)}
.prof-list li:first-child{border-top:0;padding-top:4px}
.prof-list li::before{content:"";position:absolute;left:3px;top:1.25em;width:8px;height:8px;border-radius:50%;background:var(--dot)}
.prof-list li:first-child::before{top:.55em}
.prof-list li b{color:var(--fg);font-weight:700}
.prof-list li span{display:block;color:var(--muted);font-size:.95rem;margin-top:2px}
.prof-spins{margin:clamp(36px,5vw,60px) 0 0;padding-top:clamp(28px,4vw,44px);border-top:1px solid var(--hair)}
.prof-spins h2{font-size:clamp(1.4rem,2.6vw,2rem);margin:0}
.prof-sub{color:var(--muted);margin:8px 0 0;max-width:60ch}

/* Credentials — therapies, approach, formats, qualifications, memberships, publications. */
.creds{padding-block:clamp(40px,6vw,84px)}
.creds .sec-head{max-width:none}
.creds .sec-head h2{max-width:20ch}
.creds .sec-head .intro{max-width:60ch;color:var(--fg2);margin-top:12px}
.cred{max-width:72ch;margin:clamp(26px,4vw,40px) 0 0}
.cred h3{font-size:clamp(1.15rem,1.7vw,1.4rem);margin:0 0 6px;letter-spacing:-.01em}
.cred-note{color:var(--muted);font-size:.95rem;margin:0;max-width:62ch;line-height:1.5}
.cred-big{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.45;margin:6px 0 8px;color:var(--fg)}
.cred-reg{padding:clamp(18px,2.5vw,26px);border:1px solid var(--hair);border-radius:14px;background:var(--field)}
.cred-reg h3{margin-bottom:2px}
.cred-back{margin:clamp(32px,5vw,52px) 0 0}
@media (max-width:640px){.prof-facts dd{font-size:1.05rem}}

/* ===== v0.29.1: profiles made short =====
   The rebuilt profile was right but long — 8,000px for Brydan. A profile is read by someone
   deciding whether this person is for them; it should answer that above the fold and then stop.
   Headline facts become pills, the headshot follows the reader down in a small sticky bar,
   and qualifications, memberships and publications fold away until asked for. */
.team-profile .prose,.team-profile .cards,.team-profile .prof-at,.team-profile .creds{padding-block:clamp(28px,4vw,54px)}
.profile-hero{padding-block:clamp(20px,3vw,40px) clamp(28px,4vw,56px)}
.profile-hero h1{font-size:clamp(2.2rem,5.4vw,4.4rem);max-width:14ch}
.profile-hero h1.long{font-size:clamp(2rem,4.4vw,3.6rem)}
.profile-hero .lead{margin-top:16px;font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:56ch}
.prof-pron{margin:8px 0 0;font-size:1rem}
.profile-hero .prof-status{margin-top:0}
.profile-hero .cta-wrap{margin-top:18px}
.prof-grid{align-items:start}

/* Headline facts as pills — his own one-pagers do this, and they scan in one look. */
.pchips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;max-width:min(60ch,100%)}
.pchip{max-width:100%;overflow-wrap:anywhere;font-size:.92rem;line-height:1.3;padding:7px 13px;border-radius:999px;border:1px solid var(--hair);color:var(--fg2);background:color-mix(in srgb,var(--field) 70%,transparent)}
.g-ink .pchip,.g-deep .pchip{color:#F4F1EC;border-color:rgba(255,255,255,.22)}
.pchips.big{max-width:none;margin-top:18px;gap:10px}
.pchips.big .pchip{font-size:.98rem;padding:9px 16px}
.prof-fee{margin:18px 0 0;font-size:1.02rem;line-height:1.5;max-width:56ch}
.prof-fee b{display:block;font-size:clamp(1.15rem,1.7vw,1.4rem)}
.prof-fee span{display:block;color:var(--muted);font-size:.95rem;margin:2px 0 4px}
.profile-hero blockquote.prof-how{margin:18px 0 0;padding:0 0 0 16px;border-left:2px solid var(--dot);font-style:italic;color:var(--fg2);max-width:56ch}

/* The headshot follows the reader down the page. */
.prof-bar{position:sticky;top:var(--hdr,64px);z-index:9;border-bottom:1px solid var(--hair)}
.prof-bar .pb-in{display:flex;align-items:center;gap:12px;padding-block:8px;min-width:0;max-width:100%}
.prof-bar .pb-in>*{min-width:0}
.pb-face{flex:0 0 auto;width:42px;height:42px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--mint)}
.pb-face img{width:100%;height:100%;object-fit:cover;display:block}
.pb-who{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.pb-who b{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-who span{font-size:.82rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-btn{margin-left:auto;font-size:.88rem;padding:8px 16px;white-space:nowrap;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}
@media (max-width:600px){.pb-btn{display:none}.pb-face{width:36px;height:36px}}
@media (prefers-reduced-motion:reduce){.prof-bar{backdrop-filter:none}}

/* Practical details: tighter rows than the first pass, still one per row. */
.prof-facts.tight{margin-top:clamp(16px,2.5vw,24px)}
.prof-facts.tight .pf{padding:10px 0}
.prof-facts.tight dt{font-size:15px;margin-bottom:3px}
.prof-facts.tight dd{font-size:1.02rem;line-height:1.45;overflow-wrap:anywhere}
.creds .cred{margin-top:clamp(20px,3vw,30px)}
.creds .cred h3{margin-bottom:2px}

/* Reference material, folded until asked for. */
.cred-more{margin:clamp(22px,3vw,32px) 0 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);max-width:72ch}
.cred-more>summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:700;display:flex;align-items:center;gap:10px}
.cred-more>summary::-webkit-details-marker{display:none}
.cred-more>summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:auto;transition:transform 200ms var(--ease-in)}
.cred-more[open]>summary::after{transform:rotate(225deg)}
.cred-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.cred-more .cm-in{padding-bottom:18px}
.cred-more .cred:first-child{margin-top:0}

/* ===== v0.30: practical details fold into four rows; pills stay inside the reading column ===== */
.pchips.big{max-width:72ch}
.cred-acc{margin:clamp(16px,2.5vw,24px) 0 0;max-width:72ch;border-top:1px solid var(--hair)}
.cred-acc .cred-more{margin:0;border-top:0;border-bottom:1px solid var(--hair);max-width:none}
.cred-acc .cred-more>summary{padding:14px 0;display:grid;grid-template-columns:minmax(0,1fr) 14px;gap:2px 14px;align-items:center}
.cred-acc .cred-more>summary b{font-size:1.05rem;font-weight:700;color:var(--fg)}
.cred-acc .cred-more>summary span{grid-column:1;font-size:.92rem;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}
.cred-acc .cred-more>summary::after{grid-column:2;grid-row:1 / span 2;margin:0;justify-self:end}
.cred-acc .cred-more>summary:hover b,.cred-acc .cred-more>summary:focus-visible b{color:var(--accent)}
.cred-acc .cm-in{padding:2px 0 22px}
.cred-acc .cm-in .prof-facts.tight{margin-top:4px;max-width:none;border:0}
.cred-acc .cm-in .prof-facts.tight .pf:first-child{border-top:0;padding-top:4px}
.cred-acc .cm-in .prof-facts.tight .pf:last-child{border-bottom:0}
.cred-acc .cm-in .cred{margin-top:16px}
.cred-acc .cm-in .cred:first-child{margin-top:4px}
.cred-acc .cm-in .cred-note{margin-top:12px}
.cred-acc .cm-in .cred-reg{margin-top:4px}
.team-profile .creds{padding-block:clamp(28px,4vw,52px)}
.team-profile .creds .sec-head h2{font-size:clamp(1.4rem,2.6vw,2rem)}

/* ---- On this page (toc), glossary A-Z, page nav ------------------------- */
.toc{padding-block:clamp(12px,1.6vw,18px)}
.toc-in{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding-block:clamp(10px,1.4vw,14px)}
.toc-label{flex:0 0 auto;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg2);opacity:.8}
.toc-list{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none;min-width:0}
.toc-list a{display:inline-block;font-size:14px;line-height:1.5;color:var(--fg2);text-decoration:none;border-bottom:1px solid transparent}
.toc-list a:hover,.toc-list a:focus-visible{color:var(--fg);border-bottom-color:currentColor}
.toc-list a:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-bottom-color:transparent}
@media (max-width:640px){.toc-in{gap:4px 14px}.toc-list{gap:2px 14px}.toc-list a{font-size:13px}}
:where(h2,h3)[id]{scroll-margin-top:clamp(84px,11vh,120px)}

.alpha-nav{display:flex;flex-wrap:wrap;gap:2px 4px;margin:0 0 22px;padding:0;list-style:none}
.alpha-nav li{margin:0}
.alpha-nav a,.alpha-nav span{display:grid;place-items:center;min-width:28px;height:28px;padding:0 4px;font-size:14px;border-radius:4px;text-decoration:none}
.alpha-nav a{color:var(--fg);border:1px solid var(--hair)}
.alpha-nav a:hover,.alpha-nav a:focus-visible{background:var(--mint);color:var(--ink);border-color:var(--mint)}
.alpha-nav span{color:var(--muted);opacity:.45}
.cards[data-alpha] .card{scroll-margin-top:clamp(84px,11vh,120px)}

.pagenav{position:fixed;right:clamp(10px,1.6vw,20px);bottom:clamp(96px,16vh,180px);z-index:60;display:grid;gap:6px}
.pn-btn{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--hair);border-radius:999px;background:var(--field,rgba(2,28,37,.78));color:var(--fg);cursor:pointer;backdrop-filter:blur(6px);transition:background .18s ease,color .18s ease,border-color .18s ease}
.pn-btn svg{width:19px;height:19px}
.pn-btn:hover{background:var(--mint);color:var(--ink);border-color:var(--mint)}
.pn-btn:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.pagenav[hidden]{display:none}
@media (max-width:640px){.pagenav{bottom:clamp(76px,13vh,120px)}.pn-btn{width:38px;height:38px}}
@media print{.pagenav,.toc,.alpha-nav{display:none!important}}

/* ---- Long sections: the heading stays while the section scrolls ---------- */
/* Sections aim to be about one screen. Where one has to run longer, its heading
   holds still so the reader keeps their place instead of losing the context.
   The head takes the section's own ground so scrolling content cannot show
   through it. Desktop only, and never when reduced motion is asked for. */
/* Sticky only suits a heading that sits in a side column, like the prose blocks
   and the split cards layout, where it occupies space the content is not using.
   Above a full-width list it pins a wide band across the top of the screen and
   takes up more room than the content it is labelling, so it is not used there. */
@media (min-width:901px){
  .cards.lay-split > .head{
    position:sticky;
    top:calc(var(--hdr,88px) + 8px);
    align-self:start;
    background-color:inherit;
  }
}
html.reduce .cards > .head{position:static}

.tbl-note{margin:14px 0 0;font-size:14px;line-height:1.5;color:var(--muted);max-width:60ch}
.tbl-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.tbl-note a:hover,.tbl-note a:focus-visible{color:var(--fg)}

/* ---- Header pass: hover on the wordmark, icon-only accessibility button,
   the three controls sitting hard right, no dot on the header button ------ */
.site-header .wordmark{transition:font-size 260ms var(--ease-in),color 200ms var(--ease-in)}
.site-header .wordmark:hover,.site-header .wordmark:focus-visible{color:var(--dot)}
.site-header .wordmark:hover .dotc,.site-header .wordmark:focus-visible .dotc{color:var(--fg)}

.site-header.hdr{justify-content:flex-start;gap:clamp(12px,2vw,28px)}
.site-header .lnav{margin-right:auto}
.site-header .header-actions{gap:6px}

/* the accessibility toggle is now the figure on its own, same round shape as
   the two quick toggles beside it */
.site-header .prefs-btn{width:36px;height:36px;padding:0;justify-content:center;border-radius:999px}
.site-header .prefs-btn .prefs-ic{width:20px;height:20px}
.site-header .prefs .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

.site-header .btn::before{display:none}
.site-header .btn{padding-inline:18px}
/* the accessibility figure is small enough to keep on narrow screens */
@media (max-width:1180px){.site-header .header-actions .tog{display:inline-flex}}

/* ---- Footer pass: more room, icon-only accessibility controls, the
   acknowledgement sitting with the clinic name ---------------------------- */
.site-footer{padding-block:clamp(56px,8vw,96px) 0}
.foot{gap:clamp(32px,5vw,72px) clamp(28px,4vw,64px);align-items:start}
.foot .col p{margin:0 0 16px;line-height:1.7}
.foot .col h3{margin:0 0 16px}
.foot .brand .tag{margin-bottom:14px}
.foot .brand .ack-line{display:block;margin-top:18px;padding-top:18px;border-top:1px solid var(--hair);font-size:14px;line-height:1.7;color:var(--muted);max-width:42ch}
.foot .brand .ack-line a{color:inherit}
.foot .hours>div{padding:6px 0}
.foot .foot-nav{gap:2px}
.foot .legal{padding-top:28px;margin-top:20px}
.foot .legal p{line-height:1.8}
.foot-flags{margin-block:22px 24px}

/* the three controls read as figures, the way they do in the header */
.foot-access{margin-top:26px}
.foot-access .small{margin-bottom:10px}
.foot-access-btns{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.foot-access .tog{width:38px;height:38px;padding:0;justify-content:center;border-radius:999px;gap:0}
.foot-access .tog svg{width:20px;height:20px}
.foot-access .tog .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
/* Big enough to actually read. Several of these are artwork on a white field,
   which at 34px just looked like an empty box on the dark footer. */
.foot .legal .foot-flags{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin:20px 0 22px}
.foot .legal .foot-flags li{flex:0 0 auto;width:64px;height:auto;aspect-ratio:5/3;max-width:none;opacity:1;border-radius:3px;box-shadow:0 0 0 1px rgba(244,241,236,.16)}
@media (max-width:760px){.foot .legal .foot-flags li{width:52px}}
@media (max-width:420px){.foot .legal .foot-flags li{width:46px}}

/* ---- Home page pass -------------------------------------------------- */
/* Values: no numbering. A small mark keeps them tied to the drawn thread. */
.values .num{display:none}
.values li .mark{display:block;width:12px;height:12px;border-radius:50%;background:var(--dot);margin-bottom:16px}

/* Section headings get their own colour, the same one everywhere, so a heading
   always reads as a heading rather than as bigger body text. */
.g-paper,.g-white{--head:#0D5F6B}
.g-ink,.g-deep{--head:#6BCDB3}
.g-mint{--head:#021C25}
section h2,.members h2,.values h2,.people h2,.wmap h2,.gallery h2{color:var(--head)}
section h2 .stop,section h2 .dotc{color:var(--dot)}

/* Hero: headline sits higher, breaks over two even lines, and the arches drift. */
.hero.threshold{align-content:start;padding-block:clamp(56px,10vh,120px) clamp(40px,6vw,80px)}
.hero.threshold .lines,.hero.threshold .sub{max-width:min(62vw,860px)}
.hero.threshold .line{font-size:clamp(2.4rem,6.4vw,6rem);text-wrap:balance}
@media (max-width:760px){.hero.threshold .lines,.hero.threshold .sub{max-width:none}}
.hero.threshold .arch{animation:archdrift 14s var(--ease-mid) infinite alternate;animation-delay:calc(var(--i,0) * -1.6s)}
@keyframes archdrift{from{transform:translateY(0) scaleY(1)}to{transform:translateY(-1.6%) scaleY(1.035)}}
html.reduce .hero.threshold .arch{animation:none}
@media (prefers-reduced-motion:reduce){.hero.threshold .arch{animation:none}}

/* The tagline answers the pointer. */
/* each phrase of the tagline answers the pointer on its own */
.hero .tagline .tg{transition:color 260ms var(--ease-in)}
.hero .tagline .tg:hover{color:var(--dot)}

/* Sections that ran too tall for what they hold. */
.prose,.access-strip,.wmap,.gallery{padding-block:clamp(40px,5vw,72px)}
.wmap,.gallery,.cards.lay-reveal,.cards.lay-cloud{content-visibility:auto;contain-intrinsic-size:auto 700px}

/* "How we work" and the other section links read as links, at one size. */
.seclink,.sec-link{margin-top:clamp(28px,4vw,48px);font-size:1.05rem}
/* Before you come: the video was dominating the section. */
.gallery .vid,.gallery .vids .vid{max-width:640px}
.gallery .vids{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));max-width:900px}
.gallery h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 16px;max-width:18ch}
.gallery .intro{max-width:58ch}

/* Memberships: the logos centre in their cells and the names are readable. */
.members .logos li>a,.members .logos li>span{justify-items:center;text-align:center}
.members .logos img{margin-inline:auto}
.members .full{font-size:16px;max-width:24ch;color:var(--fg2)}
.members .mem-head .intro{max-width:56ch}
/* Sections that genuinely run past a screen keep their heading in view while
   you read down them, so the length stops feeling like drift. */
@supports (overflow:clip){
  .flags.lay-split > .flags-head,.what.what-scroll > .what-side{position:sticky;top:clamp(84px,11vh,120px);align-self:start}
}
/* Several of the flags are artwork on transparency. White reads closer to how
   they are meant to be printed than the cream of the page does. */
.foot .legal .foot-flags li{background:#FFFFFF}

/* Flag strip and the On this page row both centre. */
.foot .legal .foot-flags{justify-content:center}
.toc-in{justify-content:center;text-align:center}
.toc-list{justify-content:center}

/* B32: the location kicker was colliding with its heading on the home page. */
.wmap .wmap-text .kicker{margin-bottom:20px}
.wmap .wmap-text h2{margin-top:0;line-height:1.04}
/* announcement strip (blocks/notice). Colours come from the ground's tokens, so it reads in every theme. */
.notice{padding-block:14px;font-size:17px;line-height:1.5;color:var(--fg)}
.notice p{margin:0;max-width:none}
.notice .nt-k{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-right:8px}
.notice .nt-link,.notice a:not(.btn){color:var(--fg);font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.notice a:not(.btn):hover{text-decoration-thickness:2px}
.home .entry-content>section.notice{min-height:0;display:block}
/* gallery with one video and no photo strip: heading on the left, video on the right, on wide screens */
@media (min-width:1000px){
.gallery:has(>.vids>.vid:only-child):not(:has(>.shots)){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:clamp(32px,5vw,72px);align-items:center;align-content:center}
.gallery:has(>.vids>.vid:only-child):not(:has(>.shots))>.sec-head{grid-column:1;grid-row:1;align-self:end}
.gallery:has(>.vids>.vid:only-child):not(:has(>.shots))>.vids{grid-column:2;grid-row:1/span 2;margin:0;max-width:none;display:block}
.gallery:has(>.vids>.vid:only-child):not(:has(>.shots))>.vids .vid{max-width:none}
.gallery:has(>.vids>.vid:only-child):not(:has(>.shots))>.sec-link{grid-column:1;grid-row:2;align-self:start;margin-top:8px}
}
/* communities heading (Who we welcome) had no space beneath it and a line-height of 1, so the
   intro sat flush against it and the heading's letters ran into it while revealing on scroll */
.communities .sec-head h2{margin:0 0 clamp(12px,1.6vw,20px);line-height:1.08}
.steps.journey .sec-head h2{margin:0 0 clamp(10px,1.4vw,16px)}
/* header: one accessibility button, plus social links (0.40.0) */
.header-actions .prefs{display:flex;align-items:center;gap:12px}
.hdr-social .wp-block-social-links{margin:0;gap:10px;display:flex;align-items:center}
.hdr-social .wp-social-link{background:none!important;color:#F4F1EC}
.hdr-social .wp-social-link a{padding:6px;display:inline-flex;border-radius:999px;color:inherit}
.hdr-social .wp-social-link a:hover,.hdr-social .wp-social-link a:focus-visible{color:#25CAB6}
.hdr-social .wp-social-link svg{width:18px;height:18px;fill:currentColor}
html.th-light .hdr-social .wp-social-link{color:#021C25}
html.th-light .hdr-social .wp-social-link a:hover{color:#094058}
@media (max-width:1100px){.hdr-social{display:none}}
/* hero emphasis: *words* in a hero line light up in the button orange, and all at once on hover */
.hero .line .em .c{--hl:var(--btn)}
.hero .line .em:hover .c{--p:100%}
@supports not (background-clip:text){.hero .line .em:hover .c{color:var(--btn)}}
/* grouped dropdowns (Services, For clients, Resources): a column per group, each headed by a link */
@media (min-width:1101px){
  .lnav-sub.cols{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:4px 8px;min-width:560px;padding:14px 8px}
  .lnav-item:nth-last-child(-n+4) .lnav-sub.cols{left:auto;right:0}
}
.lnav-sub.cols>.lnav-group{list-style:none}
.lnav-sub.cols>.lnav-group>ul{list-style:none;margin:0;padding:0}
.lnav-sub .lnav-gh{font-weight:700;font-size:13px!important;letter-spacing:.08em;text-transform:uppercase;color:#25CAB6!important;padding-top:6px!important;padding-bottom:6px!important}
.lnav-sub .lnav-gh:hover{color:#F4F1EC!important}
html.th-light .lnav-sub .lnav-gh{color:#094058!important}
@media (max-width:1100px){
  .lnav-sub.cols>.lnav-group{margin:4px 0 10px}
  .lnav-sub .lnav-gh{padding:6px 0!important}
}
/* "On this page" stays one line on every page: the row centres when it fits and scrolls
   sideways when it does not, with a soft fade at the edges so the overflow is visible. */
.toc-in{flex-wrap:nowrap;width:fit-content;max-width:100%;margin-inline:auto;justify-content:flex-start}
.toc-list{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;justify-content:flex-start;padding-inline:2px}
.toc-list.ovf{-webkit-mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 24px),transparent)}
.toc-list::-webkit-scrollbar{display:none}
.toc-list li{flex:0 0 auto}

/* ── Where to next (liminal/related, 0.43.0) ── */
.related{padding-block:clamp(48px,7vw,96px)}
.related h2{margin:0 0 clamp(16px,2.2vw,28px);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1}
.rel-cols.two{display:grid;gap:clamp(28px,4vw,56px)}
@media (min-width:900px){.rel-cols.two{grid-template-columns:1fr 1fr}}
.rel-sub{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rel-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));column-gap:clamp(20px,3vw,40px)}
.rel-cols.two .rel-list{grid-template-columns:1fr}
.rel-list li{border-top:1px solid var(--hair);margin:0}
.rel-list a{display:block;position:relative;min-height:44px;padding:16px 32px 18px 0;color:var(--fg);text-decoration:none}
.rel-list a::after{content:"→";position:absolute;right:4px;top:15px;color:var(--dot);transition:transform 200ms var(--ease-in,ease)}
.rel-list a:hover::after,.rel-list a:focus-visible::after{transform:translateX(4px)}
.rel-list a:hover .rt,.rel-list a:focus-visible .rt{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--dot)}
.rel-list .rt{display:block;font-weight:700;font-size:clamp(1.02rem,1.3vw,1.15rem);line-height:1.3}
.rel-list .rd{display:block;margin-top:4px;color:var(--fg2);font-size:.95rem;line-height:1.5;max-width:52ch}
@media (prefers-reduced-motion:reduce){.rel-list a::after{transition:none}}
@media print{.related{display:none}}

/* ── Cards: "groups" layout, an accordion by theme with plain lists (0.44.0) ── */
.acc{border-top:1px solid var(--hair);max-width:1100px}
.acc-g{border-bottom:1px solid var(--hair)}
.acc-g summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:14px;padding:20px 3rem 20px 0;position:relative;min-height:44px}
.acc-g summary::-webkit-details-marker{display:none}
.acc-g summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-radius:50%;background:var(--dot);transform:translateY(-50%);transition:transform 300ms var(--ease-in,ease)}
.acc-g[open] summary::after{transform:translateY(-50%) scale(.45)}
.acc-t{font-weight:700;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.25}
.acc-n{font-size:14px;color:var(--muted);white-space:nowrap}
.acc-g summary:hover .acc-t,.acc-g summary:focus-visible .acc-t{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--dot)}
.acc-list{list-style:none;margin:0;padding:0 0 22px;display:grid;grid-template-columns:1fr;column-gap:clamp(24px,4vw,56px)}
@media (min-width:800px){.acc-list{grid-template-columns:1fr 1fr}}
.acc-list li{margin:0;border-top:1px dashed var(--hair)}
.acc-list a,.acc-list .acc-i{display:block;padding:12px 26px 12px 0;position:relative;color:var(--fg);text-decoration:none}
.acc-list a::after{content:"→";position:absolute;right:2px;top:12px;color:var(--dot);transition:transform 200ms var(--ease-in,ease)}
.acc-list a:hover::after,.acc-list a:focus-visible::after{transform:translateX(3px)}
.acc-list a:hover .at,.acc-list a:focus-visible .at{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--dot)}
.acc-list .at{display:block;font-weight:700;line-height:1.3}
.acc-list .ad{display:block;margin-top:3px;color:var(--fg2);font-size:.95rem;line-height:1.45}
@media (prefers-reduced-motion:reduce){.acc-g summary::after,.acc-list a::after{transition:none}}
@media print{.acc-g summary::after{display:none}.acc-list{display:grid!important}}

/* 0.44.1: home "Who we welcome" overlap fix. The heading column stays put while the
   flags scroll, so nothing else may share that column: the reader panel and the link
   now sit under the flags in the right-hand column instead of running full width
   underneath the pinned heading. On narrow screens it is one column and nothing pins. */
@media (min-width:821px){
  .flags.lay-split > .flags-head{grid-column:1;grid-row:1 / span 6;background-color:inherit}
  .flags.lay-split > .strip,.flags.lay-split > .flags-more,.flags.lay-split > .flags-reader,.flags.lay-split > .sec-link{grid-column:2}
  .flags.lay-split{align-items:start}
}
@media (max-width:820px){
  .flags.lay-split > .flags-head{position:static}
}
html.reduce .flags.lay-split > .flags-head{position:static}

/* 0.45.0: the "select a flag" hint sits above the flags, where people read it before
   scrolling past. The reader panel below stays out of the way until a flag is chosen. */
.flags-hint{margin:0 0 14px;font-size:15px;color:var(--fg2);max-width:62ch}
.flags-reader:has(> .fr-rest:only-child:empty){min-height:0;border-top:0;padding-top:0;margin-top:0}
@media (min-width:821px){.flags.lay-split > .flags-hint{grid-column:2}}

/* ── Glossary and FAQ hubs (0.46.0) ── */
.hub{padding-block:clamp(40px,6vw,80px)}
.hub .sec-head{max-width:70ch}
.hub-tools{display:grid;gap:14px;margin:clamp(14px,2vw,22px) 0 10px}
.hub-search{display:grid;gap:6px;max-width:520px;font-weight:700}
.hub-search input{font:inherit;font-weight:400;padding:12px 14px;border:2px solid var(--hair);border-radius:10px;background:var(--field,transparent);color:var(--fg);min-height:48px}
.hub-search input:focus-visible{outline:3px solid var(--dot);outline-offset:2px;border-color:var(--dot)}
.hub-chips{display:flex;flex-wrap:wrap;gap:8px}
.hub-chips .chip{font:inherit;font-size:15px;padding:8px 14px;min-height:40px;border-radius:999px;border:1.5px solid var(--hair);background:transparent;color:var(--fg);cursor:pointer}
.hub-chips .chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.hub-chips .chip:focus-visible{outline:3px solid var(--dot);outline-offset:2px}
.hub-chips .n{opacity:.7}
.hub-count{margin:0;font-size:15px;color:var(--muted);min-height:1.2em}
.hub-az{display:flex;flex-wrap:wrap;gap:2px 4px;margin:6px 0 18px;position:sticky;top:calc(var(--hdr,88px) + 4px);z-index:2;background-color:inherit;padding:6px 0;border-bottom:1px solid var(--hair)}
.glossary-hub{background-color:var(--bg)}
.hub-az a,.hub-az span{display:inline-grid;place-items:center;min-width:32px;min-height:32px;font-weight:700;border-radius:6px;text-decoration:none}
.hub-az a{color:var(--fg)}
.hub-az a:hover,.hub-az a:focus-visible{background:var(--fg);color:var(--bg)}
.hub-az span,.hub-az a.off{color:var(--muted);opacity:.45;pointer-events:none}
.hub-letter{font-size:clamp(1.3rem,2.2vw,1.8rem);margin:clamp(22px,3vw,34px) 0 8px;scroll-margin-top:calc(var(--hdr,88px) + 60px)}
.glossary-hub dl{margin:0;display:grid;grid-template-columns:1fr;column-gap:clamp(24px,4vw,56px);border-top:1px solid var(--hair)}
@media (min-width:900px){.glossary-hub dl{grid-template-columns:1fr 1fr}}
.glossary-hub .hub-item{border-bottom:1px solid var(--hair);padding:14px 0}
.glossary-hub dt{font-weight:700;font-size:1.08rem;line-height:1.3}
.glossary-hub dd{margin:6px 0 0;color:var(--fg2)}
.glossary-hub dd p{margin:0 0 6px;max-width:62ch}
.hub-tag{display:inline-block;margin-left:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.hub-src{font-size:14px;color:var(--muted)}
.hub-src a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.faq-hub .qs{border-top:1px solid var(--hair)}
.faq-hub .q{border-bottom:1px solid var(--hair)}
.faq-hub summary{cursor:pointer;list-style:none;font-weight:700;font-size:clamp(1.02rem,1.4vw,1.15rem);padding:16px 3rem 16px 0;position:relative;line-height:1.35}
.faq-hub summary::-webkit-details-marker{display:none}
.faq-hub summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-radius:50%;background:var(--dot);transform:translateY(-50%);transition:transform 300ms var(--ease-in,ease)}
.faq-hub .q[open] summary::after{transform:translateY(-50%) scale(.45)}
.faq-hub summary:focus-visible{outline:3px solid var(--dot);outline-offset:2px}
.faq-hub .ans{padding:0 0 18px;max-width:66ch;color:var(--fg2)}
.faq-hub .ans p{margin:0 0 8px}
.hub [hidden]{display:none!important}
.hub-empty{margin-top:18px}
@media (prefers-reduced-motion:reduce){.faq-hub summary::after{transition:none}}
@media print{.hub-tools,.hub-az{display:none!important}.faq-hub details{display:block}.faq-hub details>*{display:block}}

/* 0.46.1: the header nav sets nowrap, which the dropdowns inherited, so long items ran
   past their column. Dropdown text now wraps, and the two-column panels are a little wider.
   Buttons use the lighter brand orange #FE6219 (Brydan, 25 Sep); the label is bold and
   at least 18.7px so white text meets WCAG AA for large text (3:1). */
.lnav-sub{white-space:normal}
.lnav-sub a{overflow-wrap:anywhere}
@media (min-width:1101px){.lnav-sub.cols{grid-template-columns:repeat(2,minmax(270px,1fr));min-width:600px}}
.btn,.site-header .btn{font-weight:700;font-size:max(1em,18.7px)}

/* Guide download links (0.47.0) */
.dl-links{margin:18px 0 0;padding:16px 18px;border:2px solid var(--dot);border-radius:12px}
.dl-links h3{margin:0 0 8px}
.dl-links ul{margin:0;padding-left:18px}
.dl-links a{font-weight:700;color:var(--fg)}
.guide-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.guide-list a{font-weight:700}

/* 0.47.2 new-client status: aqua when taking, orange when not. Ink text on both for contrast (8.4:1 and 5.7:1). */
.prof-status.st-yes,.prof-status.st-no{color:#021C25!important;border:0;padding:6px 14px 6px 12px}
.prof-status.st-yes{background:#25CAB6}
.prof-status.st-no{background:#FE6219}
.prof-status.st-yes::before,.prof-status.st-no::before{display:inline-block;width:1.1em;font-weight:700}
.prof-status.st-yes::before{content:"\2713"}
.prof-status.st-no::before{content:"\2715"}
.person .prof-status{margin:0 0 12px;font-size:14px}

/* 0.47.4 the neurodiversity symbol is a transparent PNG with black lettering: always sit it on white so it reads on dark grounds. */
img[alt*="eurodiver" i],img[src*="eurodiversity" i]{background:#fff;border-radius:3px}

/* ===== 0.48.0 blog ===== */
/* Post header: text and drawing side by side */
.post-hero .ph-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(20px,4vw,64px);align-items:center}
.post-hero h1{max-width:22ch}
.post-hero .kicker a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.post-hero .kicker a:hover{color:var(--dot)}
.post-hero .meta{color:var(--muted);margin-top:18px}
.pv{margin:0;color:var(--fg2,currentColor)}
.pv svg{display:block;width:100%;height:auto}
.pv svg circle[fill="var(--dot)"]{fill:var(--dot)}
.ph-vis{max-width:420px;justify-self:end;width:100%}
@media (max-width:760px){.post-hero .ph-grid{grid-template-columns:1fr}.ph-vis{max-width:240px;justify-self:start}}

/* Post body: one comfortable reading column (was squeezed into a two-column grid) */
.post-body{padding-block:clamp(40px,6vw,80px)}
.post-body .body{max-width:72ch;margin-inline:auto}
.post-body .body p,.post-body .body li{font-size:clamp(1.05rem,1.3vw,1.18rem);line-height:1.7}
.post-body .body p{margin:0 0 1.2em}
.post-body .body h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:1.8em 0 .5em;line-height:1.15}
.post-body .body h3{font-size:clamp(1.2rem,1.9vw,1.45rem);margin:1.5em 0 .4em}
.post-body .body ul,.post-body .body ol{padding-left:1.3em;margin:0 0 1.4em}
.post-body .body li{margin:.35em 0}
.post-body .body ul li::marker{color:var(--dot)}
.post-body .body a{color:var(--fg2);text-underline-offset:3px}
.post-body .body a:hover{text-decoration-thickness:3px}
.post-body .body blockquote{border-left:4px solid var(--mint,#25CAB6);margin:1.6em 0;padding:.2em 0 .2em 1.2em;font-size:1.2rem}
.post-body .body figure{margin:2em 0}
.post-body .body figure img{max-width:100%;height:auto;border-radius:12px;display:block;background:#fff}
.post-body .body figcaption{font-size:.95rem;color:var(--muted);margin-top:8px}
.post-body .body table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:1rem}
.post-body .body th,.post-body .body td{border-bottom:1px solid var(--hair);padding:10px 8px;text-align:left;vertical-align:top}
/* TL;DR box at the top of each post */
.post-body .tldr{background:#E3F6F3;border-radius:14px;padding:clamp(18px,2.4vw,28px);margin:0 0 2em;border-left:6px solid #25CAB6;color:#021C25}
.post-body .tldr > *:first-child{margin-top:0}
.post-body .tldr h2{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .6em}
.post-body .tldr ul{margin:0}
.post-body .tldr li{font-size:1.05rem}
/* Callout: "Read next" and "Related on our site" */
.post-body .readnext{border:1px solid var(--hair);border-radius:14px;padding:18px 22px;margin:2em 0}
.post-body .readnext h2{font-size:1.1rem;margin:0 0 .4em}
.post-body .readnext ul{margin:0}

/* Post cards: gallery, list, titles */
.post-cards{list-style:none;margin:clamp(16px,2vw,26px) 0 0;padding:0;display:grid;gap:clamp(16px,2vw,26px)}
.post-cards.view-gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.pc{position:relative;display:grid;align-content:start;gap:12px;border:1px solid var(--hair);border-radius:16px;padding:18px;background:var(--panel,transparent)}
.g-paper .pc{background:#fff}
.pc-vis{display:block;background:#F4F1EC;border-radius:10px;padding:10px 18px;color:#094058}
.g-paper .pc-vis{background:#EAF4F2}
.pc-vis .pv{color:#094058}
.pc-txt{display:grid;gap:6px}
.pc-k{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0}
.pc-draft{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#FE6219;color:#021C25;letter-spacing:0;text-transform:none;font-weight:700;font-size:12px}
.pc-t{font-size:clamp(1.2rem,1.6vw,1.4rem);font-weight:700;line-height:1.25;margin:0}
.pc-t a{color:var(--fg);text-decoration:none;transition:color 160ms}
.pc-t a::after{content:"";position:absolute;inset:0;border-radius:16px}
.pc-x{margin:0;color:var(--fg2)}
.pc-m{margin:0;font-size:14px;color:var(--muted)}
/* Hover: titles change colour (large bold text, so contrast is fine), and the card lifts slightly */
.pc:hover .pc-t a,.pc-t a:focus-visible{color:#FE6219;text-decoration:underline;text-underline-offset:4px}
.g-ink .pc:hover .pc-t a,.g-deep .pc:hover .pc-t a{color:#25CAB6}
.pc:hover{border-color:currentColor}
.pc-t a:focus-visible{outline:none}
.pc:focus-within{outline:3px solid var(--dot);outline-offset:3px}
@media (prefers-reduced-motion:no-preference){.pc{transition:transform 180ms,border-color 180ms}.pc:hover{transform:translateY(-2px)}}
/* List view: small picture on the left */
.post-cards.view-list{grid-template-columns:1fr}
.view-list .pc{grid-template-columns:minmax(120px,200px) minmax(0,1fr);align-items:center;gap:clamp(14px,2vw,26px)}
@media (max-width:560px){.view-list .pc{grid-template-columns:90px minmax(0,1fr)}.view-list .pc-x{display:none}}
/* Titles only */
.post-cards.view-titles{grid-template-columns:1fr;gap:0;border-top:1px solid var(--hair)}
.view-titles .pc{border:0;border-bottom:1px solid var(--hair);border-radius:0;padding:14px 4px;background:transparent;grid-template-columns:1fr}
.view-titles .pc-vis,.view-titles .pc-x{display:none}
.view-titles .pc-txt{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:18px}
.view-titles .pc-k{grid-column:1/-1}
.view-titles .pc:hover{transform:none}
.bi-tools{display:grid;gap:14px;margin:clamp(14px,2vw,22px) 0 6px}
.bi-views{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bi-views-l{font-weight:700;margin-right:4px}
.bi-count{margin:0;color:var(--muted);font-size:15px}
.linkish{font:inherit;background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}
.latest-posts,.blog-index{padding-block:clamp(40px,6vw,88px)}
.lp-more{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:22px}

/* Previous and next */
.post-nav{padding-block:clamp(28px,4vw,48px)}
.post-nav .pn-in{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pn{display:grid;gap:6px;border:1px solid var(--hair);border-radius:14px;padding:16px 18px;text-decoration:none;color:inherit}
.pn-next{text-align:right}
.pn-l{font-size:14px;color:var(--muted);letter-spacing:.04em}
.pn-t{font-weight:700;font-size:1.15rem;line-height:1.3;transition:color 160ms}
.pn:hover .pn-t,.pn:focus-visible .pn-t{color:#FE6219;text-decoration:underline;text-underline-offset:4px}
.g-ink .pn:hover .pn-t,.g-deep .pn:hover .pn-t{color:#25CAB6}
.pn-all{margin:14px 0 0;text-align:center}
@media (max-width:640px){.post-nav .pn-in{grid-template-columns:1fr}.pn-next{text-align:left}}

/* Subscribe */
.subscribe{padding-block:clamp(40px,6vw,80px)}
.subscribe .sub-in{max-width:640px}
.subscribe .sub-l{font-weight:700;margin:14px 0 6px}
.subscribe .wp-block-jetpack-subscriptions__form-elements{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.subscribe .wp-block-jetpack-subscriptions__form-elements p{margin:0;flex:1 1 240px}
.subscribe input[type=email]{width:100%;font:inherit;min-height:48px;padding:10px 14px!important;border-radius:10px!important;border:2px solid transparent!important;background:#fff!important;color:#021C25!important}
.subscribe input[type=email]:focus-visible{outline:3px solid #25CAB6;outline-offset:2px}
.subscribe button,.subscribe .wp-block-button__link{font:inherit;font-weight:700;font-size:max(1em,18.7px)!important;min-height:48px;padding:10px 22px!important;border-radius:999px!important;border:0!important;background:var(--btn,#FE6219)!important;color:#fff!important;cursor:pointer}
.subscribe .sub-note{font-size:14px;color:var(--muted);margin-top:12px}
.subscribe .sub-note a{color:inherit}

/* Quick questions (FAQ) inside posts */
.post-body .qq{margin:2.4em 0}
.post-body .qq details{border-bottom:1px solid var(--hair);padding:12px 0}
.post-body .qq summary{cursor:pointer;font-weight:700;font-size:1.1rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
.post-body .qq summary::-webkit-details-marker{display:none}
.post-body .qq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--dot)}
.post-body .qq details[open] summary::after{content:"\2212"}
.post-body .qq summary:hover{color:#FE6219}
.post-body .qq details p{margin:.6em 0 0}
/* Download callout (lead generation) */
.post-body .dl-callout{background:#094058;color:#F4F1EC;border-radius:16px;padding:clamp(20px,3vw,32px);margin:2.2em 0}
.post-body .dl-callout h2,.post-body .dl-callout h3{color:#F4F1EC;margin-top:0;font-size:1.35rem}
.post-body .dl-callout p{color:#F4F1EC}
.post-body .dl-callout a:not(.wp-block-button__link){color:#25CAB6}
.post-body .dl-callout .wp-block-button__link{display:inline-block;background:#FE6219;color:#fff;font-weight:700;font-size:max(1em,18.7px);padding:12px 24px;border-radius:999px;text-decoration:none}
.post-body .dl-callout .wp-block-button__link:hover{background:#fff;color:#094058}
/* 0.48.1 more breathing room in posts (Brydan: easy to read) */
.post-body .body p,.post-body .body li{font-size:clamp(1.1rem,1.35vw,1.22rem);line-height:1.8}
.post-body .body p{margin:0 0 1.5em}
.post-body .body li{margin:.6em 0}
.post-body .body ul,.post-body .body ol{margin:0 0 1.8em}
.post-body .body h2{margin:2.4em 0 .7em}
.post-body .body h3{margin:2em 0 .6em}
.post-body .body > .wp-block-post-content > *:first-child,.post-body .tldr{margin-top:0}
.post-body .tldr{padding:clamp(22px,3vw,34px);margin-bottom:2.6em}
.post-body .tldr li{margin:.7em 0;line-height:1.65}
.post-body .dl-callout,.post-body .readnext,.post-body .qq{margin:3em 0}
.post-body .qq details{padding:16px 0}
.post-body .qq details p{margin:.8em 0 .4em;line-height:1.75}
.post-body .body figure{margin:2.6em 0}
.pn-all{text-align:right}

/* ===== 0.49.0 blog in the site's own section system ===== */
.post-phero .kicker a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.post-phero .kicker a:hover{color:var(--dot)}
.post-phero .post-meta{color:var(--muted);margin-top:18px;font-size:15px}
.post-sec .body p,.post-sec .body li,.post-tldr .body li{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.7}
.post-sec .body p{margin:0 0 1.3em}
.post-sec .body h3{font-size:clamp(1.2rem,2vw,1.5rem);margin:1.8em 0 .5em}
.post-sec .body ul,.post-sec .body ol{padding-left:1.2em;margin:0 0 1.5em}
.post-sec .body li{margin:.5em 0}
.post-sec .body ul li::marker{color:var(--dot)}
.post-sec .body a{color:var(--fg2);text-decoration-thickness:1px;text-underline-offset:3px}
.post-sec .body a:hover{text-decoration-thickness:3px}
.post-sec .body figure{margin:1.8em 0}
.post-sec .body figure img{display:block;max-width:100%;height:auto;border-radius:12px;background:#fff}
.post-sec .body figcaption{font-size:15px;color:var(--muted);margin-top:8px}
.post-sec .body table{width:100%;border-collapse:collapse;margin:0 0 1.5em}
.post-sec .body th,.post-sec .body td{border-bottom:1px solid var(--hair);padding:10px 8px;text-align:left;vertical-align:top}
.post-sec .pr-draw{color:var(--fg2)}
.post-tldr .body ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.post-tldr .body li{position:relative;padding-left:28px;margin:0}
.post-tldr .body li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;background:#25CAB6}
.post-tldr .body a{color:#25CAB6}
.post-more .pn-list{display:grid;border-top:1px solid var(--hair);margin-bottom:18px}
.pn-row{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--hair);text-decoration:none;color:inherit}
.pn-row .pn-l{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pn-row .pn-t{font-weight:700;font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.3;transition:color 180ms}
.pn-row:hover .pn-t,.pn-row:focus-visible .pn-t{color:var(--dot);text-decoration:underline;text-underline-offset:4px}
.post-sub{margin-top:clamp(28px,4vw,48px);padding-top:clamp(20px,3vw,32px);border-top:1px solid var(--hair)}
.post-sub h3{margin:0 0 .4em}
.post-sub .sub-l{font-weight:700;margin:14px 0 6px}
.post-sub .wp-block-jetpack-subscriptions__form-elements,.subscribe .wp-block-jetpack-subscriptions__form-elements{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.post-sub .wp-block-jetpack-subscriptions__form-elements p{margin:0;flex:1 1 240px}
.post-sub input[type=email]{width:100%;font:inherit;min-height:48px;padding:10px 14px!important;border-radius:10px!important;border:2px solid var(--hair)!important;background:var(--field,#fff)!important;color:var(--fg)!important}
.post-sub button{font:inherit;font-weight:700;font-size:max(1em,18.7px)!important;min-height:48px;padding:10px 22px!important;border-radius:999px!important;border:0!important;background:var(--btn,#FE6219)!important;color:#fff!important;cursor:pointer}
.post-sub button:hover,.subscribe button:hover{background:#25CAB6!important;color:#021C25!important}

/* Post lists: quieter, editorial, and on-brand (drawings sit on deep arch tiles; mint only on dark) */
.pc{border:0;border-radius:0;padding:0;background:transparent!important;gap:14px}
.pc:hover{transform:none;border-color:transparent}
.pc:focus-within{outline:none}
.pc-vis{background:#094058!important;color:#F4F1EC;border-radius:48% 48% 14px 14px / 34% 34% 14px 14px;padding:26px 26px 14px;--dot:#25CAB6;--dot-ring:#F4F1EC}
.pc-vis .pv{color:#F4F1EC}
.pc-vis .pv svg circle[fill="var(--dot)"]{fill:#25CAB6}
.pc-k{color:var(--muted)}
.pc-draft{background:transparent;color:var(--fg);border:1px solid currentColor;font-weight:700}
.pc-t a{color:var(--fg)}
.pc-t a::after{border-radius:0}
.pc:hover .pc-t a,.pc-t a:focus-visible{color:var(--dot);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.pc-t a:focus-visible{outline:3px solid var(--dot);outline-offset:4px}
.post-cards.view-gallery{gap:clamp(28px,4vw,56px) clamp(20px,3vw,40px)}
.view-list .pc{grid-template-columns:minmax(110px,180px) minmax(0,1fr);border-top:1px solid var(--hair);padding:clamp(18px,2.5vw,28px) 0;gap:clamp(16px,3vw,40px)}
.post-cards.view-list{gap:0;border-bottom:1px solid var(--hair)}
.view-list .pc-vis{padding:16px 16px 8px}
.view-titles .pc-t{font-size:clamp(1.1rem,1.5vw,1.25rem)}
.post-sub .wp-block-jetpack-subscriptions__button,.post-sub [type=submit],.subscribe .wp-block-jetpack-subscriptions__button,.subscribe [type=submit]{border-radius:999px!important;font-weight:700!important}

.generic-single{display:block}.generic-single .body{max-width:78ch}

/* 0.49.5 white text on every coloured button (Brydan 25 Sep), in every state */
.btn,.btn:hover,.btn:focus-visible,.wp-element-button,.wp-block-button__link,
.dir-actions .btn,.dir-form .btn,.ra-ctl button,.wmap .zoomctl button:hover,
.seg button[aria-pressed="true"],.ptr-pick button[aria-pressed="true"],
.post-sub button:hover,.subscribe button:hover,.post-sub [type=submit],.subscribe [type=submit],
html.th-light .prefs-panel .seg button[aria-pressed="true"]{color:#FFFFFF!important}
.dir-actions .btn,.dir-form .btn,.ra-ctl button{font-weight:700}

/* 0.49.6 Brydan 25 Sep: coloured buttons = white text; hover = deep teal (#094058) with white text.
   Labels: orange with white text (large bold, so it passes for large text); aqua with deep teal text (5.4:1). */
.btn:hover,.btn:focus-visible,.post-sub button:hover,.subscribe button:hover,.wmap .zoomctl button:hover{background:#094058!important;color:#FFFFFF!important}
.g-deep .btn:hover,.g-deep .btn:focus-visible{background:#021C25!important}
.dir-actions .btn,.dir-form .btn,.ra-ctl button,.seg button[aria-pressed="true"],.ptr-pick button[aria-pressed="true"]{background:#094058!important;border-color:#094058!important;color:#FFFFFF!important}
.g-deep .dir-actions .btn,.g-deep .dir-form .btn{background:#FE6219!important;border-color:#FE6219!important}
.prof-status.st-no{background:#FE6219;color:#FFFFFF!important;font-size:max(1em,18.7px);font-weight:700}
.prof-status.st-yes{background:#25CAB6;color:#094058!important;font-weight:700}
.pc-draft{color:inherit}
.steps.journey .sec-head h2{margin:0 0 clamp(10px,1.4vw,16px)}

/* Blog: author line and share buttons (0.50.0) */
.post-phero .post-meta a{color:inherit;text-decoration:underline;text-decoration-color:var(--dot);text-underline-offset:3px}
.post-phero .post-meta a:hover{color:var(--dot)}
.share .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.share{margin:18px 0 0}
.share-end{margin:0 0 clamp(20px,3vw,32px);padding-bottom:clamp(18px,2.5vw,28px);border-bottom:1px solid var(--hair)}
.share-l{font-weight:700;margin:0 0 8px;font-size:15px}
.post-phero .share-l{color:var(--muted)}
.share-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.share-list li{margin:0}
.share-b{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:max(.9em,16px);font-weight:700;text-decoration:none;cursor:pointer;transition:background-color 160ms,color 160ms,border-color 160ms}
.share-b:hover,.share-b:focus-visible{background:var(--btn-hover,#094058);border-color:var(--btn-hover,#094058);color:var(--btn-hover-ink,#fff)}
.share-msg{margin:6px 0 0;min-height:1.2em;font-size:15px}
.share-follow{margin:12px 0 0}
.share-follow a{color:inherit;text-decoration:underline;text-decoration-color:var(--dot);text-underline-offset:3px}
@media print{.share{display:none}}
@media (max-width:700px){.share-top.has-native .share-list li:not(.share-native):not(.share-copy){display:none}.share-top .share-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.share-top.has-native .share-list,.share-top .share-list{gap:6px}}
.share-top .share-b{min-height:40px;padding:6px 14px;font-size:15px}
.share ul.share-list{padding:0!important;margin:0!important;list-style:none!important}
.share ul.share-list li{padding:0!important;margin:0!important}
.share ul.share-list li::before,.share ul.share-list li::marker{content:none!important}
.share .share-list a.share-b,.share .share-list button.share-b{color:var(--fg)!important;border-color:currentColor;text-decoration:none!important}
.share .share-list a.share-b:hover,.share .share-list button.share-b:hover,.share .share-list a.share-b:focus-visible,.share .share-list button.share-b:focus-visible{background:var(--btn-hover,#094058);border-color:var(--btn-hover,#094058);color:var(--btn-hover-ink,#fff)!important}
