
/* Layout: "Light editorial" master site (v2 wireframe order). Paper ground, Midnight structure, Sunbeam spark (60·30·10).
   Signature moments: a blob hero with floating doorways, a 4-step pathway that runs the brand gradient, a hover-reveal
   programme list, and plum for professionals. Hash routes: #home, #help, other menu pages are stubs until built. */
:root{
  --sun:#FCD800; --teal:#52C3BD; --teal-light:#93D9D5; --teal-50:#EEF9F8; --deep-teal:#12736E; --lime:#B9D546; --ember:#F2784B;
  --midnight:#252A52; --ink:#161936; --plum:#3A2645; --plum-2:#4A3157;
  --bg:#F7F6F2; --surface:#FFFFFF; --surface-quiet:#ECEBE6; --text-strong:#252A52; --text:#45464A; --muted:#666769;
  --line:#D9D8D2; --accent-text:#12736E; --chip:#FFFFFF; --focus:#12736E; --error:#C93838; --shadow:0 1px 2px rgba(22,25,54,.06);
  --font-display:var(--font-voice); /* founder decision: Neue Montreal across the interface; Poppins retired on the site */
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  /* Neue Montreal (founder pick) is the editorial "voice": labels, leads, nav, quotes, magazine masthead.
     Commercial font (Pangram Pangram): self-host the licensed WOFF2 as "PP Neue Montreal". Inter Tight stands in until then. */
  --font-voice:"PP Neue Montreal","Neue Montreal","Inter Tight","Helvetica Neue",Arial,sans-serif;
  /* italic accent for highlight words: Fraunces italic (Google Fonts) */
  --font-accent:"Fraunces",Georgia,"Times New Roman",serif;
  --r-pill:999px; --r-lg:16px; --r-md:12px; --r-sm:8px; --ease:cubic-bezier(.2,.8,.2,1);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#13152B; --surface:#1C2040; --surface-quiet:#202549; --text-strong:#F4F4F8; --text:#CFD0D8; --muted:#A3A6B8;
  --line:#33386A; --accent-text:#93D9D5; --chip:#1C2040; --focus:#FCD800; --error:#FF9C8F; --shadow:0 1px 2px rgba(0,0,0,.3); color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#13152B; --surface:#1C2040; --surface-quiet:#202549; --text-strong:#F4F4F8; --text:#CFD0D8; --muted:#A3A6B8;
  --line:#33386A; --accent-text:#93D9D5; --chip:#1C2040; --focus:#FCD800; --error:#FF9C8F; --shadow:0 1px 2px rgba(0,0,0,.3); color-scheme:dark }

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{background:var(--bg);color:var(--text);font:400 1rem/1.6 var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--ink)}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);margin:0;text-wrap:balance;letter-spacing:-.02em}
p{margin:0}
a{color:var(--accent-text)}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--sun);color:var(--midnight);padding:12px 18px;border-radius:var(--r-pill);font:500 1rem var(--font-display);text-decoration:none}
.skip:focus{top:calc(8px + env(safe-area-inset-top,0px))}
.wrap{max-width:1280px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
@media(min-width:1024px){.wrap{padding-left:max(80px,env(safe-area-inset-left,0px));padding-right:max(80px,env(safe-area-inset-right,0px))}}
section{position:relative}
.band{padding-block:72px}
@media(min-width:1024px){.band{padding-block:104px}}
.eyebrow{font:500 .75rem/1.3 var(--font-voice);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text)}
.h2{font-weight:700;font-size:clamp(1.75rem,1.15rem + 2.4vw,2.75rem);line-height:1.12}
.head{display:grid;gap:12px;max-width:44rem;margin-bottom:40px}
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 40px;margin-bottom:36px}
.head-row .head{margin:0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:6px 8px 6px 24px;border-radius:var(--r-pill);border:0;font:500 1rem/1.2 var(--font-display);text-decoration:none;transition:background .1s,box-shadow .1s;white-space:nowrap}
.btn .arr{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;flex:none;transition:transform .32s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.btn-go{background:var(--sun);color:var(--midnight)} .btn-go .arr{background:var(--midnight);color:var(--sun)} .btn-go:hover{background:#FDE761}
.btn-ink{background:var(--midnight);color:#fff} .btn-ink .arr{background:var(--sun);color:var(--midnight)} .btn-ink:hover{background:#1C2040}
.btn-ghost{background:transparent;color:var(--text-strong);box-shadow:inset 0 0 0 1.5px currentColor;padding-right:24px}
.btn-ghost:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.tlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--accent-text);font:500 1rem var(--font-display);text-decoration:none}
.tlink:hover{text-decoration:underline;text-underline-offset:4px}

/* utility bar + header + mega menu */
.util{background:var(--ink);color:#C9CBDA;font-size:.8125rem}
.util .wrap{display:flex;justify-content:space-between;align-items:center;min-height:44px;gap:16px}
.util a{color:#fff;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.util a svg{color:var(--teal-light)}
.util .meta{display:none}
@media(min-width:900px){.util .meta{display:block}}
header.site{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:40}
header.site .wrap{display:flex;align-items:center;gap:20px;min-height:72px}
.logo{display:flex;align-items:center;margin-right:auto;min-height:44px}
.logo img{height:40px;width:auto;display:block}
nav.main{display:none}
@media(min-width:1180px){nav.main{display:flex;gap:4px;margin-right:12px}}
.nav-item{position:relative}
.nav-item>button{background:none;border:0;color:var(--text-strong);font:500 .9375rem var(--font-voice);display:inline-flex;align-items:center;gap:6px;padding:10px 12px;min-height:44px;border-radius:var(--r-sm)}
.nav-item>button:hover,.nav-item>button[aria-expanded="true"]{background:var(--surface-quiet)}
.nav-item>button svg{transition:transform .2s var(--ease)}
.nav-item>button[aria-expanded="true"] svg{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 10px);left:-12px;min-width:340px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;box-shadow:0 24px 48px -24px rgba(22,25,54,.35);display:grid;gap:2px}
.mega a{display:grid;gap:2px;padding:12px 14px;border-radius:var(--r-md);text-decoration:none;color:var(--text)}
.mega a:hover{background:var(--surface-quiet)}
.mega b{font:500 .9375rem var(--font-display);color:var(--text-strong)}
.mega span{font-size:.8125rem;color:var(--muted)}
.mega .sub{display:inline-block;margin-left:6px;font:500 .6875rem var(--font-display);letter-spacing:.06em;color:var(--accent-text)}
.talk{background:var(--sun);color:var(--midnight);border-radius:var(--r-pill);padding:12px 20px;font:500 .9375rem var(--font-display);text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.burger{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--text-strong)}
@media(min-width:1180px){.burger{display:none}}
@media(max-width:420px){.talk{padding:10px 14px;font-size:.875rem}}
.drawer{position:fixed;inset:0;z-index:90;background:var(--bg);overflow:auto;padding:calc(16px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 40px max(20px,env(safe-area-inset-left,0px))}
.drawer .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:60px;font:500 1.25rem var(--font-display);color:var(--text-strong);cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer details a{display:block;padding:10px 0 10px 4px;color:var(--text);text-decoration:none;font-size:1rem;min-height:44px}
.drawer .drawer-help{margin-top:24px;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:20px;display:grid;gap:10px}

/* HOME-01 HERO */
.hero .wrap{display:grid;gap:40px;padding-block:48px 72px;align-items:center}
@media(min-width:1024px){.hero .wrap{grid-template-columns:1fr 1fr;gap:56px;padding-block:72px 104px}}
.hero h1{font-weight:700;font-size:clamp(2.4rem,1.3rem + 4.6vw,4.75rem);line-height:1.02;letter-spacing:-.035em}
.hero h1 .hl{position:relative;white-space:nowrap;z-index:0}
.hero h1 .hl::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.06em;height:.34em;background:var(--sun);z-index:-1;border-radius:4px;transform:skewX(-8deg)}
.hero .lead{font:400 clamp(1.0625rem,1rem + .35vw,1.25rem)/1.55 var(--font-voice);margin-top:22px;max-width:32rem}
.hero .lead span{display:block;color:var(--muted);font-size:.9375rem;margin-top:6px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.blobstage{position:relative;max-width:620px;width:100%;justify-self:center;padding-bottom:64px}
.blob{position:relative;aspect-ratio:1.08/1;max-width:100%}
.blob svg.shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.blob .slot{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);background:rgba(255,255,255,.85);color:#252A52;font:500 .75rem var(--font-display);letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:var(--r-sm);white-space:nowrap}
.doors{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.door{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 14px 16px;text-decoration:none;color:var(--text-strong);display:grid;gap:10px;box-shadow:0 18px 36px -22px rgba(22,25,54,.45);transition:transform .2s var(--ease),border-color .1s;min-height:44px}
.door:hover{transform:translateY(-4px);border-color:var(--text-strong)}
.door .ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--midnight)}
.door b{font:500 .9375rem/1.25 var(--font-display)}
.door small{font-size:.75rem;color:var(--muted);display:block}
@media(max-width:520px){.door{padding:10px}.door b{font-size:.8125rem}.door small{display:none}}
@media(min-width:1024px){.door:nth-child(2){transform:translateY(-14px)}.door:nth-child(2):hover{transform:translateY(-18px)}}

/* HOME-02 STORIES */
.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;margin-bottom:28px}
.tab{flex:none;border:1.5px solid var(--line);background:var(--chip);color:var(--text-strong);border-radius:var(--r-pill);padding:8px 16px;min-height:44px;font:500 .9375rem var(--font-voice)}
.tab:hover{border-color:var(--text-strong)}
.tab[aria-selected="true"]{background:var(--midnight);color:#fff;border-color:var(--midnight)}
:root[data-theme="dark"] .tab[aria-selected="true"]{background:var(--sun);color:var(--midnight);border-color:var(--sun)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tab[aria-selected="true"]{background:var(--sun);color:var(--midnight);border-color:var(--sun)}}
.stories{display:grid;gap:20px}
@media(min-width:760px){.stories{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.stories{grid-template-columns:1.4fr 1fr 1fr}.story.lead-story{grid-row:span 2}}
.story{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:inherit;transition:border-color .1s}
.story:hover{border-color:var(--text-strong)}
.story:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.story .art{aspect-ratio:16/9;max-width:100%;position:relative;overflow:hidden}
.story.lead-story .art{aspect-ratio:4/3}
.story .art svg{position:absolute;inset:0;width:100%;height:100%}
.story .body{padding:20px 22px 24px;display:grid;gap:10px;align-content:start}
.story .cat{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.story h3{font-size:1.1875rem;font-weight:500;line-height:1.3}
.story.lead-story h3{font-size:clamp(1.375rem,1.1rem + .9vw,1.75rem);font-weight:700}
.story .meta{font-size:.8125rem;color:var(--muted)}
.mag-prompt{grid-column:1/-1;background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-lg);padding:32px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}

/* HOME-03 MAGAZINE */
.magazine{background:var(--midnight);color:#D7D9E6;overflow:hidden}
.magazine .eyebrow{color:var(--teal-light)} .magazine h2{color:#fff}
.magazine .wrap{display:grid;gap:40px;align-items:center}
@media(min-width:1024px){.magazine .wrap{grid-template-columns:.8fr 1.2fr;gap:64px}}
.magazine .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.magazine .btn-ghost{color:#fff}
.covers-wrap{position:relative;min-width:0}
.covers{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 18px;scrollbar-width:none}
.covers::-webkit-scrollbar{display:none}
.cover{flex:0 0 min(62%,240px);scroll-snap-align:start;aspect-ratio:3/4;max-width:100%;border-radius:6px;position:relative;overflow:hidden;padding:16px;display:flex;flex-direction:column;justify-content:space-between;color:var(--midnight);text-decoration:none;box-shadow:0 24px 40px -20px rgba(0,0,0,.6);transition:transform .2s var(--ease)}
.cover:hover{transform:translateY(-6px) rotate(-1deg)}
.cover .mast{font:700 1.75rem/1 var(--font-display);letter-spacing:-.04em}
.cover .mast small{display:block;font:500 .5625rem var(--font-display);letter-spacing:.24em;text-transform:uppercase;margin-top:4px}
.cover .no{font:700 4rem/.85 var(--font-display);letter-spacing:-.05em;position:relative;z-index:1}
.cover .theme{font:500 .75rem/1.3 var(--font-display);position:relative;z-index:1}
.cover svg{position:absolute;inset:0;width:100%;height:100%}
.arrows{display:flex;gap:8px;margin-top:8px}
.arrows button{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;display:grid;place-items:center}
.arrows button:hover{border-color:#fff}

/* HOME-04 PATHWAY */
.path{list-style:none;margin:0;padding:0;display:grid;gap:14px;position:relative}
@media(min-width:900px){.path{grid-template-columns:repeat(4,1fr);gap:16px}}
.path::before{content:"";position:absolute;left:28px;top:20px;bottom:20px;width:4px;border-radius:4px;background:linear-gradient(#52C3BD,#94CC6A 60%,#FCD800)}
@media(min-width:900px){.path::before{left:20px;right:20px;top:28px;bottom:auto;width:auto;height:4px;background:linear-gradient(90deg,#52C3BD,#94CC6A 60%,#FCD800)}}
.step{position:relative}
.step a{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;transition:transform .2s var(--ease),border-color .1s;height:100%}
@media(min-width:900px){.step a{grid-template-columns:1fr;padding:0 20px 24px;background:transparent;border:0}}
.step a:hover{transform:translateY(-4px)}
.step .dot{width:60px;height:60px;display:grid;place-items:center;color:var(--midnight);font:700 1rem var(--font-display);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);position:relative;z-index:1}
@media(min-width:900px){.step .dot{margin-left:-6px}}
.step .free{font:500 .75rem var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.step h3{font-size:1.5rem;font-weight:700;margin:4px 0 6px}
.step p{font-size:.9375rem}
.step .go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font:500 .9375rem var(--font-display);color:var(--accent-text)}

/* HOME-05 PFA FEATURE */
.pfa{background:var(--sun);color:var(--midnight);overflow:hidden}
.pfa .wrap{display:grid;gap:40px;align-items:center}
@media(min-width:1024px){.pfa .wrap{grid-template-columns:1fr 1fr;gap:72px}}
.pfa .art{aspect-ratio:5/4;max-width:100%;border-radius:24px;background:var(--midnight);position:relative;overflow:hidden}
.pfa .art svg{position:absolute;inset:0;width:100%;height:100%}
.pfa .eyebrow{color:var(--midnight)}
.pfa h2{color:var(--midnight);font-size:clamp(2rem,1.2rem + 3vw,3.25rem);line-height:1.04;font-weight:700;margin-top:14px}
.pfa p.lead{margin-top:18px;max-width:30rem;font-size:1.0625rem}
.lll{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 28px;list-style:none;padding:0}
.lll li{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--r-pill);background:rgba(37,42,82,.08);font:500 .9375rem var(--font-display)}
.lll i{width:12px;height:12px;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}

/* HOME-06 PROGRAMMES */
.prog-grid{display:grid;gap:40px}
@media(min-width:1024px){.prog-grid{grid-template-columns:1fr 1fr;gap:72px;align-items:start}}
.prog-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--text-strong)}
.prog-list a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:22px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:padding .2s var(--ease),background .2s}
.prog-list a:hover,.prog-list a:focus-visible,.prog-list a.on{padding-left:16px;background:var(--surface)}
.prog-list h3{font-size:clamp(1.25rem,1rem + 1vw,1.75rem);font-weight:500}
.prog-list p{grid-column:1;font-size:.9375rem;color:var(--muted)}
.prog-list .arr{grid-row:1/span 2;grid-column:2;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--text-strong);transition:background .2s,border-color .2s}
.prog-list a:hover .arr,.prog-list a.on .arr{background:var(--sun);border-color:var(--sun);color:var(--midnight)}
.prog-preview{position:sticky;top:96px;aspect-ratio:4/3;max-width:100%;border-radius:24px;overflow:hidden;display:none}
@media(min-width:1024px){.prog-preview{display:block}}
.prog-preview svg{position:absolute;inset:0;width:100%;height:100%;transition:opacity .32s var(--ease)}
.prog-preview .cap{position:absolute;left:20px;bottom:20px;right:20px;background:var(--surface);color:var(--text-strong);border-radius:var(--r-md);padding:14px 16px;font-size:.875rem;display:grid;gap:2px}
.prog-preview .cap b{font:500 1rem var(--font-display)}

/* HOME-07 REACH */
.reach{background:var(--surface-quiet)}
.reach h2{max-width:22ch}
.stats{display:grid;gap:0;grid-template-columns:1fr 1fr;border-top:2px solid var(--text-strong)}
@media(min-width:900px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{padding:24px 16px 28px 0;border-bottom:1px solid var(--line)}
.stat:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
@media(min-width:900px){.stat{border-bottom:0}.stat+.stat{border-left:1px solid var(--line);padding-left:24px}}
.stat b{display:block;font:700 clamp(2.5rem,1.6rem + 3vw,4rem)/1 var(--font-display);color:var(--text-strong);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:10px;font-size:.9375rem;max-width:18ch}
.stat small{display:block;margin-top:4px;color:var(--muted);font-size:.8125rem}
.partners{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px}
.partners p{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.partners ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px}
.partners li{font:700 1.0625rem var(--font-display);color:var(--text-strong);opacity:.75}
.footnote{margin-top:24px;font-size:.8125rem;color:var(--muted)}
.footnote .confirm,.confirm{display:inline-block;font:500 .75rem var(--font-display);padding:2px 8px;border-radius:var(--r-sm);background:rgba(242,120,75,.18);color:#9F513B}
:root[data-theme="dark"] .confirm{color:#FFB79C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .confirm{color:#FFB79C}}

/* HOME-08 PROFESSIONALS (plum) */
.pros{background:var(--plum);color:#E6DDEA;overflow:hidden}
.pros::after{content:"";position:absolute;right:-8%;top:-80px;width:46%;height:110px;background:var(--sun);transform:rotate(-7deg);opacity:.95}
.pros .eyebrow{color:var(--sun)} .pros h2{color:#fff}
.pros .wrap{display:grid;gap:40px;position:relative;z-index:1}
@media(min-width:1024px){.pros .wrap{grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center}}
.pros p.lead{margin-top:16px;max-width:30rem}
.pros .btn{margin-top:28px}
.pro-cards{display:grid;gap:12px}
@media(min-width:640px){.pro-cards{grid-template-columns:1fr 1fr}}
.pro{background:var(--plum-2);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:22px;display:grid;gap:8px;text-decoration:none;color:#E6DDEA;transition:border-color .1s,transform .2s var(--ease)}
.pro:hover{border-color:var(--sun);transform:translateY(-3px)}
.pro .k{font:500 .75rem var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#C9B8D2}
.pro b{font:500 1.1875rem var(--font-display);color:#fff}
.pro p{font-size:.875rem}
.pro .price{font:500 .875rem var(--font-display);color:var(--sun)}

/* HOME-09 PARTNER */
.partner .card{background:var(--teal-light);color:var(--midnight);border-radius:28px;padding:48px 28px;display:grid;gap:24px;position:relative;overflow:hidden}
@media(min-width:1024px){.partner .card{padding:72px 64px;grid-template-columns:1.3fr .7fr;align-items:end}}
.partner .card h2{color:inherit;font-size:clamp(2rem,1.2rem + 3vw,3.5rem);line-height:1.04;max-width:16ch}
.partner .card .eyebrow{color:inherit}
.partner .card p{max-width:32rem;margin-top:14px}
.partner.photoband .card{background:rgba(255,255,255,.6)}
:root[data-theme="dark"] .partner.photoband .card{background:rgba(28,32,64,.6)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .partner.photoband .card{background:rgba(28,32,64,.6)}}
.partner.photoband .ways i{background:currentColor}
.partner .ring{position:absolute;right:-90px;top:-90px;width:300px;height:300px;pointer-events:none}
.partner .ways{list-style:none;margin:0;padding:0;display:grid;gap:8px;font:500 .9375rem var(--font-display)}
.partner .ways li{display:flex;gap:10px;align-items:center}
.partner .ways i{width:10px;height:10px;background:var(--midnight);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}

/* GLB-02 HELP BOX */
.helpbox{background:var(--bg)}
.help-cards{display:grid;gap:12px}
@media(min-width:900px){.help-cards{grid-template-columns:repeat(3,1fr)}}
.hcard{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;text-decoration:none;color:inherit;min-height:44px;transition:border-color .1s}
.hcard:hover{border-color:var(--text-strong)}
.hcard .ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--midnight)}
.hcard b{display:block;font:500 1.0625rem var(--font-display);color:var(--text-strong)}
.hcard span{font-size:.875rem;color:var(--muted)}

/* FOOTER */
footer{background:var(--ink);color:#B8BBD0;font-size:.875rem}
footer .wrap{padding-block:64px calc(40px + env(safe-area-inset-bottom,0px));display:grid;gap:48px}
.f-top{display:grid;gap:28px}
@media(min-width:1024px){.f-top{grid-template-columns:1.1fr .9fr;align-items:end}}
.f-top h2{color:#fff;font-size:clamp(1.75rem,1.2rem + 2vw,2.5rem);font-weight:700}
.f-top p{margin-top:10px;max-width:34rem}
.news{display:grid;gap:8px}
.news label{font:500 .875rem var(--font-display);color:#fff}
.news .row{display:flex;gap:8px;flex-wrap:wrap}
.news input{flex:1 1 220px;min-height:52px;border-radius:var(--r-pill);border:1.5px solid #3A3F6B;background:#1C2040;color:#fff;padding:0 20px;font:400 1rem var(--font-body)}
.news input:focus{outline:none;border-color:var(--sun)}
.news .err{color:#FF9C8F;font-size:.8125rem;font-weight:600}
.news .ok{color:var(--lime);font-size:.875rem;font-weight:600}
.f-cols{display:grid;gap:28px;grid-template-columns:1fr 1fr}
@media(min-width:900px){.f-cols{grid-template-columns:repeat(6,1fr)}}
.f-cols h3{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:8px}
.f-cols ul{list-style:none;margin:0;padding:0}
.f-cols a{color:#B8BBD0;text-decoration:none;display:inline-flex;align-items:center;min-height:36px}
.f-cols a:hover{color:#fff;text-decoration:underline}
.f-base{border-top:1px solid #2A2F5E;padding-top:24px;display:grid;gap:10px;font-size:.8125rem}
.f-base a{color:#B8BBD0}

/* HELP PAGE (calm help: numbers first, never animated) */
.helppage{background:#F3F9F7}
:root[data-theme="dark"] .helppage{background:var(--bg)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .helppage{background:var(--bg)}}
.hp-hero{background:var(--ink);color:#DADCEA}
.hp-hero .wrap{padding-block:48px 56px;display:grid;gap:22px}
.hp-hero h1{color:#fff;font-size:clamp(2rem,1.4rem + 2.6vw,3rem);font-weight:700}
.hp-hero p{max-width:40rem;font-size:1.0625rem}
.big-calls{display:grid;gap:12px;max-width:720px}
@media(min-width:640px){.big-calls{grid-template-columns:1fr 1fr}}
.big-call{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:#fff;color:var(--midnight);border-radius:var(--r-lg);padding:18px 22px;text-decoration:none;min-height:88px}
.big-call:hover{background:#FFF7C2}
.big-call .ic{width:52px;height:52px;border-radius:50%;background:var(--sun);display:grid;place-items:center}
.big-call b{display:block;font:700 2rem/1 var(--font-display);font-variant-numeric:tabular-nums}
.big-call span{font-size:.9375rem}
.lines{display:grid;gap:12px}
@media(min-width:760px){.lines{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.lines{grid-template-columns:repeat(3,1fr)}}
.line{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px;display:grid;gap:4px}
.line b{font:500 1.0625rem var(--font-display);color:var(--text-strong)}
.line a{font:700 1.375rem var(--font-display);text-decoration:none;color:var(--text-strong);display:inline-flex;align-items:center;min-height:44px;font-variant-numeric:tabular-nums}
.line a:hover{color:var(--accent-text)}
.line span{font-size:.875rem;color:var(--muted)}
.next{list-style:none;margin:0;padding:0;counter-reset:n;display:grid;gap:10px;max-width:40rem}
.next li{counter-increment:n;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 18px;font-size:1.0625rem;color:var(--text-strong)}
.next li::before{content:counter(n);width:32px;height:32px;border-radius:50%;background:var(--teal-light);color:var(--midnight);display:grid;place-items:center;font:700 .9375rem var(--font-display)}
.hp-grid{display:grid;gap:40px}
@media(min-width:1024px){.hp-grid{grid-template-columns:1.1fr .9fr;gap:64px}}
.side-cards{display:grid;gap:12px;align-content:start}
.side-cards a,.side-cards div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px;text-decoration:none;color:inherit;display:grid;gap:4px}
.side-cards b{font:500 1.0625rem var(--font-display);color:var(--text-strong)}
.side-cards span{font-size:.9375rem;color:var(--muted)}

/* STUB pages */
.stub .wrap{padding-block:72px 96px;display:grid;gap:24px}
.stub h1{font-size:clamp(2rem,1.4rem + 2.6vw,3rem);font-weight:700}
.stub ol{margin:0;padding:0;list-style:none;display:grid;gap:8px;max-width:44rem}
.stub li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 18px;display:flex;gap:14px;align-items:center}
.stub li code{font:500 .75rem ui-monospace,Menlo,monospace;color:var(--accent-text);flex:none}

/* POPUP (email, magazine) */
.scrim{position:fixed;inset:0;z-index:95;background:rgba(22,25,54,.66);display:grid;place-items:end center}
@media(min-width:640px){.scrim{place-items:center;padding:24px}}
.sheet{background:var(--surface);width:100%;max-width:520px;max-height:92vh;overflow:auto;border-radius:24px 24px 0 0;padding:28px 24px calc(28px + env(safe-area-inset-bottom,0px))}
@media(min-width:640px){.sheet{border-radius:24px;padding:36px}}
.sheet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.x{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--text-strong);display:grid;place-items:center}
.sheet h2{font-size:1.5rem;font-weight:700;margin-bottom:6px}
.field{display:grid;gap:8px;margin:16px 0}
.field label{font:500 .875rem var(--font-display);color:var(--text-strong)}
.field input,.field textarea,.field select{font:400 1rem var(--font-body);padding:13px 14px;min-height:48px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--bg);color:var(--text-strong);width:100%}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--error)}
.err{color:var(--error);font-size:.8125rem;font-weight:600}

/* ===== photo heads (Magnific-style): full-bleed photo, header floats transparent on top ===== */
.photohead{position:relative;isolation:isolate;overflow:hidden;color:#F4F4F8;margin-top:-73px;background:#161936}
.photohead .ph-bg{position:absolute;inset:0;z-index:-2}
.photohead .ph-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;filter:saturate(1.05) contrast(1.03)}
.photohead::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(22,25,54,.62) 0,rgba(22,25,54,0) 26%),
  linear-gradient(0deg,rgba(22,25,54,.9) 0,rgba(22,25,54,.55) 38%,rgba(22,25,54,.08) 72%),
  linear-gradient(90deg,rgba(22,25,54,.55) 0,rgba(22,25,54,0) 60%)}
.photohead h1,.photohead h2{color:#fff}
.photohead .eyebrow{color:var(--sun)}
.photohead .lead,.photohead .lead span{color:#E6E7F0}
.photohead .crumbs,.photohead .crumbs a{color:#C9CBDA}
.photohead .btn-ghost{color:#fff}
.ph-credit{position:absolute;right:max(20px,env(safe-area-inset-right,0px));bottom:14px;font:500 .75rem var(--font-voice);color:rgba(255,255,255,.7);letter-spacing:.04em}
.hero.photohead .wrap{display:grid;grid-template-columns:1fr;gap:36px;align-content:end;min-height:clamp(600px,88vh,860px);padding-block:150px 56px}
@media(min-width:1024px){.hero.photohead .wrap{grid-template-columns:1.25fr .75fr;align-items:end;gap:48px;padding-block:180px 80px}}
.hero.photohead h1{margin-top:18px;font-size:clamp(2.6rem,1.2rem + 5.4vw,5.5rem);max-width:13ch}
.hero.photohead h1 .hl::after{opacity:.95}
.hero.photohead .doors{position:static;grid-template-columns:1fr;gap:10px}
@media(max-width:1023px){.hero.photohead .doors{grid-template-columns:repeat(3,1fr)}}
.hero.photohead .door{background:rgba(255,255,255,.94);border-color:transparent;transform:none}
:root[data-theme="dark"] .hero.photohead .door{background:rgba(28,32,64,.92)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero.photohead .door{background:rgba(28,32,64,.92)}}
.hero.photohead .door:hover{transform:translateX(-4px)}
@media(min-width:1024px){.hero.photohead .door{grid-template-columns:auto 1fr;align-items:center}}
.pagehead.photohead .wrap{padding-block:160px 72px}
@media(min-width:1024px){.pagehead.photohead .wrap{padding-block:200px 96px}}
.photohead .facts{border-color:#fff}.photohead .facts div{border-color:rgba(255,255,255,.2)}
.photohead .facts dt{color:#C9CBDA}.photohead .facts dd{color:#fff}
/* header over a photo head */
header.site{transition:background .2s,border-color .2s}
header.site.over{background:transparent;border-bottom-color:rgba(255,255,255,.18)}
header.site.over .nav-item>button{color:#fff}
header.site.over .nav-item>button:hover,header.site.over .nav-item>button[aria-expanded="true"]{background:rgba(255,255,255,.14)}
header.site.over .burger{color:#fff;border-color:rgba(255,255,255,.4)}
header.site.over .logo img{filter:drop-shadow(0 1px 6px rgba(0,0,0,.35))}

/* ===== glass (frosted panels over photos) =====
   Build: Elementor container Custom CSS: backdrop-filter + translucent background. Solid fallback where blur isn't supported. */
.glass{background:rgba(22,25,54,.34);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);
  border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 24px 48px -24px rgba(8,9,24,.55);color:#F4F4F8}
.glass-light{background:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 24px 48px -28px rgba(22,25,54,.45);color:#252A52}
:root[data-theme="dark"] .glass-light{background:rgba(28,32,64,.6);border-color:rgba(255,255,255,.16);color:#F4F4F8;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 48px -28px rgba(0,0,0,.6)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .glass-light{background:rgba(28,32,64,.6);border-color:rgba(255,255,255,.16);color:#F4F4F8;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 48px -28px rgba(0,0,0,.6)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:rgba(22,25,54,.82)}.glass-light{background:rgba(255,255,255,.95)}}
.glass b,.glass h3,.glass h2{color:#fff}.glass small,.glass span{color:#DADCEA}
/* hero doors become frosted */
.hero.photohead .door{background:rgba(22,25,54,.3);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.24);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 20px 40px -24px rgba(0,0,0,.6)}
:root[data-theme="dark"] .hero.photohead .door{background:rgba(22,25,54,.42)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero.photohead .door{background:rgba(22,25,54,.42)}}
.hero.photohead .door small{color:#DADCEA}
.hero.photohead .door:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.5)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.hero.photohead .door{background:rgba(22,25,54,.78)}}
/* solid header turns frosted once scrolled */
header.site:not(.over){background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%)}
.mega{background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%)}
/* photo bands with a frosted panel */
.photoband{position:relative;isolation:isolate;overflow:hidden;background:#161936}
.photoband>.ph-bg{position:absolute;inset:0;z-index:-2}
.photoband>.ph-bg img{width:100%;height:100%;object-fit:cover;display:block}
.photoband::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,25,54,.25),rgba(22,25,54,.55))}
.photoband .head .eyebrow{color:var(--sun)}.photoband .head h2{color:#fff}
.helpbox.photoband .hcard{background:rgba(22,25,54,.32);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.24);color:#fff}
.helpbox.photoband .hcard b{color:#fff}.helpbox.photoband .hcard span{color:#DADCEA}
.helpbox.photoband .hcard:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.helpbox.photoband .hcard{background:rgba(22,25,54,.8)}}
.glass-panel{border-radius:24px;padding:32px 28px;display:grid;gap:18px}
@media(min-width:1024px){.glass-panel{padding:48px}}
.magazine.photoband::before{background:linear-gradient(90deg,rgba(37,42,82,.96) 0,rgba(37,42,82,.88) 45%,rgba(37,42,82,.55))}
.prog-preview .cap{background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.7);color:#252A52}
.prog-preview .cap b{color:#252A52}
.ways-img{aspect-ratio:16/9;max-width:100%;border-radius:12px;overflow:hidden;margin:-8px -8px 6px;position:relative}
.ways-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.illus{position:absolute;left:12px;bottom:12px;font:500 .75rem var(--font-voice);color:#fff;padding:4px 10px;border-radius:999px;background:rgba(22,25,54,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

/* ===== review pass 1 fixes ===== */
/* hero: doors sit in a row under the buttons so the people in the photo stay visible */
@media(min-width:1024px){
  .hero.photohead .wrap{grid-template-columns:1fr;align-content:end;gap:28px;min-height:clamp(600px,calc(100vh - 44px),860px);padding-block:130px 48px}
  .hero.photohead h1{font-size:clamp(2.6rem,1.2rem + 4.2vw,4.75rem)}
  .hero.photohead .lead{margin-top:16px}.hero.photohead .ctas{margin-top:22px}
  .hero.photohead .doors{grid-template-columns:repeat(3,minmax(0,220px));gap:12px}
  .hero.photohead .door{grid-template-columns:auto 1fr;align-items:center;padding:12px 14px}
  .hero.photohead .door:hover{transform:translateY(-3px)}
}
.hero.photohead .hero-copy{max-width:760px}
/* stronger top and bottom shade so the menu and white text always read */
.photohead::before{background:
  linear-gradient(180deg,rgba(22,25,54,.72) 0,rgba(22,25,54,.12) 30%,rgba(22,25,54,0) 45%),
  linear-gradient(0deg,rgba(22,25,54,.9) 0,rgba(22,25,54,.55) 40%,rgba(22,25,54,.08) 72%),
  linear-gradient(90deg,rgba(22,25,54,.55) 0,rgba(22,25,54,0) 60%)}
.helpbox.photoband::before{background:linear-gradient(180deg,rgba(22,25,54,.78) 0,rgba(22,25,54,.5) 55%,rgba(22,25,54,.7) 100%)}
/* lead story fills its two rows instead of leaving a white gap */
@media(min-width:1100px){.stories .story.lead-story{grid-template-rows:1fr auto}.stories .story.lead-story .art{aspect-ratio:auto;min-height:300px}}
/* topic tabs scroll without a visible bar, with a soft fade at the edge */
.tabs{scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.tabs::-webkit-scrollbar{display:none}
@media(min-width:1100px){.tabs{-webkit-mask-image:none;mask-image:none}}
/* magazine covers fade out at the edge so the cut-off cover reads as "scroll for more" */
.covers{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
/* reach figures never break mid-number */
.stat b{white-space:nowrap;font-size:clamp(2.1rem,1.4rem + 2.6vw,3.5rem)}
/* professional cards keep their text at the top */
.pro{align-content:start}
/* footer: tighter headline, 44px tap areas for links */
.f-top h2{line-height:1.1}
@media(max-width:899px){.f-cols a{min-height:44px}}
.f-base a{display:inline-block;padding:14px 4px;margin:-14px 0}

/* ===== round 6: type, hover, logos, ticker, language, header styles ===== */
/* headings in Neue Montreal (stand-in Inter Tight) with italic serif accents */
h1,h2,h3,h4{font-family:var(--font-voice)}
.h2,.pagehead h1,.hero h1,.prog-sec h2,.cta-band h2,.offer h2{font-weight:500;letter-spacing:-.035em}
.hero.photohead h1{font-weight:500;letter-spacing:-.045em;line-height:.98}
h1 em,h2 em,h3 em{font-family:var(--font-accent);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--accent-text);padding-right:.04em}
.photohead h1 em,.photoband h2 em,.magazine h2 em,.pros h2 em,footer h2 em,.dark-band h2 em,.plum-band h2 em,.plum-hero h1 em,.mast-hero h1 em{color:var(--sun)}
.pfa h2 em,.cta-band h2 em{color:#12736E}
.partner .card h2 em{color:var(--accent-text)}
.hero h1 .hl::after{display:none}
/* hover goes lighter, press goes darker */
.btn,.talk,.door,.story,.tab,.chip,.hcard,.pro,a.card,button.card,.step a,.prog-list a,.cover,.edition,.logo-tile,.nav-item>button,.tlink{transition:filter .18s var(--ease),opacity .18s var(--ease),background-color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}
.btn:hover,.talk:hover{filter:brightness(1.08) saturate(1.04)}
.btn:active,.talk:active{filter:brightness(.88);transform:scale(.98)}
.btn-ghost:hover{background:rgba(255,255,255,.14)}
.btn-ghost:active{background:rgba(22,25,54,.18)}
.story .art img,.ways-img img,.ph-art img{transition:opacity .25s var(--ease),transform .5s var(--ease)}
.story:hover .art img{opacity:.86;transform:scale(1.03)}
.story:active{filter:brightness(.94)}
.hero.photohead .door:active,.helpbox.photoband .hcard:active{background:rgba(22,25,54,.6)}
.tab:hover,.chip:hover{background:color-mix(in srgb,var(--chip) 70%,var(--teal-light))}
.tab:active,.chip:active{filter:brightness(.9)}
a.card:active,button.card:active,.pro:active,.step a:active,.prog-list a:active,.hcard:active{filter:brightness(.94)}
.cover:hover,.edition:hover .cover{opacity:.9}
.tlink:hover{opacity:.8}.tlink:active{opacity:1;filter:brightness(.8)}
/* partner logos: greyscale, colour on hover */
.logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;flex:1;min-width:0}
.logo-tile{height:92px;background:#fff;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;padding:10px;overflow:hidden}
.logo-tile img{max-height:70px;max-width:100%;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.62;transition:filter .3s var(--ease),opacity .3s var(--ease),transform .3s var(--ease)}
.logo-tile:hover img,.logo-tile:focus-within img{filter:none;opacity:1;transform:scale(1.04)}
.logo-tile span{font:600 .9375rem/1.2 var(--font-voice);color:#6B6C72;text-align:center;letter-spacing:-.01em;transition:color .3s}
.logo-tile:hover span{color:#252A52}
.partners{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
@media(min-width:900px){.partners{grid-template-columns:150px 1fr;gap:32px}.partners>p{padding-top:34px}}
.partners ul.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.partners ul.logos li{font:inherit;opacity:1}
.logo-tile{height:96px;padding:12px 16px;display:flex;align-items:center;justify-content:center}
.logo-tile img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:scale(var(--s,1));filter:grayscale(1) contrast(1.25) brightness(.92);opacity:.85}
.logo-tile:hover img,.logo-tile:focus-within img,.logo-tile:focus img{filter:none;opacity:1;transform:scale(calc(var(--s,1) * 1.05))}
.logo-tile:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
body.hdr-c .drawer summary svg{width:22px;height:22px}
body.hdr-c .drawer .drawer-photo img{object-position:78% 50%}
/* scrolling headline ticker (latest stories) */
.ticker{background:var(--midnight);color:#fff;border-block:1px solid rgba(255,255,255,.08);position:relative}
.ticker .wrap{display:flex;align-items:center;gap:16px;min-height:56px}
.ticker .label{flex:none;display:inline-flex;align-items:center;gap:8px;font:600 .75rem var(--font-voice);letter-spacing:.16em;text-transform:uppercase;color:var(--sun)}
.ticker .label i{width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(252,216,0,.2)}
.ticker .track-wrap{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 92%,transparent)}
.ticker .track{display:flex;width:max-content;animation:tick 60s linear infinite}
.ticker:hover .track,.ticker:focus-within .track,.ticker.paused .track{animation-play-state:paused}
.ticker .track a{display:inline-flex;align-items:center;gap:12px;padding:0 28px 0 0;min-height:44px;color:#E6E7F0;text-decoration:none;font:500 1rem var(--font-voice);white-space:nowrap}
.ticker .track a b{font:400 1rem var(--font-accent);font-style:italic;color:var(--teal-light)}
.ticker .track a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.ticker .track a::after{content:"";width:6px;height:6px;background:var(--sun);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);margin-left:16px}
.ticker .pause{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:grid;place-items:center}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker .track{animation:none}.ticker .track-wrap{overflow-x:auto}}
/* language dropdown */
.lang{position:relative}
.lang>button{background:none;border:0;color:#fff;font:600 .8125rem var(--font-body);display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 4px}
.lang>button svg.globe{color:var(--teal-light)}
.lang ul{position:absolute;right:0;top:calc(100% + 4px);z-index:60;list-style:none;margin:0;padding:6px;min-width:190px;border-radius:14px;background:rgba(28,32,64,.86);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.lang li button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:none;color:#E6E7F0;font:500 .9375rem var(--font-voice);text-align:left}
.lang li button:hover{background:rgba(255,255,255,.1)}
.lang li button[aria-checked="true"]{color:#fff}
.lang li button[aria-checked="true"]::after{content:"✓";color:var(--sun)}
.lang li small{color:#A9ADC8;font-size:.75rem}
.lang ul{max-height:min(70vh,460px);overflow-y:auto;overscroll-behavior:contain}
.lang li.lang-more{padding:10px 12px 6px;font:400 .75rem/1.4 var(--font-body);color:#A9ADC8;border-top:1px solid rgba(255,255,255,.12);margin-top:4px}
[dir="rtl"] .lang ul{right:auto;left:0}
[dir="rtl"] .btn .arr svg,[dir="rtl"] .door + .door svg{transform:scaleX(-1)}
[dir="rtl"] .hero.photohead .wrap{justify-items:start}
[dir="rtl"] .photohead::before{background:
  linear-gradient(180deg,rgba(22,25,54,.72) 0,rgba(22,25,54,.12) 30%,rgba(22,25,54,0) 45%),
  linear-gradient(0deg,rgba(22,25,54,.9) 0,rgba(22,25,54,.55) 40%,rgba(22,25,54,.08) 72%),
  linear-gradient(270deg,rgba(22,25,54,.62) 0,rgba(22,25,54,0) 62%)}
[dir="rtl"] .hero.photohead .ph-bg img{transform:scaleX(-1)}
.util .meta{display:flex;align-items:center;gap:16px}
.util .meta .util-reach{display:none}
@media(min-width:900px){.util .meta .util-reach{display:inline}}
.sw-note{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:85;padding:12px 18px;border-radius:999px;font:500 .875rem var(--font-voice);max-width:calc(100% - 32px)}
/* header styles: A classic (default) · B floating glass pill · C minimal with full-screen menu */
:root{--hdr-h:73px}
.photohead{margin-top:calc(var(--hdr-h) * -1)}
body.hdr-b header.site,body.hdr-b header.site:not(.over){background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding-top:8px}
body.hdr-b header.site .wrap{min-height:64px;margin-top:0;border-radius:999px;padding-left:20px;padding-right:10px;max-width:1240px;width:calc(100% - 32px);
  background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:0 18px 40px -24px rgba(22,25,54,.45)}
body.hdr-b header.site.over .wrap{background:rgba(22,25,54,.28);border-color:rgba(255,255,255,.22)}
body.hdr-c header.site nav.main{display:none}
body.hdr-c .burger{display:inline-flex;width:auto;gap:8px;padding:0 16px;border-radius:999px;font:500 .9375rem var(--font-voice)}
body.hdr-c .burger::after{content:"Menu"}
body.hdr-c header.site .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
body.hdr-c header.site .logo{grid-column:2;margin:0}
body.hdr-c header.site .talk{grid-column:3;justify-self:end;grid-row:1}
body.hdr-c header.site .burger{grid-column:1;grid-row:1;justify-self:start}
body.hdr-c .drawer{background:#161936;color:#E6E7F0;display:grid;align-content:start}
@media(min-width:1024px){body.hdr-c .drawer:not([hidden]){grid-template-columns:1.2fr .8fr;column-gap:64px;padding:32px 80px}}
body.hdr-c .drawer .top{grid-column:1/-1}
body.hdr-c .drawer summary{color:#fff;font:500 clamp(1.75rem,1.2rem + 2vw,3rem)/1.2 var(--font-voice);min-height:76px;letter-spacing:-.03em}
body.hdr-c .drawer details{border-color:rgba(255,255,255,.12)}
body.hdr-c .drawer details a{color:#C9CBDA;font-size:1.125rem}
body.hdr-c .drawer .x{color:#fff;border-color:rgba(255,255,255,.3)}
body.hdr-c .drawer .drawer-photo{display:none}
@media(min-width:1024px){body.hdr-c .drawer .drawer-photo{display:block;grid-column:2;grid-row:2 / span 2;border-radius:24px;overflow:hidden;min-height:520px;position:relative}
  body.hdr-c .drawer .drawer-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}}
.drawer .drawer-photo{display:none}
@media(min-width:1180px){body.hdr-c .burger{display:inline-flex}}

/* ===== brand patterns on plain colour fields (Brand Book 07 · Patterns & textures)
   "Conversation field" = rows of open bubbles; "Open ring" = the logo's front bubble.
   Flat, behind content, densest at one edge and faded out before any text. One pattern per section. */
:root{
  --bubbles:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.2'%3E%3Ccircle cx='18' cy='18' r='7'/%3E%3Ccircle cx='54' cy='54' r='7'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Cpath d='M12.4 22.4l-2.9 4.6 5.2-1.7z'/%3E%3Cpath d='M48.4 58.4l-2.9 4.6 5.2-1.7z'/%3E%3C/g%3E%3C/svg%3E");
  --ring:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M58 30A80 80 0 1 1 30 142' fill='none' stroke='%23000' stroke-width='15' stroke-linecap='round'/%3E%3C/svg%3E");
}
.pfa,.pros,.reach,footer,.cta-band,.dark-band,.plum-band,.pagehead:not(.photohead),.mast-hero{position:relative;isolation:isolate;overflow:hidden}
.pfa::before,.pros::before,footer::before,.cta-band::before,.dark-band::before,.plum-band::before,.mast-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:var(--pat-c,#52C3BD);opacity:var(--pat-o,.2);
  -webkit-mask:var(--bubbles) 0 0/72px 72px repeat,linear-gradient(var(--pat-dir,90deg),transparent 42%,#000 92%);-webkit-mask-composite:source-in;
  mask:var(--bubbles) 0 0/72px 72px repeat,linear-gradient(var(--pat-dir,90deg),transparent 42%,#000 92%);mask-composite:intersect}
footer{--pat-c:#52C3BD;--pat-o:.2}
.pros{--pat-c:#FCD800;--pat-o:.12;--pat-dir:200deg}
.pfa{--pat-c:#252A52;--pat-o:.1;--pat-dir:270deg}
.cta-band{--pat-c:#252A52;--pat-o:.12}
.dark-band{--pat-c:#93D9D5;--pat-o:.16}
.plum-band{--pat-c:#FCD800;--pat-o:.1}
.mast-hero{--pat-c:#93D9D5;--pat-o:.14;--pat-dir:270deg}
.reach::before,.pagehead:not(.photohead)::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:min(520px,70vw);aspect-ratio:1;right:-120px;top:50%;transform:translateY(-50%);
  background-color:var(--ring-c,#252A52);opacity:var(--ring-o,.06);-webkit-mask:var(--ring) center/contain no-repeat;mask:var(--ring) center/contain no-repeat}
.pagehead:not(.photohead){--ring-c:#52C3BD;--ring-o:.28}
@media(max-width:700px){.reach::before,.pagehead:not(.photohead)::before{right:-45%;opacity:calc(var(--ring-o,.06) * .7)}}

/* ===== header B, white: a solid white floating pill on every page and over every photo ===== */
body.hdr-b header.site .wrap,body.hdr-b header.site.over .wrap{background:rgba(255,255,255,.96);border:1px solid rgba(37,42,82,.08);box-shadow:0 18px 44px -24px rgba(22,25,54,.4);color:#252A52}
body.hdr-b header.site .nav-item>button,body.hdr-b header.site.over .nav-item>button{color:#252A52}
body.hdr-b header.site .nav-item>button:hover,body.hdr-b header.site .nav-item>button[aria-expanded="true"],body.hdr-b header.site.over .nav-item>button:hover{background:#F1F3F2}
body.hdr-b header.site .burger,body.hdr-b header.site.over .burger{color:#252A52;border-color:#D9D8D2}
body.hdr-b header.site.over .logo img{filter:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body.hdr-b header.site .wrap{background:#fff}}

/* ===== footer bottom bar: legal on one end, social icons on the other ===== */
.f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;border-top:1px solid #2A2F5E;padding-top:20px;margin-top:8px}
.f-bottom p{max-width:62ch}
.social{display:flex;gap:8px;flex-wrap:wrap}
.social a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(233,244,242,.28);display:grid;place-items:center;color:#E6E7F0;text-decoration:none;margin:0;padding:0}
.social a svg{width:18px;height:18px}
.social a:hover{background:var(--sun);border-color:var(--sun);color:#252A52}
.social a:active{filter:brightness(.9)}
.f-base{border-top:0;padding-top:0}

/* ===== partner logos: one line, scrolling on its own; pauses on hover/focus; still for reduced motion ===== */
.partners{display:grid;grid-template-columns:1fr;gap:16px;justify-items:center;margin-top:48px}
.partners>p{padding-top:0;text-align:center}
.logo-strip{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-track{display:flex;width:max-content;animation:tick 38s linear infinite}
.logo-strip:hover .logo-track,.logo-strip:focus-within .logo-track{animation-play-state:paused}
.partners ul.logos{display:flex;flex-wrap:nowrap;gap:12px;padding-right:12px}
.partners ul.logos .logo-tile{flex:none;width:176px}
@media (prefers-reduced-motion:reduce){.logo-track{animation:none}.logo-strip{overflow-x:auto}}
/* reach statement and footnote centred */
.reach .head{text-align:center;margin-inline:auto;justify-items:center}
.reach .head .h2{max-width:22ch;margin-inline:auto}
.reach .footnote{text-align:center}

/* ===== PFA feature: the course name is the title ===== */
.pfa .pfa-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(37,42,82,.1);font-size:.75rem;letter-spacing:.16em}
.pfa .pfa-kicker span{font-weight:700}
.pfa h2.pfa-title{margin-top:18px;font-weight:500;font-size:clamp(2.6rem,1.3rem + 4.4vw,5rem);line-height:.95;letter-spacing:-.045em;color:var(--midnight);text-wrap:balance}
.pfa .pfa-hook{margin-top:16px;font:400 clamp(1.25rem,1rem + 1vw,1.75rem)/1.25 var(--font-voice);color:var(--midnight);letter-spacing:-.02em}
.pfa .pfa-hook em{font-family:var(--font-accent);font-style:italic;color:#12736E}
.pfa p.lead{margin-top:14px}

/* ===== inner pages: shared parts ===== */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font:500 .8125rem var(--font-display);color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text-strong);text-decoration:underline}
.pagehead .wrap{padding-block:56px 64px;display:grid;gap:18px}
@media(min-width:1024px){.pagehead .wrap{padding-block:80px 88px}}
.pagehead h1{font-weight:700;font-size:clamp(2.25rem,1.3rem + 3.8vw,4.25rem);line-height:1.03;letter-spacing:-.035em;max-width:18ch}
.pagehead .lead{font-family:var(--font-voice);font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);max-width:38rem}
.pagehead.split .wrap{grid-template-columns:1fr}
@media(min-width:1024px){.pagehead.split .wrap{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px}}
.ph-art{aspect-ratio:5/4;max-width:100%;border-radius:24px;overflow:hidden;position:relative}
.ph-art svg{position:absolute;inset:0;width:100%;height:100%}
.ph-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
img.cover{object-fit:cover;display:block}
.ph-art .slot{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.88);color:#252A52;font:500 .75rem var(--font-display);letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:var(--r-sm)}
.grid2,.grid3,.grid4{display:grid;gap:16px}
@media(min-width:720px){.grid2,.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:grid;gap:10px;align-content:start;color:inherit;text-decoration:none}
a.card,button.card{transition:border-color .1s,transform .2s var(--ease);font:inherit;text-align:left;cursor:pointer}
a.card:hover,button.card:hover{border-color:var(--text-strong);transform:translateY(-3px)}
.card .k{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.card h3{font-size:1.25rem;font-weight:500;line-height:1.25}
.card p{font-size:.9375rem}
.card .go{font:500 .9375rem var(--font-display);color:var(--accent-text);margin-top:4px}
.card .ic{width:48px;height:48px;display:grid;place-items:center;color:var(--midnight);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}
.card.danger{background:var(--ink);border-color:var(--ink);color:#DADCEA}
.card.danger h3{color:#fff}.card.danger .k,.card.danger .go{color:var(--sun)}
.numlist{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:2px solid var(--text-strong);counter-reset:nl}
.numlist li{counter-increment:nl;display:grid;grid-template-columns:52px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}
.numlist li::before{content:counter(nl,decimal-leading-zero);font:700 .9375rem var(--font-display);color:var(--accent-text);padding-top:3px}
.numlist b{display:block;font:500 1.125rem var(--font-display);color:var(--text-strong)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:grid;grid-template-columns:24px 1fr;gap:10px}
.checks li::before{content:"";width:18px;height:18px;margin-top:3px;background:var(--accent-text);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%)}
.steps4{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:s4}
@media(min-width:900px){.steps4{grid-template-columns:repeat(4,1fr)}}
.steps4 li{counter-increment:s4;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;display:grid;gap:6px}
.steps4 li::before{content:counter(s4);width:40px;height:40px;display:grid;place-items:center;font:700 1rem var(--font-display);color:var(--midnight);background:var(--teal-light);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}
.steps4 b{font:500 1.125rem var(--font-display);color:var(--text-strong)}
.steps4 span{font-size:.9375rem;color:var(--muted)}
.cta-band{background:var(--sun);color:var(--midnight)}
.cta-band .wrap{padding-block:48px;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.cta-band h2{color:var(--midnight);font-size:clamp(1.5rem,1.1rem + 1.6vw,2.25rem);font-weight:700;max-width:24ch}
.cta-band p{margin-top:6px}
.dark-band{background:var(--midnight);color:#D7D9E6}
.dark-band h2,.dark-band h3{color:#fff}.dark-band .eyebrow{color:var(--teal-light)}
.dark-band .stat b{color:#fff}.dark-band .stats{border-color:#fff}.dark-band .stat{border-color:rgba(255,255,255,.15)!important}
.dark-band .stat small{color:#A9ADC8}
.quote-block{border-left:4px solid var(--sun);padding:4px 0 4px 20px;display:grid;gap:10px}
.quote-block p{font:400 1.25rem/1.5 var(--font-voice);color:var(--text-strong)}
.quote-block cite{font-style:normal;font-size:.875rem;color:var(--muted)}
.chiprow{display:flex;flex-wrap:wrap;gap:8px}
.chiprow a,.chiprow span{display:inline-flex;align-items:center;min-height:40px;padding:6px 16px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--chip);color:var(--text-strong);text-decoration:none;font:500 .9375rem var(--font-display)}
.chiprow a:hover{border-color:var(--text-strong)}
.jump{position:sticky;top:73px;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.jump .wrap{display:flex;gap:8px;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.jump a{flex:none;display:inline-flex;align-items:center;min-height:40px;padding:6px 16px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);color:var(--text-strong);text-decoration:none;font:500 .875rem var(--font-display)}
.prog-sec .wrap{display:grid;gap:40px;align-items:center}
@media(min-width:1024px){.prog-sec .wrap{grid-template-columns:1fr 1fr;gap:72px}.prog-sec.flip .ph-art{order:2}}
.prog-sec h2{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.75rem);font-weight:700;line-height:1.08;margin:12px 0 14px}
.prog-sec .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.minis{display:grid;gap:12px;margin-top:20px}
@media(min-width:640px){.minis{grid-template-columns:1fr 1fr}}
.mini{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px}
.mini b{display:block;font:500 1rem var(--font-display);color:var(--text-strong)}
.mini span{font-size:.875rem}
.plum-page{--accent-text:#B88FCB}
.plum-hero{background:var(--plum);color:#E6DDEA;overflow:hidden}
.plum-hero h1{color:#fff}.plum-hero .eyebrow{color:var(--sun)}.plum-hero .crumbs,.plum-hero .crumbs a{color:#C9B8D2}
.plum-hero::after{content:"";position:absolute;right:-6%;bottom:-40px;width:44%;height:90px;background:var(--sun);transform:rotate(-7deg)}
.plum-hero .btn-ghost{color:#fff}
:root:not([data-theme="dark"]) .plum-page{--accent-text:#6B4A7B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .plum-page{--accent-text:#D3B5E0}}
.plum-band{background:var(--plum);color:#E6DDEA}.plum-band h2,.plum-band h3,.plum-band b{color:#fff}.plum-band .eyebrow{color:var(--sun)}
.plum-band .checks li::before{background:var(--sun)}
.pricecards{display:grid;gap:12px;grid-template-columns:1fr 1fr;max-width:520px}
.pricecard{border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;background:var(--surface)}
.pricecard b{display:block;font:700 1.75rem var(--font-display);color:var(--text-strong);font-variant-numeric:tabular-nums}
.pricecard span{font-size:.875rem;color:var(--muted)}
.dash{background:#2B1B34;border-radius:20px;padding:20px;color:#E6DDEA;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);display:grid;gap:12px;max-width:420px;justify-self:center;width:100%}
.dash .row1{display:flex;gap:12px;align-items:center}
.dash .av{width:48px;height:48px;border-radius:50%;background:var(--teal-light);display:grid;place-items:center;color:var(--midnight);font:700 1rem var(--font-display)}
.dash b{color:#fff;font-family:var(--font-display);font-weight:500}
.dash .tile{background:rgba(255,255,255,.07);border-radius:var(--r-md);padding:14px;display:flex;justify-content:space-between;font-size:.875rem}
.dash .tile strong{color:var(--sun);font-family:var(--font-display)}
.dash .ver{display:inline-flex;gap:6px;align-items:center;font-size:.75rem;color:var(--lime)}
/* hub */
.hub-grid{display:grid;gap:40px}
@media(min-width:1024px){.hub-grid{grid-template-columns:220px 1fr;gap:56px}}
.toc{display:none}
@media(min-width:1024px){.toc{display:block;position:sticky;top:96px;align-self:start}}
.toc p{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.toc a{display:block;padding:8px 0 8px 14px;border-left:2px solid var(--line);color:var(--text);text-decoration:none;font-size:.9375rem}
.toc a:hover,.toc a.on{border-color:var(--accent-text);color:var(--text-strong)}
.prose{max-width:42rem;display:grid;gap:18px;font-size:1.125rem;line-height:1.7}
.prose h2{font-size:1.625rem;font-weight:700;margin-top:24px;scroll-margin-top:96px}
.prose h3{font-size:1.1875rem;font-weight:500}
.prose ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.signs{display:grid;gap:12px}
@media(min-width:720px){.signs{grid-template-columns:repeat(3,1fr)}}
.signs div{background:var(--teal-50);border-radius:var(--r-md);padding:16px;font-size:.9375rem;color:#252A52}
.signs b{display:block;font:500 1rem var(--font-display);margin-bottom:6px}
.review{display:inline-flex;gap:8px;align-items:center;font:500 .8125rem var(--font-display);padding:6px 12px;border-radius:var(--r-pill);background:rgba(242,120,75,.15);color:#9F513B}
:root[data-theme="dark"] .review{color:#FFB79C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .review{color:#FFB79C}}
.checkcard{background:var(--midnight);border-radius:var(--r-lg);color:#D7D9E6;border-radius:var(--r-lg);padding:24px;display:grid;gap:10px}
.checkcard h3{color:#fff;font-size:1.25rem;font-weight:500}.checkcard .k{color:var(--teal-light)}
.checkcard.glass{background:rgba(22,25,54,.36)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.checkcard.glass{background:rgba(22,25,54,.85)}}
.photohead .review{background:rgba(255,255,255,.16);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25)}
.inline-cta{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--sun);border-radius:var(--r-md);padding:20px;display:grid;gap:8px;font-size:1rem}
.inline-cta .k{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.inline-cta b{font:500 1.125rem var(--font-display);color:var(--text-strong)}
/* self-check */
.quiz{max-width:44rem;display:grid;gap:16px}
.q{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;margin:0}
.q legend{font:500 1.0625rem/1.4 var(--font-display);color:var(--text-strong);padding:0;margin-bottom:12px;float:left;width:100%}
.q .opts{clear:both;display:grid;gap:8px}
@media(min-width:720px){.q .opts{grid-template-columns:repeat(4,1fr)}}
.q label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r-md);cursor:pointer;font-size:.9375rem}
.q label:has(input:checked){border-color:var(--text-strong);background:var(--surface-quiet)}
.q input{accent-color:#252A52;width:18px;height:18px;margin:0}
.q.missing{border-color:var(--error)}
.result{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;display:grid;gap:14px;max-width:44rem}
.meter{height:12px;border-radius:12px;background:linear-gradient(90deg,#B9D546,#FCD800 45%,#F2784B 75%,#C93838);position:relative}
.meter i{position:absolute;top:-6px;width:4px;height:24px;border-radius:2px;background:var(--text-strong);transform:translateX(-2px)}
.meter-l{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}
/* story + editions */
.article-head{max-width:52rem}
.article-head h1{font-size:clamp(2rem,1.3rem + 3vw,3.5rem);line-height:1.06;font-weight:700;margin-top:14px}
.article-meta{font:500 .8125rem var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.article-hero{aspect-ratio:21/9;max-width:100%;border-radius:24px;overflow:hidden;position:relative;margin-top:32px}
.article-hero svg{position:absolute;inset:0;width:100%;height:100%}
.art-grid{display:grid;gap:40px}
@media(min-width:1100px){.art-grid{grid-template-columns:200px 1fr 240px;gap:48px}}
.side{display:grid;gap:12px;align-content:start}
@media(min-width:1100px){.side{position:sticky;top:96px;align-self:start}}
.side .card{padding:18px}
.share{display:flex;gap:8px;flex-wrap:wrap}
.share button{min-height:44px;padding:8px 14px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--text-strong);font:500 .875rem var(--font-display)}
.reflect{background:var(--teal-50);border-radius:var(--r-lg);padding:22px;color:#252A52}
.reflect b{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:6px}
.editions{display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.editions{grid-template-columns:repeat(4,1fr)}}
.edition{text-decoration:none;color:inherit;display:grid;gap:10px}
.edition .cover{flex:none;width:100%}
.edition b{font:500 1rem var(--font-display);color:var(--text-strong)}
.edition span{font-size:.875rem;color:var(--muted)}
.lib{display:grid;gap:12px}
@media(min-width:720px){.lib{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.lib{grid-template-columns:repeat(3,1fr)}}
.book{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px}
.book .spine{aspect-ratio:2/3;border-radius:4px;max-width:100%}
.book b{display:block;font:500 1rem var(--font-display);color:var(--text-strong)}
.book span{font-size:.8125rem;color:var(--muted)}
.mast-hero{background:var(--midnight);color:#D7D9E6;overflow:hidden}
.mast-hero .wrap{display:grid;gap:40px;padding-block:64px 80px;align-items:center}
@media(min-width:1024px){.mast-hero .wrap{grid-template-columns:1.1fr .9fr}}
.mast-hero h1{color:#fff;font:700 clamp(3.5rem,2rem + 7vw,7.5rem)/.9 var(--font-voice);letter-spacing:-.05em}
.mast-hero h1 small{display:block;font-size:.28em;letter-spacing:.3em;text-transform:uppercase;font-weight:500;color:var(--sun);margin-top:12px}
.mast-hero .btn-ghost{color:#fff}
.tilted{position:relative;height:340px;max-width:100%}
.tilted .cover{position:absolute;width:210px;max-width:60%}
.tilted .cover:first-child{left:8%;top:20px;transform:rotate(-8deg)}
.tilted .cover:last-child{right:8%;top:0;transform:rotate(6deg)}
/* about */
.facts{display:grid;gap:0;grid-template-columns:1fr 1fr;border-top:2px solid var(--text-strong);margin-top:32px}
@media(min-width:900px){.facts{grid-template-columns:repeat(4,1fr)}}
.facts div{padding:18px 16px 18px 0;border-bottom:1px solid var(--line)}
.facts dt{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:6px 0 0;font:500 1.0625rem var(--font-display);color:var(--text-strong)}
.letter{display:grid;gap:32px}
@media(min-width:1024px){.letter{grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}}
.letter .prose p:first-of-type::first-letter{font:700 3.5em/.8 var(--font-display);float:left;margin:6px 10px 0 0;color:var(--accent-text)}
.portraits{display:flex;gap:16px}
.portrait-slot{flex:1;aspect-ratio:3/4;max-width:100%;border-radius:var(--r-lg);background:var(--surface-quiet);display:grid;place-items:center;text-align:center;font:500 .75rem var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px;position:relative}
.portrait-slot b{display:block;font-size:1.75rem;letter-spacing:0;color:var(--text-strong);margin-bottom:6px}
.mvp{display:grid;gap:16px}
@media(min-width:900px){.mvp{grid-template-columns:repeat(3,1fr)}}
.mvp div{border-top:4px solid var(--teal);padding-top:18px}
.mvp div:nth-child(2){border-color:var(--lime)}.mvp div:nth-child(3){border-color:var(--sun)}
.mvp b{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mvp p{font:500 1.25rem/1.4 var(--font-display);color:var(--text-strong);margin-top:8px}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0;margin-top:40px}
@media(min-width:900px){.timeline{grid-template-columns:repeat(4,1fr);border-top:2px solid rgba(255,255,255,.4)}}
.timeline li{padding:20px 20px 0 0;display:grid;gap:6px;font-size:.9375rem}
.timeline b{font:700 1.5rem var(--font-display);color:var(--sun)}
.leaders{display:grid;gap:24px}
@media(min-width:900px){.leaders{grid-template-columns:1fr 1fr}}
.leader{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start}
.leader .portrait-slot{aspect-ratio:1;border-radius:50%;flex:none}
.leader .role{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.leader h3{font-size:1.375rem;font-weight:700;margin:4px 0 8px}
.leader blockquote{margin:12px 0 0;font:400 1rem/1.5 var(--font-display);color:var(--text-strong)}
.gov{display:grid;gap:12px;margin-top:32px}
@media(min-width:900px){.gov{grid-template-columns:repeat(4,1fr)}}
.gov div{background:var(--surface-quiet);border-radius:var(--r-md);padding:16px;font-size:.9375rem}
.gov b{display:block;font:500 1rem var(--font-display);color:var(--text-strong)}
.values{display:grid;gap:16px}
@media(min-width:720px){.values{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.values{grid-template-columns:repeat(3,1fr)}}
.value{padding:22px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);display:grid;gap:6px}
.value b{font:700 1.25rem var(--font-display);color:var(--text-strong)}
.value i{font-style:normal;font:500 1rem var(--font-display);color:var(--accent-text)}
.commit{display:grid;gap:0;counter-reset:c}
@media(min-width:900px){.commit{grid-template-columns:1fr 1fr;column-gap:48px}}
.commit div{counter-increment:c;display:grid;grid-template-columns:44px 1fr;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}
.commit div::before{content:counter(c,decimal-leading-zero);font:700 .875rem var(--font-display);color:var(--accent-text);padding-top:2px}
.commit b{display:block;font:500 1.0625rem var(--font-display);color:var(--text-strong)}
.commit span{font-size:.9375rem}
.roadmap{display:grid;gap:16px}
@media(min-width:900px){.roadmap{grid-template-columns:repeat(3,1fr)}}
.roadmap div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.roadmap b{font:700 1.25rem var(--font-display);color:var(--text-strong)}
.roadmap ul{margin:12px 0 0;padding-left:1.1em;display:grid;gap:6px;font-size:.9375rem}
.news-list{display:grid;gap:0;border-top:2px solid var(--text-strong)}
.news-list a{display:grid;grid-template-columns:1fr auto;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.news-list a:hover b{text-decoration:underline}
.news-list b{font:500 1.125rem var(--font-display);color:var(--text-strong)}
.news-list span{font-size:.875rem;color:var(--muted);white-space:nowrap}
/* contact */
.contact-grid{display:grid;gap:40px}
@media(min-width:1024px){.contact-grid{grid-template-columns:1.2fr .8fr;gap:72px}}
.cform{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
@media(min-width:640px){.cform{padding:32px}}
.cform .field{margin:0 0 16px}
.consent{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:.9375rem;margin:4px 0 20px;align-items:start}
.consent input{width:20px;height:20px;accent-color:#252A52;margin-top:2px}
.direct{display:grid;gap:24px;align-content:start}
.direct div{display:grid;gap:4px}
.direct .k{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.direct b{font:500 1.125rem var(--font-display);color:var(--text-strong);user-select:all}
/* pop-up extras */
.sheet.wide{max-width:760px;padding:0;display:grid;overflow:hidden}
@media(min-width:760px){.sheet.wide{grid-template-columns:220px 1fr}}
.app-side{background:var(--plum);color:#E6DDEA;padding:24px;display:none}
@media(min-width:760px){.app-side{display:block}}
.app-side ol{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;counter-reset:a}
.app-side li{counter-increment:a;display:flex;gap:10px;align-items:center;font-size:.875rem;opacity:.6}
.app-side li::before{content:counter(a);width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;font:500 .75rem var(--font-display);flex:none}
.app-side li.on{opacity:1;color:#fff}.app-side li.on::before{background:var(--sun);border-color:var(--sun);color:var(--midnight)}
.app-side li.done{opacity:1}
.app-main{padding:28px 24px calc(28px + env(safe-area-inset-bottom,0px));overflow:auto;max-height:92vh}
@media(min-width:640px){.app-main{padding:32px}}
.two{display:grid;gap:0 12px}
@media(min-width:560px){.two{grid-template-columns:1fr 1fr}}
.pick{display:flex;flex-wrap:wrap;gap:8px}
.pick label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1.5px solid var(--line);border-radius:var(--r-pill);cursor:pointer;font-size:.9375rem}
.pick label:has(input:checked){border-color:var(--text-strong);background:var(--surface-quiet)}
.pick input{accent-color:#252A52}
.reviewlist{display:grid;gap:8px;font-size:.9375rem;background:var(--surface-quiet);border-radius:var(--r-md);padding:16px;margin-bottom:16px}
.reviewlist div{display:flex;justify-content:space-between;gap:12px}
.reviewlist dt{color:var(--muted)}.reviewlist dd{margin:0;color:var(--text-strong);text-align:right}

/* build notes */
.devtoggle{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;background:var(--surface);color:var(--text-strong);border:1.5px solid var(--text-strong);border-radius:var(--r-pill);padding:10px 16px;min-height:44px;font:500 .8125rem var(--font-display);display:flex;gap:8px;align-items:center;box-shadow:0 8px 20px -10px rgba(0,0,0,.4)}
.devtoggle[aria-pressed="true"]{background:var(--ember);border-color:var(--ember);color:var(--midnight)}
.build{display:none}
body.dev [data-build]{outline:2px dashed var(--ember);outline-offset:-2px}
body.dev .build{display:block;position:absolute;z-index:30;left:8px;top:8px;max-width:min(560px,calc(100% - 16px));background:var(--ember);color:#252A52;font:500 .75rem/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;padding:10px 12px;border-radius:var(--r-sm)}
body.dev .build b{font-family:var(--font-display);display:block;font-size:.8125rem;margin-bottom:2px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
/* breadcrumbs: a 40px tap area without changing the layout */
.crumbs a{display:inline-block;padding-block:12px;margin-block:-12px}
/* ===== spacing + banner type, shared across the three sites: one headline size for every banner (the convo.africa home size),
   a shorter home banner, and tighter gaps between blocks ===== */
:root{--banner-h1:clamp(2.6rem,1rem + 4vw,4.75rem)}
.band{padding-block:56px}
@media(min-width:1024px){.band{padding-block:80px}}
.band[style*="padding-top:0"]{padding-top:0!important}
.hero.photohead .wrap{min-height:clamp(520px,72vh,700px);align-content:center;padding-block:120px 48px}
@media(min-width:1024px){.hero.photohead .wrap{padding-block:128px 56px}}
.b-yth h1,.b-ac h1,.ac-pfa2 h1,.b-mc h1,.b-et2 h1,.hero.photohead h1{font-size:var(--banner-h1)!important}
.b-yth-grid{padding-block:48px 56px}
@media(min-width:1024px){.b-yth-grid,.b-mc-grid{min-height:clamp(540px,68vh,680px);padding-block:56px 64px}.b-ac-main{min-height:clamp(560px,72vh,700px);padding-block:56px}.ac-pfa2>.pfa2-main{min-height:clamp(540px,68vh,680px);padding-block:56px 32px}}
.mc-sec{padding-block:clamp(56px,6vw,80px)}
.mc-quoteband{padding-block:clamp(48px,5vw,72px)}
/* ===== tighter rhythm (round 2): less space between sections and between the elements inside them ===== */
.band{padding-block:40px}
@media(min-width:1024px){.band{padding-block:56px}}
.head{margin-bottom:24px;gap:8px}
.head-row{margin-bottom:24px}
.head-row .head{margin-bottom:0}
.hero.photohead .wrap{min-height:clamp(460px,62vh,600px);gap:24px;padding-block:104px 40px}
@media(min-width:1024px){.hero.photohead .wrap{padding-block:108px 44px}}
.hero .ctas{margin-top:22px}
.hero .lead{margin-top:16px}
.pagehead .wrap{padding-block:40px 40px}
.pagehead.photohead .wrap{padding-block:120px 48px}
.helpbox.band{padding-block:56px!important}
.cta-band .wrap{padding-block:40px}
.et-cta{padding-block:72px}
.b-yth-grid,.b-mc-grid{padding-block:36px 44px}
@media(min-width:1024px){.b-yth-grid,.b-mc-grid{min-height:clamp(480px,60vh,600px);padding-block:44px 52px}.b-ac-main{min-height:clamp(500px,64vh,620px);padding-block:44px}.ac-pfa2>.pfa2-main{min-height:clamp(480px,60vh,600px);padding-block:44px 24px}.b-et .wrap{min-height:clamp(500px,64vh,640px);padding-block:56px 48px}}
.b-et .wrap{padding-block:48px 44px}
.mc-sec{padding-block:clamp(40px,4.5vw,64px)}
.mc-quoteband{padding-block:clamp(36px,4vw,56px)}
.mc-head-row{margin-bottom:28px}
.mc-qhead{margin-bottom:28px}
/* ===== SHOP ===== */
.b-link{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:4px 0;min-height:44px;font:500 1.0625rem var(--font-voice);color:#252A52;text-decoration:none;border-bottom:2px solid #12736E;cursor:pointer}
.b-link:hover{color:#12736E}.b-link.light{color:#fff;border-bottom-color:#93D9D5}.b-link.light:hover{color:#93D9D5}
.b-pill{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 10px 0 28px;border-radius:999px;background:#252A52;color:#fff;font:500 1.0625rem var(--font-voice);text-decoration:none;border:0;cursor:pointer}
.b-pill span{width:44px;height:44px;border-radius:50%;background:#FCD800;color:#252A52;display:grid;place-items:center}
.b-pill:hover{background:#363C6E}
.sh-hero{background:#FBF7F0;position:relative;overflow:hidden;isolation:isolate}
.sh-hero-grid{display:grid;gap:32px;padding-block:40px 44px;align-items:center}
@media(min-width:1024px){.sh-hero-grid{grid-template-columns:1fr 1fr;gap:48px;padding-block:48px 56px;min-height:clamp(460px,58vh,580px)}}
.sh-hero .eyebrow{color:#9F513B;letter-spacing:.22em}
.sh-hero h1{font-size:var(--banner-h1,clamp(2.6rem,1rem + 4vw,4.75rem));font-weight:600;letter-spacing:-.05em;line-height:.98;color:#252A52;margin-top:16px}
.sh-hero h1 em{font-family:var(--font-accent);font-style:italic;font-weight:500;color:#12736E}
.sh-hero .lead{font:400 clamp(1.0625rem,1rem + .35vw,1.25rem)/1.55 var(--font-voice);color:#252A52;margin-top:18px;max-width:30rem}
.sh-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:26px}
.sh-perks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sh-perks li{font:500 .875rem var(--font-voice);padding:7px 14px;border-radius:999px;background:#fff;border:1px solid #EADFCB;color:#252A52}
.sh-collage{position:relative;height:clamp(300px,38vw,460px)}
.sh-collage>div{position:absolute;border-radius:28px;display:grid;place-items:center;box-shadow:0 30px 60px -36px rgba(22,25,54,.5)}
.sh-collage .c1{left:0;top:6%;width:56%;height:78%;background:#FCD800;transform:rotate(-5deg)}
.sh-collage .c2{right:0;top:0;width:50%;height:62%;background:#252A52;transform:rotate(4deg)}
.sh-collage .c3{right:8%;bottom:0;width:38%;height:40%;background:#93D9D5;transform:rotate(-3deg)}
.sh-collage svg{width:82%;height:82%}
.sh-filter{display:flex;flex-wrap:wrap;gap:8px}
.sh-filter button{min-height:44px;padding:8px 18px;border-radius:999px;border:1.5px solid #E2E1DB;background:#fff;color:#252A52;font:500 .9375rem var(--font-voice);cursor:pointer}
.sh-filter button[aria-pressed="true"]{background:#252A52;border-color:#252A52;color:#fff}
.sh-grid{display:grid;gap:16px}
@media(min-width:640px){.sh-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.sh-grid{grid-template-columns:repeat(4,1fr)}}
.sh-card{background:#fff;border:1px solid #ECE6DA;border-radius:22px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.sh-card .art{aspect-ratio:1;display:grid;place-items:center;background:var(--bg,#F4EFE6);position:relative}
.sh-card .art svg{width:78%;height:78%;transition:transform .3s var(--ease)}
.sh-card:hover .art svg{transform:scale(1.04) rotate(-1deg)}
.sh-card .badge{position:absolute;left:12px;top:12px;font:600 .6875rem var(--font-voice);letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#252A52;color:#fff}
.sh-card .body{padding:16px 18px 18px;display:grid;gap:8px;align-content:start}
.sh-card h3{font:500 1.0625rem/1.3 var(--font-voice);color:#252A52}
.sh-card .pr{font:600 1.0625rem var(--font-voice);color:#12736E}
.sh-sw{display:flex;gap:8px;flex-wrap:wrap}
.sh-sw label{position:relative;width:32px;height:32px;cursor:pointer}
.sh-sw input{position:absolute;opacity:0}
.sh-sw span{display:block;width:32px;height:32px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.sh-sw input:checked+span{box-shadow:0 0 0 2px #fff,0 0 0 4px #252A52}
.sh-sw input:focus-visible+span{outline:2px solid #12736E;outline-offset:4px}
.sh-card select{min-height:44px;border-radius:12px;border:1.5px solid #E2E1DB;background:#F7F6F2;padding:0 12px;font:500 .9375rem var(--font-voice);color:#252A52}
.sh-card .add{margin-top:4px;justify-content:center}
.sh-card .add.added{background:#12736E;color:#fff}
.sh-wa{background:#0D5C5B;color:#CDE7E5;--pat-c:#93D9D5;--pat-o:.16}
.sh-wa h2{color:#fff}.sh-wa h2 em{color:#FCD800}.sh-wa .eyebrow{color:#FCD800}
.sh-wa-grid{display:grid;gap:32px;align-items:center}
@media(min-width:1024px){.sh-wa-grid{grid-template-columns:1.1fr .9fr;gap:56px}}
.sh-checks{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.sh-checks li{display:grid;grid-template-columns:26px 1fr;color:#fff}
.sh-checks li::before{content:"✓";width:20px;height:20px;border-radius:50%;background:#FCD800;color:#252A52;display:grid;place-items:center;font-size:.75rem;font-weight:700;margin-top:2px}
.sh-note{margin-top:18px;font-size:.8125rem;color:#A9D4D0;max-width:34rem}
.sh-phone{justify-self:center;width:min(100%,340px);background:#ECE5DD;border-radius:36px;border:10px solid #161936;overflow:hidden;box-shadow:0 40px 70px -40px rgba(0,0,0,.6)}
.sh-phone .top{display:flex;gap:10px;align-items:center;background:#075E54;color:#fff;padding:14px 16px}
.sh-phone .av{width:38px;height:38px;border-radius:50%;background:#FCD800;color:#252A52;display:grid;place-items:center;font:700 1rem var(--font-voice)}
.sh-phone .top b{display:block;font:600 .9375rem var(--font-voice)}.sh-phone .top small{font-size:.75rem;color:#CDE7E5}
.sh-phone .msgs{padding:16px 14px 22px;display:grid;gap:8px}
.sh-phone .msgs p{margin:0;max-width:85%;padding:9px 12px;border-radius:12px;font-size:.875rem;line-height:1.4;color:#1E1E1E;background:#fff;justify-self:start;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.sh-phone .msgs .out{justify-self:end;background:#D9FDD3}
.sh-bagbtn{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:65;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 10px 0 18px;border-radius:999px;border:0;background:#252A52;color:#fff;font:500 1rem var(--font-voice);cursor:pointer;box-shadow:0 16px 30px -14px rgba(22,25,54,.6)}
.sh-bagbtn b{min-width:32px;height:32px;border-radius:999px;background:#FCD800;color:#252A52;display:grid;place-items:center;font-size:.9375rem}
.sh-sheet{max-width:620px}
.sh-h3{font:500 1rem var(--font-voice);color:#252A52;margin:18px 0 6px}
.sh-lines{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.sh-lines li{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid #ECE6DA;border-radius:16px}
.sh-lines .th{width:56px;height:56px;border-radius:12px;background:var(--bg,#F4EFE6);display:grid;place-items:center}
.sh-lines .th svg{width:80%;height:80%}
.sh-lines b{display:block;font:500 .9375rem var(--font-voice);color:#252A52}
.sh-lines small{color:#666769}
.sh-qty{display:flex;align-items:center;gap:6px}
.sh-qty button{width:36px;height:36px;border-radius:50%;border:1.5px solid #E2E1DB;background:#fff;color:#252A52;font-size:1.125rem;cursor:pointer}
.sh-qty span{min-width:20px;text-align:center;font-weight:600}
.sh-totals{display:grid;gap:6px;margin:18px 0 14px;padding-top:12px;border-top:1px solid #ECE6DA}
.sh-totals div{display:flex;justify-content:space-between}.sh-totals dt{color:#666769}.sh-totals dd{margin:0;color:#252A52;font-variant-numeric:tabular-nums}
.sh-totals .tot dt,.sh-totals .tot dd{font:600 1.125rem var(--font-voice);color:#252A52}
.sh-empty{margin:16px 0}
.opt-row{display:grid;gap:8px}
@media(min-width:560px){.opt-row{grid-template-columns:1fr 1fr}}
.sh-sheet .opts .opt{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:12px 14px;border:1.5px solid #E2E1DB;border-radius:14px;cursor:pointer;background:#fff}
.sh-sheet .opts .opt:has(input:checked){border-color:#12736E;background:#EEF9F8}
.sh-sheet .opts .opt input{accent-color:#12736E;width:18px;height:18px;margin:0}
.sh-sheet .opts .opt b{display:block;font:500 .9375rem var(--font-voice);color:#252A52}.sh-sheet .opts .opt span{font-size:.8125rem;color:#666769}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.et-fees-grid{display:grid;gap:32px}
@media(min-width:1024px){.et-fees-grid{grid-template-columns:1fr 1fr;gap:56px;align-items:start}}
.et-band{position:relative;isolation:isolate;overflow:hidden}
.et-band::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:var(--pat-c,#52C3BD);opacity:var(--pat-o,.18);-webkit-mask:var(--bubbles) 0 0/72px 72px repeat,linear-gradient(var(--pat-dir,90deg),transparent 45%,#000 95%);-webkit-mask-composite:source-in;mask:var(--bubbles) 0 0/72px 72px repeat,linear-gradient(var(--pat-dir,90deg),transparent 45%,#000 95%);mask-composite:intersect}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:16px 0;min-height:44px;font:500 1.0625rem/1.4 var(--font-voice);color:var(--text-strong)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:#12736E}
.faq summary .tg{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:transform .3s var(--ease)}
.faq details[open] summary .tg{transform:rotate(45deg);background:#FCD800;border-color:#FCD800;color:#252A52}
.faq details p{padding:0 44px 18px 0;max-width:40rem}
/* ===== MAGAZINE page v2: full covers (never cropped), a fanned latest-issue stack, a shelf, real book covers ===== */
.mg-hero{position:relative;isolation:isolate;overflow:hidden;background:#252A52;color:#D7D9E6}
.mg-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-color:#93D9D5;opacity:.12;-webkit-mask:var(--bubbles) 0 0/72px 72px repeat,linear-gradient(270deg,#000,transparent 60%);-webkit-mask-composite:source-in;mask:var(--bubbles) 0 0/72px 72px repeat,linear-gradient(270deg,#000,transparent 60%);mask-composite:intersect}
.mg-hero-grid{display:grid;gap:36px;padding-block:40px 48px;align-items:center}
@media(min-width:1024px){.mg-hero-grid{grid-template-columns:1.05fr .95fr;gap:48px;padding-block:48px 56px;min-height:clamp(500px,64vh,640px)}}
.mg-hero .crumbs,.mg-hero .crumbs a{color:#A9ADC8}
.mg-mast{font-size:var(--banner-h1,clamp(2.6rem,1rem + 4vw,4.75rem));font-weight:600;letter-spacing:-.05em;line-height:.95;color:#fff;margin-top:14px}
.mg-mast em{display:block;font-family:var(--font-accent);font-style:italic;font-weight:500;color:#FCD800}
.mg-latest{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font:500 .9375rem var(--font-voice);color:#fff}
.mg-latest span{padding:4px 10px;border-radius:999px;background:#FCD800;color:#252A52;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.mg-hero .lead{font:400 clamp(1.0625rem,1rem + .35vw,1.25rem)/1.55 var(--font-voice);color:#D7D9E6;margin-top:14px;max-width:30rem}
.mg-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.mg-ghost{min-height:48px;padding:0 22px;border-radius:999px;border:1.5px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:500 1rem var(--font-voice);cursor:pointer}
.mg-ghost:hover{background:#fff;color:#252A52}
.mg-facts{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:28px}
.mg-facts li{font-size:.875rem;color:#A9ADC8}
.mg-facts b{display:block;font:600 1.75rem/1 var(--font-voice);color:#fff;letter-spacing:-.03em;margin-bottom:4px}
.mg-stack{position:relative;display:block;height:clamp(320px,40vw,500px)}
.mg-stack img{position:absolute;top:50%;left:50%;height:92%;width:auto;aspect-ratio:600/849;object-fit:cover;border-radius:8px;box-shadow:0 30px 60px -28px rgba(0,0,0,.7);transition:transform .35s var(--ease)}
.mg-stack .s1{transform:translate(-50%,-50%) rotate(-2deg);z-index:3}
.mg-stack .s2{transform:translate(-14%,-52%) rotate(8deg);z-index:2;opacity:.95}
.mg-stack .s3{transform:translate(-86%,-48%) rotate(-11deg);z-index:1;opacity:.9}
.mg-stack:hover .s1{transform:translate(-50%,-53%) rotate(-1deg)}
.mg-stack:hover .s2{transform:translate(-6%,-52%) rotate(10deg)}
.mg-stack:hover .s3{transform:translate(-94%,-48%) rotate(-13deg)}
.mg-arrows{display:flex;gap:8px}
.mg-arrows button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:#252A52;font-size:1.125rem;cursor:pointer}
.mg-arrows button:hover{background:#252A52;color:#fff}
.mg-shelf{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(170px,22vw,240px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.mg-ed{scroll-snap-align:start;display:grid;gap:8px;text-decoration:none;color:inherit}
.mg-ed .cv{aspect-ratio:600/849;border-radius:8px;overflow:hidden;background:#ECEBE6;box-shadow:0 18px 30px -22px rgba(22,25,54,.55);transition:transform .25s var(--ease)}
.mg-ed .cv img{width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
.mg-ed:hover .cv{transform:translateY(-4px)}
.mg-ed b{font:500 1rem var(--font-voice);color:#252A52}
.mg-ed small{font-size:.8125rem;color:#666769}
.mg-ed.soon .cv{display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:16px;background:#FCD800;color:#252A52}
.mg-ed.soon .cv b{font:600 2.5rem/1 var(--font-voice)}
.mg-ed.soon .cv span{font-size:.875rem}
.mg-next{background:#FCD800;position:relative;isolation:isolate;overflow:hidden}
.mg-next-grid{display:grid;gap:18px;padding-block:36px;align-items:center}
@media(min-width:900px){.mg-next-grid{grid-template-columns:1fr 1fr;gap:40px}}
.mg-next .eyebrow{color:#252A52}.mg-next h2 em{color:#12736E}
.mg-form{display:flex;flex-wrap:wrap;gap:8px}
.mg-form input{flex:1 1 220px;min-height:50px;border-radius:999px;border:0;padding:0 20px;font:400 1rem var(--font-body);background:#fff;color:#252A52}
.mg-msg{flex-basis:100%;font-size:.875rem;font-weight:600;color:#252A52;min-height:1.2em}
.mg-media{display:grid;gap:14px}
@media(min-width:900px){.mg-media{grid-template-columns:repeat(3,1fr)}}
.mg-m{display:grid;gap:8px;align-content:start;padding:22px;border-radius:22px;background:#fff;border:1px solid #ECE6DA;border-top:6px solid var(--c);text-decoration:none;color:inherit;transition:transform .2s var(--ease),box-shadow .2s}
.mg-m:hover{transform:translateY(-3px);box-shadow:0 24px 40px -30px rgba(22,25,54,.45)}
.mg-m .ic{width:52px;height:52px;border-radius:50%;background:var(--c);color:#252A52;display:grid;place-items:center;margin-bottom:6px}
.mg-m small{font:600 .6875rem var(--font-voice);letter-spacing:.14em;text-transform:uppercase;color:#9F513B}
.mg-m b{font:500 1.25rem var(--font-voice);color:#252A52}
.mg-m span{font-size:.9375rem;color:#5A5B5E}
.mg-m em{font-style:normal;font:500 .9375rem var(--font-voice);color:#12736E;margin-top:4px}
.mg-books{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.mg-books{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.mg-books{grid-template-columns:repeat(6,1fr)}}
.mg-book{display:grid;gap:6px;align-content:start}
.mg-book .cv{aspect-ratio:2/3;border-radius:6px 12px 12px 6px;background:var(--c);color:var(--t);display:grid;align-content:end;padding:16px 14px;position:relative;overflow:hidden;box-shadow:0 20px 30px -22px rgba(22,25,54,.55)}
.mg-book .cv::before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:rgba(0,0,0,.18)}
.mg-book .cv::after{content:"";position:absolute;right:12px;top:14px;width:28px;height:28px;border-radius:50%;border:3px solid currentColor;border-right-color:transparent;opacity:.6}
.mg-book .cv i{font:italic 500 1.0625rem/1.2 var(--font-accent)}
.mg-book.img .cv{padding:0;background:#ECEBE6}
.mg-book.img .cv img{width:100%;height:100%;object-fit:cover}
.mg-book.img .cv::after{display:none}
.mg-book b{font:500 .9375rem/1.3 var(--font-voice);color:#252A52;margin-top:4px}
.mg-book small{font-size:.8125rem;color:#666769}
.mg-ad{background:#252A52;color:#D7D9E6;--pat-c:#FCD800;--pat-o:.1}
.mg-ad h2{color:#fff}.mg-ad h2 em{color:#FCD800}.mg-ad .eyebrow{color:#FCD800}
.mg-ad-grid{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.mg-ad-grid{grid-template-columns:1fr 1fr;gap:56px}}
/* ===== ISSUE page v2: one page per issue, full cover, contents from the cover ===== */
.is-hero{background:#252A52;color:#D7D9E6;position:relative;isolation:isolate;overflow:hidden}
.is-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-color:#93D9D5;opacity:.1;-webkit-mask:var(--bubbles) 0 0/72px 72px repeat,linear-gradient(90deg,transparent 40%,#000);-webkit-mask-composite:source-in;mask:var(--bubbles) 0 0/72px 72px repeat,linear-gradient(90deg,transparent 40%,#000);mask-composite:intersect}
.is-grid{display:grid;gap:32px;padding-block:36px 28px;align-items:center}
@media(min-width:900px){.is-grid{grid-template-columns:minmax(260px,400px) 1fr;gap:56px;padding-block:48px 32px}}
.is-cover{justify-self:center;width:min(100%,400px);transform:rotate(-2deg)}
@media(max-width:899px){.is-cover{width:min(64%,300px)}}
.is-cover img{width:100%;height:auto;aspect-ratio:600/849;object-fit:cover;object-position:50% 0;border-radius:8px;box-shadow:0 40px 70px -34px rgba(0,0,0,.75);display:block}
.is-hero .crumbs,.is-hero .crumbs a{color:#A9ADC8}
.is-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;font:500 .875rem var(--font-voice);color:#fff}
.is-meta span{padding:4px 10px;border-radius:999px;background:#FCD800;color:#252A52;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.is-star{font-size:clamp(2.4rem,1rem + 4vw,4.25rem);font-weight:600;letter-spacing:-.045em;line-height:1;color:#fff;margin-top:14px}
.is-deck{font:italic 500 clamp(1.25rem,1rem + .8vw,1.625rem)/1.35 var(--font-accent);color:#FCD800;margin-top:12px}
.is-blurb{font-size:1.0625rem;line-height:1.6;color:#D7D9E6;margin-top:14px;max-width:36rem}
.is-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.is-ghost{min-height:48px;padding:0 22px;border-radius:999px;border:1.5px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:500 1rem var(--font-voice);cursor:pointer}
.is-ghost:hover{background:#fff;color:#252A52}
.is-share{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.is-share:hover{background:#25D366;border-color:#25D366}
.is-msg{min-height:1.2em;margin-top:8px;font:500 .875rem var(--font-voice);color:#93D9D5}
.is-nav{display:flex;gap:24px;margin-top:6px}
.is-nav .tlink{color:#93D9D5}
.is-nav .tlink[aria-disabled="true"]{opacity:.35;pointer-events:none}
.is-topics{list-style:none;margin:0;padding:12px 0;display:flex;justify-content:center;flex-wrap:wrap;gap:6px 0;border-top:1px solid rgba(255,255,255,.12)}
.is-topics li{font:600 .6875rem var(--font-voice);letter-spacing:.2em;text-transform:uppercase;color:#A9ADC8;padding:0 14px}
.is-topics li+li{border-left:1px solid rgba(255,255,255,.2)}
.is-inside{display:grid;gap:14px}
@media(min-width:640px){.is-inside{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.is-inside{grid-template-columns:repeat(3,1fr)}}
.is-story{display:grid;gap:8px;align-content:start;padding:22px;border-radius:20px;background:#fff;border:1px solid #ECE6DA;border-top:5px solid var(--c)}
.is-story.lead{background:#FFF7CF;border-color:#F4E48A}
@media(min-width:1024px){.is-story.lead{grid-column:span 2}}
.is-story small{font:600 .6875rem var(--font-voice);letter-spacing:.14em;text-transform:uppercase;color:#9F513B}
.is-story b{font:500 1.25rem/1.3 var(--font-voice);color:#252A52;letter-spacing:-.01em}
.is-story.lead b{font-size:1.625rem}
.is-story span{font-size:.9375rem;color:#5A5B5E}
.is-story .pg{justify-self:start;font:600 .8125rem var(--font-voice);color:#12736E;background:#EEF9F8;border-radius:999px;padding:3px 10px}
.is-reader{max-width:820px}
.rd-spread{display:grid;gap:18px;margin-top:14px;align-items:center}
@media(min-width:640px){.rd-spread{grid-template-columns:1fr 1fr}}
.rd-spread img{width:100%;height:auto;max-height:66vh;object-fit:contain;align-self:start;border-radius:6px;box-shadow:0 20px 40px -24px rgba(22,25,54,.6)}
.rd-page{display:grid;gap:12px;align-content:center;padding:20px;border-radius:6px;background:#FBF7F0;min-height:100%}
/* ===== WhatsApp channel: visible on every reader page, in the story share row and in the footer ===== */
.wa-band{background:#E7F8EE;border-block:1px solid #C7EED6}
.wa-grid{display:grid;grid-template-columns:auto 1fr;gap:14px 18px;align-items:center;padding-block:22px}
@media(min-width:760px){.wa-grid{grid-template-columns:auto 1fr auto}}
.wa-ic{width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center}
.wa-grid b{display:block;font:500 1.1875rem var(--font-voice);color:#0B3D24}
.wa-grid span{font-size:.9375rem;color:#2C5A41}
.wa-btn{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;background:#128C4A;color:#fff;text-decoration:none;font:500 1rem var(--font-voice)}
@media(min-width:760px){.wa-btn{grid-column:auto}}
.wa-btn:hover{background:#0E7A40}
.wa-mini{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:#25D366;color:#073B20;text-decoration:none;font:500 .9375rem var(--font-voice)}
.wa-mini::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.4 5 5.1-1.3A10 10 0 1 0 12 2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.4 5 5.1-1.3A10 10 0 1 0 12 2z'/%3E%3C/svg%3E") center/contain no-repeat}
.wa-mini:hover{background:#3BE07A}
.wa-foot{display:inline-flex;align-items:center;gap:10px;margin-top:16px;min-height:48px;padding:0 20px;border-radius:999px;background:#25D366;color:#073B20;text-decoration:none;font:500 .9375rem var(--font-voice)}
.wa-foot:hover{background:#3BE07A}
/* ===== stories & blog listing ===== */
.bl-head{padding:28px 0 8px}
.bl-head h1{font-size:var(--banner-h1);line-height:1.02;font-weight:700;margin-top:10px;letter-spacing:-.02em}
.bl-head h1 em{font:italic 400 1em var(--font-accent);color:var(--accent-text)}
.bl-head .lead{margin-top:12px;max-width:34rem}
.bl-head-grid{display:grid;gap:20px;align-items:end;margin-top:12px}
@media(min-width:960px){.bl-head-grid{grid-template-columns:1fr 380px}}
.bl-search{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 18px;border-radius:var(--r-pill);background:var(--surface);border:1.5px solid var(--line);color:var(--muted)}
.bl-search:focus-within{border-color:var(--accent-text)}
.bl-search input{flex:1;min-width:0;border:0;background:none;font:400 1rem var(--font-body);color:var(--text-strong);outline:none;min-height:48px}
.bl-topics{display:flex;gap:8px;overflow-x:auto;padding:20px 0 4px;scrollbar-width:none}
.bl-topics::-webkit-scrollbar{display:none}
.bl-topics button{flex:none;min-height:44px;padding:8px 16px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--text-strong);font:500 .9375rem var(--font-display);display:inline-flex;gap:8px;align-items:center;cursor:pointer}
.bl-topics button small{font-size:.75rem;color:var(--muted)}
.bl-topics button[aria-pressed="true"]{background:var(--midnight);border-color:var(--midnight);color:#fff}
.bl-topics button[aria-pressed="true"] small{color:var(--teal-light)}
.bl-featband{padding-top:24px!important}
.bl-feat{display:grid;gap:20px}
@media(min-width:1024px){.bl-feat{grid-template-columns:1.55fr 1fr}}
.bl-big{position:relative;display:grid;align-content:end;min-height:420px;border-radius:24px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate}
.bl-big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s var(--ease)}
.bl-big::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,25,54,0) 30%,rgba(22,25,54,.88))}
.bl-big:hover img{transform:scale(1.03)}
.bl-big .t{padding:28px;display:grid;gap:10px;max-width:40rem}
.bl-big .tag{justify-self:start;font:500 .75rem var(--font-display);letter-spacing:.14em;text-transform:uppercase;background:var(--sun);color:#252A52;border-radius:var(--r-pill);padding:6px 12px}
.bl-big h3{font-size:clamp(1.75rem,1.2rem + 1.8vw,2.5rem);line-height:1.08;font-weight:700;color:#fff}
.bl-big p{color:#E6E7EF;font-size:1rem}
.bl-big .meta{font-size:.8125rem;color:#C9CBDA}
.bl-picks{display:grid;gap:16px;align-content:start}
.bl-picks>p{font:500 .75rem var(--font-voice);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.bl-pick{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px}
.bl-pick:hover{border-color:var(--accent-text)}
.bl-pick span.i{aspect-ratio:4/3;border-radius:12px;overflow:hidden;position:relative}
.bl-pick img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bl-pick .cat{font:500 .6875rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.bl-pick b{display:block;font:500 1.0625rem/1.3 var(--font-display);color:var(--text-strong);margin:4px 0}
.bl-pick small{font-size:.8125rem;color:var(--muted)}
.bl-count{font-size:.9375rem;color:var(--muted)}
@media(min-width:1100px){.stories.bl-grid{grid-template-columns:repeat(3,1fr)}}
.bl-empty{padding:28px;border:1.5px dashed var(--line);border-radius:var(--r-lg);text-align:center}
.bl-empty .tlink{background:none;border:0;padding:0;min-height:0;display:inline}
.bl-more-wrap{display:flex;justify-content:center;margin-top:24px}
.bl-more-wrap[hidden]{display:none}
.bl-split{background:var(--surface-quiet)}
.bl-split-grid{display:grid;gap:32px}
@media(min-width:1024px){.bl-split-grid{grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}}
.bl-list{list-style:none;margin:16px 0 0;padding:0;counter-reset:bl}
.bl-list li{counter-increment:bl;border-top:1px solid var(--line)}
.bl-list li:last-child{border-bottom:1px solid var(--line)}
.bl-list a{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;min-height:64px;padding:10px 0;text-decoration:none;color:var(--text-strong)}
.bl-list a::before{content:counter(bl,decimal-leading-zero);font:italic 400 1.5rem var(--font-accent);color:var(--accent-text)}
.bl-list b{font:500 1.0625rem/1.3 var(--font-display)}
.bl-list small{display:block;font-size:.8125rem;color:var(--muted);margin-top:2px}
.bl-list i{font-style:normal;color:var(--muted)}
.bl-list a:hover b{text-decoration:underline;text-underline-offset:3px}
.bl-mag{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--midnight);color:#D7D9E6;border-radius:24px;padding:24px;text-decoration:none}
.bl-mag .covers{position:relative;width:150px;height:200px}
.bl-mag .covers img{position:absolute;width:120px;height:auto;aspect-ratio:600/849;border-radius:6px;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.bl-mag .covers img:first-child{left:0;top:14px;transform:rotate(-6deg)}
.bl-mag .covers img:last-child{right:0;top:0;transform:rotate(4deg)}
.bl-mag .txt{display:grid;gap:8px}
.bl-mag small{font:500 .75rem var(--font-voice);letter-spacing:.2em;text-transform:uppercase;color:var(--teal-light)}
.bl-mag b{font:700 1.375rem/1.2 var(--font-display);color:#fff}
.bl-mag em{font:500 1rem var(--font-display);color:var(--sun);font-style:normal}
@media(max-width:520px){.bl-mag{grid-template-columns:1fr;justify-items:start}.bl-mag .covers{width:140px;height:180px}.bl-mag .covers img{width:108px}}
/* ===== single story ===== */
.st-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;pointer-events:none}
.st-progress i{display:block;height:100%;width:100%;background:var(--sun);transform:scaleX(0);transform-origin:0 50%}
.st-head{padding:28px 0 32px}
.st-headtext{max-width:48rem;margin-inline:auto;text-align:center;display:grid;gap:14px;justify-items:center}
.st-headtext .crumbs{justify-content:center}
.st-cats{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.st-cats a,.st-tags a{display:inline-flex;align-items:center;min-height:36px;padding:4px 14px;border-radius:var(--r-pill);background:var(--teal-50);color:#12736E;font:500 .8125rem var(--font-display);text-decoration:none}
.st-cats a:hover,.st-tags a:hover{background:var(--teal-light)}
.st-head h1{font-size:clamp(2.2rem,1.2rem + 3.4vw,4rem);line-height:1.04;font-weight:700;letter-spacing:-.02em}
.st-dek{font-size:1.1875rem;line-height:1.55;color:var(--text);max-width:38rem}
.st-by{display:flex;gap:12px;align-items:center;text-align:left}
.st-by .av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--sun);color:#252A52;font:700 1.125rem var(--font-display)}
.st-by b{display:block;font:500 .9375rem var(--font-display);color:var(--text-strong)}
.st-by span:not(.av){font-size:.8125rem;color:var(--muted)}
.st-fig{margin:28px 0 0}
.st-fig img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:24px;display:block}
.st-fig figcaption{margin-top:10px;font:italic 400 .9375rem var(--font-accent);color:var(--muted);text-align:center}
@media(max-width:640px){.st-fig img{aspect-ratio:4/3;border-radius:16px}}
.st-share{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}
.st-share p{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.st-share div{display:flex;gap:8px;flex-wrap:wrap}
.st-share a,.st-share button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);color:var(--text-strong);cursor:pointer;padding:0}
.st-share a:hover,.st-share button:hover{border-color:var(--accent-text);color:var(--accent-text)}
.st-share span{display:block;font-size:.8125rem;color:var(--accent-text);min-height:1em;margin-top:6px}
.st-wa{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:14px 16px;border-radius:var(--r-lg);background:#DCF8C6;color:#0B3D22;text-decoration:none;font-size:.875rem}
.st-wa .ic{width:40px;height:40px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center}
.st-wa b{display:block;font:500 .9375rem var(--font-display)}
.st-end{max-width:46rem;margin-top:36px;display:grid;gap:20px}
@media(min-width:1100px){.st-end{margin-left:calc(200px + 48px + max(0px,(100% - 1240px)/2))}}
.st-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.st-tags span{font:500 .75rem var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.st-help{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.st-help b{font:500 1rem var(--font-display);color:var(--text-strong)}
.st-help div{display:flex;gap:8px}
.st-help button{min-height:44px;padding:8px 16px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--text-strong);font:500 .9375rem var(--font-display);cursor:pointer}
.st-help button[aria-pressed="true"]{background:var(--midnight);color:#fff;border-color:var(--midnight)}
.st-help p{flex-basis:100%;font-size:.875rem;color:var(--accent-text)}
.st-help p:empty{display:none}
.st-support{display:grid;gap:18px;background:var(--plum,#3A2645);color:#E9DDEB;border-radius:24px;padding:28px;background-image:radial-gradient(circle at 100% 0,rgba(242,120,75,.35),transparent 55%)}
@media(min-width:760px){.st-support{grid-template-columns:1.4fr 1fr;align-items:center}}
.st-support .eyebrow{color:var(--sun)}
.st-support h2{font-size:1.75rem;line-height:1.15;color:#fff;margin:6px 0 8px}
.st-support h2 em{font:italic 400 1em var(--font-accent);color:#FFB79C}
.st-support .acts{display:grid;gap:6px;justify-items:start}
.st-support .tlink{color:#fff}
/* ===== ecosystem strip: the four Convo sites, top left of the utility bar on every site ===== */
@media(max-width:759px){.util .eco a{padding:0 7px!important;font-size:.75rem!important}.util .eco a[aria-current="page"]::after{left:7px!important;right:7px!important}}
.util .eco{display:flex;align-items:center;gap:2px;margin-right:auto;margin-left:-10px}
.util .eco a{color:#A9ADC8;font:500 .8125rem var(--font-voice);padding:0 10px;min-height:44px;position:relative;white-space:nowrap;gap:0}
.util .eco a:hover{color:#fff}
.util .eco a:active{color:#D9DBE8}
.util .eco a[aria-current="page"]{color:#fff}
.util .eco a[aria-current="page"]::after{content:"";position:absolute;left:10px;right:10px;bottom:8px;height:2px;border-radius:2px;background:var(--sun)}
.util .eco .sep{width:1px;height:14px;background:rgba(255,255,255,.16);margin:0 4px}
@media(max-width:1279px){.util .util-reach{display:none!important}}
@media(max-width:759px){
  .util .wrap{flex-wrap:wrap;column-gap:12px;row-gap:0}
  .util .eco{order:-1;width:calc(100% + 20px);margin:0 -10px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.1)}
  .util .eco::-webkit-scrollbar{display:none}
  .util .eco a{min-height:38px;flex:none}
  .util .wrap>a{flex:1 1 0;min-width:0;font-size:.8125rem;line-height:1.3}
  .util .meta{flex:none}
  .util .eco a[aria-current="page"]::after{bottom:5px}}
/* ===== chat: live chat + WhatsApp, bottom right on every page ===== */
.cw{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;display:grid;justify-items:end;gap:12px;font-family:var(--font-body)}
body:has(#acSticky.on) .cw{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
body:has(#shBagBtn:not([hidden])) .sh-bagbtn{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.cw-fab{position:relative;width:60px;height:60px;border-radius:50%;border:0;background:#252A52;color:#FCD800;display:grid;place-items:center;cursor:pointer;box-shadow:0 16px 32px -12px rgba(22,25,54,.6);transition:transform .2s var(--ease)}
.cw-fab:hover{transform:translateY(-2px)}
.cw-fab .dot{position:absolute;top:4px;right:4px;width:14px;height:14px;border-radius:50%;background:#7BD957;border:2.5px solid #252A52}
.cw-fab .dot.off{background:#A3A6B8}
.cw-fab .ic-x{display:none}
.cw.open .cw-fab .ic-x{display:block}.cw.open .cw-fab .ic-c,.cw.open .cw-fab .dot{display:none}
.cw-hint{background:var(--surface);color:var(--text-strong);border:1px solid var(--line);border-radius:16px 16px 4px 16px;padding:10px 14px;font:500 .9375rem var(--font-display);box-shadow:0 12px 28px -16px rgba(22,25,54,.45);max-width:240px;display:flex;gap:8px;align-items:center;animation:cwIn .35s var(--ease) both}
.cw-hint button{border:0;background:none;color:var(--muted);width:32px;height:32px;flex:none;border-radius:50%}
.cw-panel{width:min(380px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 110px));background:var(--surface);border-radius:24px;box-shadow:0 30px 60px -20px rgba(22,25,54,.5);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border:1px solid var(--line);animation:cwIn .25s var(--ease) both;transform-origin:100% 100%}
@keyframes cwIn{from{opacity:0;transform:translateY(10px) scale(.97)}}
@media(prefers-reduced-motion:reduce){.cw-panel,.cw-hint{animation:none}}
.cw-head{background:#252A52;color:#D7D9E6;padding:16px 16px 14px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background-image:radial-gradient(circle at 100% 0,rgba(82,195,189,.4),transparent 60%)}
.cw-av{display:flex}
.cw-av span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:700 .875rem var(--font-display);color:#252A52;border:2px solid #252A52}
.cw-av span+span{margin-left:-10px}
.cw-head b{display:block;color:#fff;font:500 1.0625rem var(--font-display)}
.cw-head small{display:flex;gap:6px;align-items:center;font-size:.8125rem}
.cw-head small i{width:8px;height:8px;border-radius:50%;background:#7BD957}
.cw-head small i.off{background:#A3A6B8}
.cw-head .x{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:none;color:#fff;display:grid;place-items:center}
.cw-body{overflow:auto;padding:16px;display:grid;gap:10px;align-content:start;background:var(--bg)}
.cw-start{display:grid;gap:10px}
.cw-opt{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;text-align:left;width:100%;padding:12px 14px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);color:var(--text-strong);text-decoration:none;cursor:pointer;font:inherit}
.cw-opt:hover{border-color:var(--text-strong)}
.cw-opt .i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.cw-opt b{display:block;font:500 1rem var(--font-display)}
.cw-opt small{font-size:.8125rem;color:var(--muted)}
.cw-opt em{font-style:normal;color:var(--muted)}
.cw-safe{font-size:.8125rem;color:var(--muted);padding:4px 2px}
.cw-safe a{font-weight:600}
.cw-msg{max-width:85%;padding:10px 14px;border-radius:18px;font-size:.9375rem;line-height:1.45;background:var(--surface);color:var(--text-strong);border:1px solid var(--line);border-bottom-left-radius:6px;justify-self:start}
.cw-msg.me{justify-self:end;background:#252A52;color:#fff;border-color:#252A52;border-bottom-left-radius:18px;border-bottom-right-radius:6px}
.cw-msg small{display:block;font-size:.75rem;color:var(--muted);margin-bottom:2px}
.cw-msg.sos{background:#FDECE4;border-color:#F2B49A;color:#252A52;max-width:100%}
.cw-msg.sos b{display:block;font:600 1rem var(--font-display);margin-bottom:4px}
.cw-msg.sos a{display:inline-flex;align-items:center;min-height:40px;margin-right:12px;font-weight:600;color:#9F513B}
.cw-typing{justify-self:start;display:flex;gap:4px;padding:12px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.cw-typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:cwDot 1s infinite}
.cw-typing i:nth-child(2){animation-delay:.15s}.cw-typing i:nth-child(3){animation-delay:.3s}
@keyframes cwDot{0%,60%,100%{opacity:.3}30%{opacity:1}}
.cw-quick{display:flex;flex-wrap:wrap;gap:6px}
.cw-quick button{min-height:40px;padding:6px 12px;border-radius:999px;border:1.5px solid var(--accent-text);background:var(--surface);color:var(--accent-text);font:500 .875rem var(--font-display);cursor:pointer}
.cw-quick button:hover{background:var(--teal-50,#EEF9F8)}
.cw-foot{border-top:1px solid var(--line);background:var(--surface);padding:10px 10px 10px 14px}
.cw-form{display:flex;gap:8px;align-items:center}
.cw-form input{flex:1;min-width:0;min-height:44px;border:0;background:none;font:400 1rem var(--font-body);color:var(--text-strong);outline:none}
.cw-form button{width:44px;height:44px;border-radius:50%;border:0;background:#FCD800;color:#252A52;display:grid;place-items:center;flex:none;cursor:pointer}
.cw-form button:disabled{opacity:.45;cursor:default}
.cw-wa{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;font:500 .875rem var(--font-display);color:#128C4A;text-decoration:none}
.cw-note{font-size:.75rem;color:var(--muted);text-align:center;padding-top:2px}
@media(max-width:480px){
  .cw-panel{position:fixed;inset:auto 0 0 0;width:100%;max-height:calc(100dvh - 24px);height:calc(100dvh - 24px);border-radius:24px 24px 0 0;border:0}
  .cw.open .cw-fab{display:none}
  .cw-foot{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
}
