/* Magnor — "The Monograph" (research/06). One stylesheet for all pages. */
:root{
  --ink:#0E0D0B; --ink-2:#17150F; --ink-3:#201D17;
  --ivory:#F3EDE2; --ivory-2:#E9E1D3;
  --champagne:#C9A96E; --champagne-ink:#7A5C24;
  --muted-ink:#9A9184; --muted-ivory:#6B645A;
  --rule-ink:rgba(243,237,226,.13); --rule-ivory:rgba(14,13,11,.14);
  /* paper chapters (light by default) */
  --paper:var(--ivory); --paper-2:var(--ivory-2); --paper-fg:var(--ink);
  --paper-muted:var(--muted-ivory); --paper-accent:var(--champagne-ink); --paper-rule:var(--rule-ivory);
  --f-display:"Instrument Serif","Newsreader",Georgia,serif;
  --f-text:"Newsreader",Georgia,serif;
  --f-ui:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --gutter:24px; --max:1240px;
  --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:dark light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#1B1914; --paper-2:#24211B; --paper-fg:#F3EDE2;
    --paper-muted:#A69D8F; --paper-accent:#C9A96E; --paper-rule:rgba(243,237,226,.12);
  }
}
:root[data-theme="dark"]{
  --paper:#1B1914; --paper-2:#24211B; --paper-fg:#F3EDE2;
  --paper-muted:#A69D8F; --paper-accent:#C9A96E; --paper-rule:rgba(243,237,226,.12);
}
@media (max-width:720px){ :root{ --gutter:16px; } }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ink);color:var(--ivory);font:400 17px/1.55 var(--f-ui);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}
/* paper chapters: champagne on ivory is 1.9:1, so use the ink accent (5.3:1); dark mode keeps champagne via --paper-accent */
.ch.paper :focus-visible{outline-color:var(--paper-accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--champagne);color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:500;text-decoration:none}
.skip:focus{top:12px}

/* ---------- chapters ---------- */
.ch{--bg:var(--ink);--fg:var(--ivory);--muted:var(--muted-ink);--accent:var(--champagne);--rule:var(--rule-ink);
  background:var(--bg);color:var(--fg);padding:clamp(88px,11vw,160px) 0;position:relative}
.ch.paper{--bg:var(--paper);--fg:var(--paper-fg);--muted:var(--paper-muted);--accent:var(--paper-accent);--rule:var(--paper-rule)}
.ch.raised{--bg:var(--ink-2)}
.wrap{max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:760px}
.book{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.book > .side{grid-column:1 / span 3}
.book > .main{grid-column:4 / span 7}
.book > .main-wide{grid-column:4 / span 9}
@media (max-width:960px){.book{display:block}.book > .side{margin-bottom:28px}}

/* ---------- type ---------- */
.eyebrow{font:500 12px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 28px;text-wrap:balance}
@media (max-width:480px){.eb-by,.eb-day{display:none}}
.eyebrow::before{content:"";display:block;width:40px;height:1px;background:currentColor;margin-bottom:16px;opacity:.9}
.eyebrow.plain::before{display:none}
.no{font-family:var(--f-text);font-size:1.3em;letter-spacing:0;line-height:0;margin-right:.05em}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
h1,h2,h3,.h2{font-family:var(--f-display);font-weight:400;letter-spacing:-.015em;margin:0;text-wrap:balance}
h1{font-size:clamp(52px,9.2vw,148px);line-height:.94}
h2,.h2{font-size:clamp(40px,5.6vw,84px);line-height:1}
.h2{margin:0;letter-spacing:-.015em;text-wrap:balance}
h3{font-size:clamp(28px,2.6vw,38px);line-height:1.08}
h1 em,h2 em,h3 em,.h2 em{font-style:italic}
.lede{font:300 clamp(20px,1.9vw,25px)/1.5 var(--f-text);font-variation-settings:"opsz" 30;max-width:40ch;color:var(--fg)}
.prose{font:400 clamp(18px,1.45vw,20.5px)/1.62 var(--f-text);font-variation-settings:"opsz" 16;max-width:62ch}
.prose p{margin:0 0 1.05em}
.prose em{font-style:italic}
.muted{color:var(--muted)}
.num{font-family:var(--f-text);font-variation-settings:"opsz" 72;font-weight:300;font-variant-numeric:tabular-nums lining-nums}
.dropcap > p:first-of-type::first-letter{font-family:var(--f-display);float:left;font-size:5.2em;line-height:.78;padding:.08em .04em 0 0;margin-left:-.04em;margin-right:-.06em;color:var(--accent)}
@supports (initial-letter:3) or (-webkit-initial-letter:3){
  .dropcap > p:first-of-type::first-letter{float:none;font-size:inherit;line-height:inherit;padding:0;-webkit-initial-letter:3;initial-letter:3;margin:0 .06em 0 -.04em}
}
/* multi-line small print: readable serif italic, sentence case (mono caps stay for one-line labels) */
.fine{font:italic 400 15px/1.55 var(--f-text);letter-spacing:0;text-transform:none;color:var(--muted);max-width:72ch}
.hairline{border:0;border-top:1px solid var(--rule);margin:0}

/* ---------- buttons ---------- */
.pill{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;border:1px solid var(--champagne);
  background:var(--champagne);color:var(--ink);font:500 15px/1 var(--f-ui);text-decoration:none;cursor:pointer;
  transition:background .4s var(--ease),color .4s var(--ease)}
.pill:hover{background:transparent;color:var(--champagne)}
.paper .pill{background:var(--paper-fg);border-color:var(--paper-fg);color:var(--paper)}
.paper .pill:hover{background:transparent;color:var(--paper-fg)}
.pill.ghost{background:transparent;color:var(--fg);border-color:var(--rule)}
.pill.ghost:hover{border-color:var(--accent);color:var(--accent)}
.tlink{display:inline-flex;align-items:flex-end;gap:6px;min-height:44px;padding-bottom:6px !important;font:500 15px/1.4 var(--f-ui);color:var(--fg);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:0;
  transition:border-color .4s var(--ease),color .4s var(--ease);background:none;border-top:0;border-left:0;border-right:0;cursor:pointer}
.tlink:hover{border-bottom-color:var(--accent);color:var(--accent)}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:44px}

/* ---------- masthead ---------- */
.mast{position:sticky;top:0;z-index:50;background:rgba(14,13,11,.86);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid var(--rule-ink);color:var(--ivory)}
.mast .wrap{display:flex;align-items:center;gap:28px;height:64px;max-width:1440px;padding:0 clamp(16px,4vw,48px)}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;white-space:nowrap}
.brand b{font:400 26px/1 var(--f-display);letter-spacing:-.01em}
.brand i{font:italic 400 15px/1 var(--f-text);color:var(--muted-ink)}
.mast nav{margin-left:auto;display:flex;align-items:center;gap:26px}
.mast nav a{font:400 14px/1 var(--f-ui);color:#CFC7B9;text-decoration:none;transition:color .3s}
.mast nav a:hover,.mast nav a[aria-current="page"]{color:var(--ivory)}
.mast nav a[aria-current="page"]{border-bottom:1px solid var(--champagne);padding-bottom:4px}
.mast .pill{min-height:40px;padding:0 18px;font-size:14px}
.mast nav a.pill{color:var(--ink)}
.mast nav a.pill:hover{color:var(--champagne)}
.mast-cta{display:none}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--rule-ink);color:var(--ivory);border-radius:999px;height:40px;padding:0 16px;font:500 13px/1 var(--f-ui);cursor:pointer}
@media (max-width:1020px){
  .mast nav{display:none;position:absolute;left:0;right:0;top:64px;flex-direction:column;align-items:stretch;gap:0;background:var(--ink);border-bottom:1px solid var(--rule-ink);padding:8px var(--gutter) 24px}
  .mast nav.open{display:flex}
  .mast nav a{padding:16px 0;border-bottom:1px solid var(--rule-ink);font-size:16px}
  .mast nav a[aria-current="page"]{padding-bottom:16px}
  .mast nav .pill{display:none}
  .menu-btn{display:inline-flex;align-items:center;margin-left:0}
  .mast .mast-cta{display:inline-flex;margin-left:auto;min-height:36px;height:36px;padding:0 16px;font-size:13.5px;white-space:nowrap}
  .mast .wrap{gap:12px}
  .bar-on .mast .mast-cta{visibility:hidden;opacity:0}
  .mast .mast-cta{transition:opacity .3s var(--ease)}
}
/* slim sticky call bar (index, phones/tablets) */
.sticky-cta{display:none}
@media (max-width:1020px){
  .sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;justify-content:space-between;gap:12px;
    padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(14,13,11,.94);border-top:1px solid var(--rule-ink);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateY(110%);transition:transform .45s var(--ease);visibility:hidden}
  .sticky-cta.on{transform:none;visibility:visible}
  .sticky-cta span{font:italic 400 15.5px/1.25 var(--f-text);color:#D9D1C3}
  .sticky-cta .pill{min-height:40px;padding:0 18px;font-size:14px;flex:none}
}
@media (max-width:380px){.brand i{display:none}}

/* ---------- hero ---------- */
.hero{padding:clamp(48px,6vw,88px) 0 clamp(24px,3vw,40px);overflow:hidden;min-height:min(calc(88svh - 64px),860px);display:flex;align-items:center}
.hero > .wrap{width:100%}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end}
.hero-copy{grid-column:1 / span 6;position:relative;z-index:2}
.hero h1{font-size:clamp(50px,7.4vw,124px);max-width:none}
.hero h1 em{display:block;white-space:nowrap}
.hero .lede{margin-top:32px}
.stage{grid-column:7 / span 6;position:relative;z-index:1;margin-right:calc(-1 * var(--gutter));margin-bottom:-28px}
.ch.why{border-top:1px solid var(--rule-ink)}
.stage svg{width:100%;height:auto}
.stage::after{content:"";position:absolute;inset:auto 0 0 0;height:22%;background:linear-gradient(transparent,var(--ink));pointer-events:none}
@media (max-width:960px){
  .hero{min-height:0;display:block}
  .hero-grid{display:block}
  .hero{padding-bottom:16px}
  /* first screen carries the image, the headline and the CTA: a cropped stage band sits
     between the eyebrow and the h1, centred on the middle chairs */
  .hero-grid{display:flex;flex-direction:column;align-items:stretch}
  .hero-copy{display:contents}
  .hero .eyebrow{order:1;margin-bottom:0}
  .stage{order:2;height:clamp(210px,56vw,320px);overflow:hidden;margin:16px calc(-1 * var(--gutter)) 4px;display:flex;align-items:flex-end;justify-content:center}
  .stage svg{flex:none;width:150%;max-width:none;margin-bottom:-4%}
  .hero h1{order:3}.hero .lede{order:4}.hero .ctas{order:5}
}
/* chairs */
.chair path{fill:#15130F;stroke:#3A352C;stroke-width:1.4;stroke-linejoin:round}
.chair.crowd{opacity:.9}
.chair.one path{stroke:#6E604A}
.pool,.beam{opacity:0}
@media (prefers-reduced-motion:no-preference){
  .play .chair.crowd{animation:dark 1.8s var(--ease) forwards;animation-delay:var(--d)}
  .play .pool{animation:lit 2.4s var(--ease) forwards;animation-delay:calc(var(--d) + 2.9s)}
  .play .beam{animation:lit 3s var(--ease) forwards;animation-delay:calc(var(--d) + 2.7s)}
  .play .chair.one path{animation:litc 2.4s var(--ease) forwards;animation-delay:calc(var(--d) + 2.9s)}
}
@media (prefers-reduced-motion:reduce){
  .chair.crowd{opacity:.22}.pool,.beam{opacity:1}.chair.one path{stroke:#C9A96E;fill:#2A241A}
}
.no-play .chair.crowd{opacity:.22}.no-play .pool,.no-play .beam{opacity:1}.no-play .chair.one path{stroke:#C9A96E;fill:#2A241A}
@keyframes dark{to{opacity:.22}}
@keyframes lit{to{opacity:1}}
@keyframes litc{to{stroke:#C9A96E;fill:#2A241A}}

/* ---------- pull quote ---------- */
.pull{margin:72px 0 0;padding:44px 0 0;border-top:1px solid var(--rule)}
.pull blockquote{margin:0;font:italic 400 clamp(32px,4.2vw,60px)/1.08 var(--f-display);letter-spacing:-.01em;max-width:22ch}
.pull figcaption{margin-top:22px}

/* ---------- the nine ---------- */
.nine-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;margin-bottom:clamp(56px,7vw,96px)}
.nine-head .t{grid-column:1 / span 7}
.nine-head .p{grid-column:9 / span 4}
@media (max-width:960px){.nine-head{display:block}.nine-head .p{margin-top:28px}}
.plates{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;row-gap:72px}
@media (max-width:1000px){.plates{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* subgrid: every card shares the same rows, so names, cohort titles and CTAs line up across a row */
.plate{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}
@supports not (grid-template-rows:subgrid){.plate{display:flex;flex-direction:column}}
.plate figure{margin:0;overflow:hidden;aspect-ratio:4/5;background:var(--ink-2)}
.plate img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.plate:hover img{transform:scale(1.03)}
.plate .meta{display:flex;justify-content:space-between;gap:12px;padding:18px 0 14px;border-bottom:1px solid var(--rule);color:var(--accent)}
.plate .meta span:last-child{color:var(--muted);text-align:right}
.plate h3{margin-top:20px;font-size:clamp(26px,2.2vw,32px);align-self:start}
.plate h3 small{font:italic 400 16px/1 var(--f-text);color:var(--muted);letter-spacing:0;margin-left:4px;white-space:nowrap}
.plate .cohort{font:400 clamp(24px,2.1vw,27px)/1.12 var(--f-display);letter-spacing:-.01em;margin:12px 0 0;color:var(--champagne);text-wrap:balance}
.plate .line{font:400 16.5px/1.55 var(--f-text);color:#D9D1C3;margin:12px 0 0;max-width:40ch}
.plate .acts{padding-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:0 22px;align-self:end}
.plate .go{color:var(--fg);border-bottom-color:rgba(201,169,110,.55)}
.plate .go:hover{border-bottom-color:var(--champagne);color:var(--champagne)}
.plate .go-2{display:inline-flex;align-items:center;min-height:44px;font:400 13.5px/1.3 var(--f-ui);color:var(--muted);text-decoration:none}
.plate .go-2:hover{color:var(--fg)}
/* phones: the Nine become a horizontal rail (one card + a peek of the next) instead of 9 full-page cards */
@media (max-width:600px){
  .plates{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 8px;
    scroll-padding:0 var(--gutter);overscroll-behavior-x:contain;scrollbar-width:none}
  .plates::-webkit-scrollbar{display:none}
  .plate{flex:0 0 78vw;display:flex;flex-direction:column;scroll-snap-align:start}
  .plate .line{display:none}
  .plate .acts{margin-top:auto;align-self:flex-start;padding-top:20px}
  .plate .go-2{display:none}
  .plate h3{margin-top:14px}
  .plate .meta{padding:14px 0 10px}
  .js .plates .rv{opacity:1;transform:none}
}
.rail-hint{display:none}
@media (max-width:600px){.rail-hint{display:block;margin:18px 0 0;color:var(--muted)}}
.plates + .coda{margin-top:clamp(64px,7vw,96px)}
/* quiet conversion band after the Nine */
.ch.band{padding:clamp(56px,6vw,80px) 0;background:var(--ink-2);border-top:1px solid var(--rule-ink);border-bottom:1px solid var(--rule-ink)}
.band-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 48px}
.band-l{font:italic 400 clamp(32px,3.6vw,52px)/1.08 var(--f-display);max-width:none}
.band-l em{font-style:italic;color:var(--champagne)}
.band-r{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.band-r .mono{color:var(--muted);margin:0}

/* ---------- how it works ---------- */
.steps{list-style:none;margin:clamp(48px,5vw,72px) 0 0;padding:0;border-top:1px solid var(--rule)}
.steps > li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,7fr);column-gap:24px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--rule)}
.steps .n{color:var(--accent)}
.steps h3{font-size:clamp(24px,2.2vw,32px)}
.steps p{font:400 18px/1.6 var(--f-text);margin:0;color:var(--fg);max-width:60ch}
@media (max-width:760px){.steps > li{grid-template-columns:44px 1fr;row-gap:10px}.steps p{grid-column:2}}
.steps-foot{margin-top:48px}

/* ---------- marquee + pillars ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--rule-ink);border-bottom:1px solid var(--rule-ink);padding:16px 0;background:var(--ink)}
.marquee .track{display:flex;width:max-content;animation:mq 140s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee ul{display:flex;list-style:none;margin:0;padding:0}
.marquee li{font:italic 400 clamp(20px,1.9vw,26px)/1 var(--f-display);color:var(--muted-ink);white-space:nowrap;padding:0 22px;display:flex;align-items:center;gap:44px}
.marquee li::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--champagne);margin-left:0}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none;width:auto}.marquee ul + ul{display:none}.marquee ul{flex-wrap:wrap;justify-content:center;row-gap:16px}}
.coda{font:italic 400 clamp(24px,2.6vw,34px)/1.3 var(--f-display);margin:48px 0 0;color:var(--fg)}

/* ---------- proof ---------- */
.proof-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;margin-top:clamp(56px,6vw,88px);border-top:1px solid var(--rule)}
.proof-grid > *{padding-top:36px}
.pa{grid-column:1 / span 4}.pd{grid-column:5 / span 8;padding-left:32px;border-left:1px solid var(--rule)}
.proof-grid .big{display:block;font-size:clamp(72px,8vw,128px);line-height:.9;margin-bottom:22px}
.proof-grid .big .star{font-size:.4em;vertical-align:.9em;margin-left:.1em;color:var(--champagne)}
.ledger{list-style:none;margin:0;padding:0}
.ledger li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"c r k" "n r k";column-gap:20px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--rule)}
.ledger li:first-child{padding-top:0}
.lg-c{grid-area:c;font:400 clamp(20px,1.7vw,24px)/1.2 var(--f-display)}
.lg-n{grid-area:n;font:italic 400 15px/1.4 var(--f-text);color:var(--muted)}
.lg-r{grid-area:r;font-size:clamp(28px,2.4vw,36px);color:var(--champagne);align-self:center}
.lg-k{grid-area:k;font:400 14px/1.2 var(--f-text);color:var(--muted);min-width:7.5ch;text-align:right;align-self:center}
.voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:clamp(56px,6vw,88px)}
.voice{margin:0;padding-top:28px;border-top:1px solid var(--rule)}
.voice blockquote{margin:0;font:italic 400 clamp(24px,2.2vw,32px)/1.18 var(--f-display)}
.voice figcaption{margin-top:16px;color:var(--muted)}
@media (max-width:960px){.voices{grid-template-columns:1fr}}
.proof-grid p{font:400 18px/1.55 var(--f-text);margin:0}
@media (max-width:960px){.proof-grid{display:block}.proof-grid > *{padding:32px 0 36px;border-left:0 !important;padding-left:0 !important;border-bottom:1px solid var(--rule)}}
.ratings{display:flex;gap:6px;margin-top:22px;align-items:flex-end;height:46px}
.chart-cap{margin-top:16px}
.strip{margin-top:18px}
.strip svg{width:100%;height:auto;overflow:visible}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font:400 clamp(22px,2vw,28px)/1.25 var(--f-display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:0 0 14px;height:14px;background:
  linear-gradient(var(--accent),var(--accent)) center/14px 1px no-repeat,
  linear-gradient(var(--accent),var(--accent)) center/1px 14px no-repeat;transition:transform .5s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{font:400 18px/1.6 var(--f-text);max-width:62ch;padding:0 0 30px;margin:0}
.faq .a a{color:var(--accent)}

/* ---------- close / footer ---------- */
.close h2{max-width:14ch}
.close h2 em{display:block}
.foot{background:var(--ink);color:var(--muted-ink);border-top:1px solid var(--rule-ink);padding:clamp(64px,7vw,104px) 0 calc(56px + env(safe-area-inset-bottom))}
.foot .sig{margin:0;text-align:center;font:400 clamp(52px,6vw,72px)/1 var(--f-display);letter-spacing:-.015em;color:var(--ivory)}
.foot .sig-sub{margin:12px 0 0;text-align:center;font:italic 400 17px/1.4 var(--f-text);color:var(--muted-ink)}
.foot .sig-name{margin-top:6px;font-size:14px;opacity:.8}
.foot-cols{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px 48px;margin-top:clamp(48px,5vw,72px);padding-top:28px;border-top:1px solid var(--rule-ink)}
.foot .foot-h{margin:0 0 6px;color:var(--muted-ink)}
.foot .foot-c{margin:0;font:400 18px/1.4 var(--f-text)}
.foot .mono{line-height:1.9}
.foot nav{display:flex;flex-wrap:wrap;gap:0 24px}
.foot nav a{display:inline-flex;align-items:center;min-height:40px}
.foot a{text-decoration:none;color:#CFC7B9}
.foot a:hover{color:var(--ivory)}
.foot .legal{margin:32px 0 0;font:italic 400 15px/1.5 var(--f-text);color:var(--muted-ink)}
.fallback .ctas{margin-top:24px}
@media (max-width:1020px){body:has(.sticky-cta) .foot{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}

/* ---------- creators ---------- */
.plates4{list-style:none;margin:clamp(56px,6vw,88px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.plates4 li{padding:clamp(28px,3.4vw,48px);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-height:320px;display:flex;flex-direction:column}
.plates4 .n{color:var(--accent)}
.plates4 h3{margin:36px 0 16px;max-width:20ch}
.plates4 p{font:400 18px/1.6 var(--f-text);margin:0;max-width:52ch}
@media (max-width:760px){.plates4{grid-template-columns:1fr}.plates4 li{min-height:0}}
.case{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.case-l{grid-column:1 / span 4;position:sticky;top:96px}
.case .portrait{margin:0}
.case .portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.case .portrait figcaption{margin-top:14px;color:var(--muted)}
.case .body{grid-column:6 / span 7}
@media (max-width:960px){.case{display:block}.case-l{position:static;max-width:420px;margin-bottom:40px}}
.headline-num{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:40px 0 8px}
.headline-num .num{font-size:clamp(64px,8vw,120px);line-height:.9;color:var(--champagne)}
.headline-num .mono{color:var(--muted)}
.mult{margin-top:clamp(48px,5vw,72px)}
.mult svg{width:100%;height:auto}
.terms-h{font-size:clamp(32px,3.2vw,48px)}
.terms{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:clamp(48px,5vw,72px);border-top:1px solid var(--rule)}
.terms dl{grid-column:1 / -1;margin:0;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.terms dt,.terms dd{padding:26px 0;border-bottom:1px solid var(--rule);margin:0}
.terms dt{font:400 clamp(24px,2.2vw,30px)/1.15 var(--f-display);padding-right:24px}
.terms dd{font:400 18px/1.6 var(--f-text)}
@media (max-width:700px){.terms dl{display:block}.terms dt{border-bottom:0;padding-bottom:6px}.terms dd{padding-top:0}}
.press{display:flex;flex-direction:column;gap:8px;margin-top:28px;padding:20px 24px;border:1px solid var(--rule);max-width:100%}
.press b{font:500 24px/1 var(--f-ui);letter-spacing:-.01em}
.criteria{list-style:none;padding:0;margin:40px 0 0;counter-reset:c;border-top:1px solid var(--rule)}
.criteria li{counter-increment:c;display:grid;grid-template-columns:64px 1fr;padding:22px 0;border-bottom:1px solid var(--rule);font:400 clamp(22px,2vw,28px)/1.25 var(--f-display)}
.criteria li::before{content:"0" counter(c);font:500 12px/2.4 var(--f-mono);letter-spacing:.14em;color:var(--accent)}

/* ---------- manifesto page ---------- */
.mf-hero h1{font-size:clamp(72px,10vw,160px);max-width:10ch}
.mf-date{margin-top:40px}
@media (max-width:760px){
  .mf-hero{min-height:70svh;display:flex;padding-bottom:40px}
  .mf-hero > .wrap{display:flex;flex-direction:column;width:100%}
  .mf-date{margin-top:auto;padding-top:40px}
}
.mf-sec + .mf-sec{margin-top:clamp(40px,4vw,64px)}
.mf-no{position:sticky;top:96px}
@media (max-width:960px){.mf-sec .side{margin-bottom:16px}}
.mf-body .prose{font-size:clamp(19px,1.55vw,21.5px)}
.mf-body .prose p{margin-bottom:1.2em}
.mf-body sup{font:500 .62em/0 var(--f-mono);margin-left:1px}
.mf-body sup a{color:var(--accent);text-decoration:none;padding:0 1px}
.mf-close{font:italic 400 clamp(36px,4.6vw,66px)/1.05 var(--f-display);margin:64px 0 0;padding-top:40px;border-top:1px solid var(--rule)}
.notes{list-style:none;counter-reset:fn;padding:0;margin:28px 0 0}
.notes li{counter-increment:fn;display:grid;grid-template-columns:44px 1fr;gap:0;padding:16px 0;border-bottom:1px solid var(--rule);font:400 15px/1.6 var(--f-text);color:var(--fg)}
.notes li::before{content:counter(fn);font:500 12px/1.9 var(--f-mono);color:var(--accent)}
.notes a{color:var(--muted);white-space:nowrap}
.notes .back{margin-left:8px;color:var(--accent);text-decoration:none;word-break:normal}
.notes li:target{background:var(--paper-2)}

/* ---------- apply dialog ---------- */
dialog.apply{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--rule-ink);background:var(--ink-2);color:var(--ivory);border-radius:0}
dialog.apply::backdrop{background:rgba(8,7,6,.78);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.apply .in{padding:clamp(28px,5vw,48px)}
.apply h2{font-size:clamp(34px,4.4vw,52px);margin:0 0 14px;padding-right:44px}
.apply .intro{font:400 17px/1.55 var(--f-text);color:#D9D1C3;margin:0 0 28px}
.apply .x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule-ink);background:transparent;color:var(--ivory);font:300 24px/1 var(--f-ui);cursor:pointer}
.apply .x:hover{border-color:var(--champagne);color:var(--champagne)}
.field{display:block;margin:0 0 20px}
.field > span{display:block;font:500 11px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-ink);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(243,237,226,.45);color:var(--ivory);font:400 18px/1.4 var(--f-text);padding:10px 0;border-radius:0;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--champagne) 50%),linear-gradient(135deg,var(--champagne) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:28px}
.field select option{background:var(--ink-2);color:var(--ivory)}
.field textarea{min-height:84px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-bottom:2px solid var(--champagne);margin-bottom:-1px;outline:2px solid var(--champagne);outline-offset:4px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.apply .fine{color:var(--muted-ink);margin-top:20px}
.apply .done{display:none}
.apply.sent form{display:none}
.apply.sent .done{display:block}
.done p{font:400 18px/1.6 var(--f-text);color:#D9D1C3}

/* ---------- reveal ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--rd,0ms)}
  .js .rv.in{opacity:1;transform:none}
}

/* no JS (manifesto): show the nav links as a wrapped row; the Menu button needs JS */
html:not(.js) .menu-btn{display:none!important}
@media (max-width:1020px){ html:not(.js) .mast nav{display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:4px 18px;padding:0;border:0;background:none} html:not(.js) .mast nav a{padding:10px 0;border:0} html:not(.js) .mast .wrap{flex-wrap:wrap;height:auto} html:not(.js) .mast{height:auto;position:absolute} }
