/* Layout and components. Colours, fonts and theme names come from brand/brand.json (injected as CSS variables).
   The values below are only a neutral fallback used if brand.json fails to load. */
:root{
  --font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --font-heading:Georgia,"Times New Roman",serif;
  --bg:#ffffff; --surface:#f5f6f5; --surface-2:#eef0ee; --text:#101814; --muted:#56615b; --line:#e3e6e3;
  --accent:#333333; --accent-strong:#111111; --accent-soft:#eeeeee; --on-accent:#ffffff;
  --then:#6b5a3a; --then-soft:#f3efe6; --focus:#333333; --shadow:0 1px 2px rgba(16,24,20,.04),0 8px 28px rgba(16,24,20,.06);
  --chart-grid:#eceeec; --chart-1:#333333; --chart-2:#6b5a3a; --img-filter:none; --overlay:rgba(10,14,12,.72);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
img{max-width:100%;display:block}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--accent-strong)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;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:-999px;top:8px;background:var(--accent-fill,var(--accent));color:var(--on-fill,var(--on-accent));padding:.5rem 1rem;border-radius:8px;z-index:200}
.skip:focus{left:12px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-header.scrolled{border-bottom-color:var(--line)}
.bar{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:700;letter-spacing:-.01em;font-size:1.05rem}
.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent-fill,var(--accent));color:var(--on-fill,var(--on-accent));display:grid;place-items:center;font-size:.78rem;font-weight:700}
.brand small{font-weight:500;color:var(--muted);font-size:.85rem}
.themes{display:flex;gap:6px;align-items:center}
.theme-btn{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);cursor:pointer;padding:0;position:relative;background:none;display:grid;place-items:center}
.theme-btn span{width:16px;height:16px;border-radius:50%;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.theme-btn[aria-pressed="true"]{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}

/* Hero */
.hero{padding:clamp(56px,11vh,120px) 0 56px;text-align:center}
.eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:.85rem;font-weight:500;color:var(--muted);letter-spacing:.01em;margin:0 0 22px}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hero h1{font-size:clamp(2.6rem,7.4vw,5.6rem);line-height:1.02;letter-spacing:-.035em;font-weight:700;margin:0 auto 18px;max-width:14ch;text-wrap:balance}
.hero .sub{font-size:clamp(1.1rem,2.1vw,1.4rem);color:var(--muted);margin:0 auto 40px;max-width:36ch;line-height:1.45;font-weight:400}
.search{position:relative;max-width:720px;margin:0 auto}
.search-box{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 24px;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}
.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),var(--shadow)}
.search-box svg{flex:none;color:var(--muted)}
.search-box input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1.12rem;color:var(--text);padding:12px 0;outline:none}
.search-box input::placeholder{color:var(--muted);opacity:1}
.search-box button{border:0;background:var(--accent-fill,var(--accent));color:var(--on-fill,var(--on-accent));border-radius:999px;height:48px;padding:0 22px;font-weight:600;cursor:pointer;flex:none}
.search-box button:hover{background:var(--accent-strong)}
.prompts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
.chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 14px;font-size:.9rem;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s;line-height:1.2}
.chip:hover{background:var(--surface)}
.chip[aria-pressed="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.results{position:absolute;left:0;right:0;top:calc(100% + 10px);background:var(--bg);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);text-align:left;padding:8px;z-index:20;max-height:min(60vh,520px);overflow:auto}
.results[hidden]{display:none}
.result{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;border:0;background:none;padding:12px 14px;border-radius:14px;cursor:pointer}
.result:hover,.result[aria-selected="true"]{background:var(--surface)}
.result .kind{flex:none;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);width:74px;padding-top:3px}
.result .rt{font-weight:600;display:block;line-height:1.35}
.result .rm{font-size:.86rem;color:var(--muted);display:block;margin-top:2px}
.results .empty{padding:14px;color:var(--muted)}
.hero-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1000px;margin:72px auto 0}
.hero-strip figure{margin:0;border-radius:12px;overflow:hidden;background:var(--surface);aspect-ratio:4/3;transition:transform .4s}
.hero-strip figure:nth-child(even){transform:translateY(18px)}
.hero-strip img{width:100%;height:100%;object-fit:cover;object-position:top;filter:var(--img-filter) grayscale(.15)}
@media (max-width:700px){.hero-strip{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:48px}.hero-strip figure:nth-child(n+4){display:none}.search-box{padding-left:18px}.search-box button{padding:0 16px;height:44px}.search-box input{font-size:1rem}}

/* Sections */
section.block{padding:clamp(72px,10vw,128px) 0}
.block + .block{border-top:1px solid var(--line)}
.kicker{font-size:.85rem;font-weight:600;color:var(--accent);letter-spacing:.02em;margin:0 0 12px}
h2{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 16px;font-weight:700}
h3{letter-spacing:-.015em;line-height:1.25}
.lede{font-size:1.15rem;color:var(--muted);max-width:62ch;margin:0 0 40px}
.note{font-size:.88rem;color:var(--muted)}
.src{font-size:.84rem;color:var(--muted);margin:10px 0 0;line-height:1.5}
.src a{color:var(--muted)}
.src a:hover{color:var(--accent)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* Timeline */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.tl-outer{position:relative;margin:0 -24px}
.tl-scroll{overflow-x:auto;overflow-y:hidden;padding:0 24px 16px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.tl{position:relative;height:330px}
.tl-govs{position:absolute;left:0;right:0;top:0;height:40px}
.gov{position:absolute;top:0;height:40px;border-radius:8px;font-size:.78rem;font-weight:500;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;color:var(--text);border:0;cursor:default;padding:0 4px}
.gov.civ{background:var(--accent-soft)}
.gov.mil{background:var(--surface-2)}
.tl-axis{position:absolute;left:0;right:0;top:52px;height:22px;border-top:1px solid var(--line)}
.tick{position:absolute;top:6px;font-size:.78rem;color:var(--muted);transform:translateX(-50%);font-variant-numeric:tabular-nums}
.tick.major{color:var(--text);font-weight:600}
.tl-1999{position:absolute;top:44px;bottom:0;width:0;border-left:1px dashed var(--accent)}
.tl-1999 span{position:absolute;left:8px;bottom:4px;font-size:.75rem;color:var(--accent);white-space:nowrap;font-weight:500}
.ev{position:absolute;display:flex;align-items:center;gap:7px;height:30px;padding:0 11px 0 9px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:.8rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;color:var(--text)}
.ev::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}
.ev.pre::before{background:var(--then)}
.ev.post::before{background:var(--accent)}
.ev:hover{border-color:var(--text);transform:translateY(-1px)}
.ev[aria-expanded="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.ev.dim{opacity:.18}
.ev .has-clip{width:6px;height:6px;border-radius:2px;border:1px solid currentColor;opacity:.55}
.tl-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:.85rem;color:var(--muted);margin-top:8px}
.tl-legend i{display:inline-block;width:14px;height:10px;border-radius:3px;vertical-align:-1px;margin-right:6px}
.tl-hint{font-size:.85rem;color:var(--muted)}

/* Drawer / panel */
.drawer{position:fixed;inset:0;z-index:150;display:flex;justify-content:flex-end;pointer-events:none}
.drawer[hidden]{display:none}
.drawer .scrim{position:absolute;inset:0;background:var(--overlay);opacity:0;transition:opacity .25s;pointer-events:auto}
.drawer .panel{position:relative;width:min(560px,100%);height:100%;overflow:auto;background:var(--bg);padding:28px 32px 48px;transform:translateX(24px);opacity:0;transition:transform .25s,opacity .25s;pointer-events:auto;box-shadow:var(--shadow)}
.drawer.open .scrim{opacity:1}.drawer.open .panel{transform:none;opacity:1}
.close{border:1px solid var(--line);background:var(--bg);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.25rem;line-height:1;display:grid;place-items:center}
.panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.meta{font-size:.85rem;color:var(--muted);font-weight:500}
.panel h3{font-size:1.6rem;margin:6px 0 12px}
.panel figure{margin:20px 0}
.panel .parallel{background:var(--surface);border-radius:14px;padding:16px 18px;margin-top:20px}
.panel .parallel b{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:4px}
.panel ul.sources{padding-left:18px;margin:8px 0 0;font-size:.88rem}
.panel ul.sources li{margin:4px 0}
.panel-nav{display:flex;justify-content:space-between;gap:10px;margin-top:28px}

/* Clipping figure (shared) */
.clip-fig{margin:0}
.clip-frame{display:block;border:0;padding:0;background:var(--surface);border-radius:12px;overflow:hidden;cursor:zoom-in;width:100%;aspect-ratio:4/3}
.clip-frame img{width:100%;height:100%;object-fit:cover;object-position:top;filter:var(--img-filter);transition:transform .5s}
.clip-frame:hover img{transform:scale(1.02)}
.clip-fig figcaption{font-size:.84rem;color:var(--muted);margin-top:10px;line-height:1.45}
.clip-fig figcaption strong{color:var(--text);font-weight:600}

/* Replay */
.replay{background:var(--surface);border-radius:28px;padding:clamp(28px,4vw,56px);margin-bottom:72px}
.replay h3.title,.replay h2.title{font-size:clamp(1.8rem,3.4vw,2.5rem);margin:0 0 8px;letter-spacing:-.03em}
.steps{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 28px}
.steps .chip{background:var(--bg)}
.steps .chip[aria-selected="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.dual{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.era{background:var(--bg);border-radius:20px;padding:28px}
.era .tag{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--then)}
.era.now .tag{color:var(--accent)}
.era h4{font-size:1.35rem;margin:8px 0 10px;letter-spacing:-.02em;line-height:1.25}
.era p{margin:0;color:var(--text)}
.era .clip-fig{margin-top:18px}
.replay-nav{display:flex;justify-content:space-between;margin-top:22px;gap:10px}
.btn{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:10px 18px;font-weight:500;cursor:pointer;font-size:.95rem;color:var(--text)}
.btn:hover{border-color:var(--text)}
.btn.primary{background:var(--accent-fill,var(--accent));color:var(--on-fill,var(--on-accent));border-color:var(--accent-fill,var(--accent))}
.btn.primary:hover{background:var(--accent-fill-strong,var(--accent-strong));color:var(--on-fill,var(--on-accent));border-color:var(--accent-fill-strong,var(--accent-strong))}
.btn:disabled{opacity:.4;cursor:not-allowed}

/* Explorer */
.explorer{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}
.theme-list{display:flex;flex-direction:column;gap:2px;position:sticky;top:96px}
.theme-list button{text-align:left;border:0;background:none;padding:11px 14px;border-radius:12px;cursor:pointer;font-weight:500;color:var(--muted);font-size:.98rem}
.theme-list button:hover{color:var(--text);background:var(--surface)}
.theme-list button[aria-selected="true"]{color:var(--text);background:var(--surface);font-weight:600}
.theme-view h3{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 24px;letter-spacing:-.025em}
.diff{margin:24px 0 0;padding:20px 22px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 14px 14px 0}
.diff b{display:block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.theme-clips{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px}
@media (max-width:900px){.explorer{grid-template-columns:1fr;gap:20px}.theme-list{position:static;flex-direction:row;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.theme-list button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.9rem}.dual{grid-template-columns:1fr}}

/* Dashboard */
.charts{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.chart-card{background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:24px 24px 18px}
.chart-card.wide{grid-column:1/-1}
.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.chart-card h3{font-size:1.1rem;margin:0}
.chart-card .latest{font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums}
.chart-card .latest b{color:var(--text);font-size:1.25rem;font-weight:700;margin-right:4px}
.chart-box{position:relative;height:260px;margin-top:14px}
.chart-card.wide .chart-box{height:320px}
.toggle{display:inline-flex;gap:4px;background:var(--surface);border-radius:999px;padding:3px}
.toggle button{border:0;background:none;border-radius:999px;padding:5px 12px;font-size:.82rem;cursor:pointer;color:var(--muted)}
.toggle button[aria-pressed="true"]{background:var(--bg);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.08)}
@media (max-width:820px){.charts{grid-template-columns:1fr}.chart-box{height:230px}}

/* Archive */
.arch-controls{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;margin-bottom:28px}
.field{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--muted);font-weight:500}
.field input,.field select{font:inherit;font-size:.98rem;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 14px;appearance:none;-webkit-appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.field input:focus,.field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:32px 24px}
.card{display:flex;flex-direction:column}
.card .clip-frame{aspect-ratio:4/3}
.card .meta{margin-top:12px}
.card h3{font-size:1.02rem;margin:4px 0 0;font-weight:600}
.badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:1px}
.count{font-size:.9rem;color:var(--muted);margin:-12px 0 20px}
@media (max-width:820px){.arch-controls{grid-template-columns:1fr 1fr}.arch-controls .field:first-child{grid-column:1/-1}}
@media (max-width:520px){.arch-controls{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr;gap:24px 14px}.card h3{font-size:.92rem}.card .meta{font-size:.78rem}.badge{display:none}}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:160;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .2s}
.lightbox[hidden]{display:none}
.lightbox.open{opacity:1}
.lb-inner{background:var(--bg);border-radius:20px;max-width:1100px;width:100%;max-height:calc(100vh - 48px);display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);overflow:hidden}
.lb-img{background:var(--surface);overflow:auto;display:flex;align-items:flex-start;justify-content:center;max-height:calc(100vh - 48px)}
.lb-img img{width:100%;height:auto;filter:var(--img-filter)}
.lb-side{padding:26px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.lb-side h3{margin:4px 0 4px;font-size:1.3rem}
.lb-side .lb-nav{display:flex;gap:8px;margin-top:auto;padding-top:16px}
@media (max-width:820px){.lb-inner{grid-template-columns:1fr;max-height:calc(100vh - 32px);overflow:auto}.lb-img{max-height:60vh}.lightbox{padding:12px}}

/* Quiz */
.quiz{background:var(--surface);border-radius:28px;padding:clamp(28px,5vw,64px);text-align:center}
.quiz .progress{font-size:.88rem;color:var(--muted);font-variant-numeric:tabular-nums}
.quiz blockquote{font-size:clamp(1.5rem,3.6vw,2.4rem);line-height:1.2;letter-spacing:-.02em;font-weight:600;margin:20px auto 32px;max-width:24ch;min-height:2.4em}
.quiz .answers{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.quiz .answers .btn{min-width:180px;padding:14px 22px;font-size:1rem}
.quiz .answers .btn small{display:block;font-size:.78rem;color:var(--muted);font-weight:400}
.quiz .feedback{min-height:84px;margin-top:24px}
.quiz .feedback p{margin:.2rem 0}
.quiz .verdict{font-weight:700;font-size:1.1rem}
.quiz .verdict.ok{color:var(--accent)}
.score{font-weight:600}

/* Spectrum */
.bands{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}
.bands::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:linear-gradient(90deg,var(--then),var(--accent));opacity:.5;border-radius:2px}
.band-h{position:relative;padding-top:38px;margin-bottom:14px}
.band-h::before{content:"";position:absolute;top:8px;left:0;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--text)}
.band-h h3{font-size:1rem;margin:0}
.band-h p{font-size:.84rem;color:var(--muted);margin:4px 0 0;line-height:1.45}
.person{background:var(--surface);border-radius:16px;padding:18px;margin-bottom:12px}
.person h4{margin:0;font-size:1.02rem}
.person .role{font-size:.82rem;color:var(--muted);margin:2px 0 10px;line-height:1.4}
.person .issue{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.person q{display:block;font-size:.92rem;margin:6px 0 8px;quotes:none}
.person .src{margin-top:6px}
.person.hl{outline:2px solid var(--accent);outline-offset:2px}
.band-empty{font-size:.85rem;color:var(--muted);border:1px dashed var(--line);border-radius:14px;padding:14px}
.method{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.method > div{border-top:1px solid var(--line);padding-top:18px}
.method h3{font-size:1rem;margin:0 0 8px}
.method ul{margin:0;padding-left:18px;font-size:.92rem}
.method li{margin:6px 0}
@media (max-width:900px){.bands{grid-template-columns:1fr}.bands::before{display:none}.band-h{padding-top:0;padding-left:26px}.band-h::before{top:3px}.method{grid-template-columns:1fr}}

/* Myths */
.myths{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.myth{border:1px solid var(--line);border-radius:22px;padding:26px}
.myth .lbl{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.myth h3{font-size:1.2rem;margin:6px 0 14px}
.myth .lbl.data{color:var(--accent)}
.myth p{margin:6px 0 0;font-size:.96rem}
.bars{display:flex;flex-direction:column;gap:6px;margin:16px 0 4px}
.bar-row{display:grid;grid-template-columns:44px 1fr 74px;gap:10px;align-items:center;font-size:.8rem;font-variant-numeric:tabular-nums}
.bar-row .track{display:block;height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.bar-row .fill{display:block;height:100%;background:var(--accent);border-radius:99px;width:0;transition:width 1s ease}
.bar-row.pre .fill{background:var(--then)}
.bar-row span:last-child{text-align:right;color:var(--muted)}

/* About + sources */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.about-grid h3{font-size:1.1rem;margin:0 0 8px}
.about-grid p,.about-grid li{font-size:.98rem}
details.sources-all{margin-top:48px;border-top:1px solid var(--line);padding-top:20px}
details.sources-all summary{cursor:pointer;font-weight:600;font-size:1.1rem;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.sources-all summary::after{content:"+";font-size:1.4rem;color:var(--muted)}
details.sources-all[open] summary::after{content:"–"}
.source-list{columns:2;column-gap:40px;font-size:.88rem;margin-top:20px;padding-left:18px}
.source-list li{break-inside:avoid;margin:0 0 8px}
@media (max-width:820px){.about-grid{grid-template-columns:1fr}.source-list{columns:1}}

footer.site-footer{padding:56px 0 72px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
footer .row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
/* Mobile tidy-up: shorter hero eyebrow; timeline filters scroll in one row */
@media (max-width:520px){
  .eyebrow{font-size:.8rem;text-wrap:balance}
  .eyebrow .dot{display:none}
  #tlFilters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-right:-20px;padding-right:20px}
  #tlFilters::-webkit-scrollbar{display:none}
  #tlFilters > *{flex:0 0 auto}
}

/* ===== Round 2 components ===== */
.brand-logo{height:28px;width:auto}
.search-box input{text-overflow:ellipsis}
.soon{font-size:.88rem;color:var(--muted);border:1px dashed var(--line);border-radius:12px;padding:10px 14px;margin:6px 0 0}
.soon-inline{color:var(--muted);font-style:italic}
.load-error{padding:24px;color:var(--muted)}
.chip.small{padding:5px 11px;font-size:.82rem}
.btn.small{padding:7px 14px;font-size:.88rem}
.linkish{border:0;background:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.sub-h{font-size:1.35rem;letter-spacing:-.02em;margin:56px 0 6px}
.sub-note{margin:0 0 20px;max-width:70ch}
.gov{cursor:pointer;transition:filter .15s}
.gov:hover{filter:brightness(.96)}
.gov.nocard{opacity:.6;cursor:help}
.gov:focus-visible{outline-offset:1px}

/* Government grid */
.gov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gcard{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:18px;padding:18px 18px 20px;cursor:pointer;transition:border-color .15s,transform .15s}
.gcard:hover{border-color:var(--text);transform:translateY(-1px)}
.gtop{display:flex;justify-content:space-between;align-items:center;gap:8px}
.gyears{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.gtag{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 8px}
.gtag.mil{color:var(--muted);background:var(--surface-2)}
.gname{font-weight:700;font-size:1.12rem;letter-spacing:-.01em}
.gplain{font-size:.9rem;color:var(--muted);line-height:1.45}

/* Scorecard drawer */
.panel .vibe{font-size:1.05rem;color:var(--muted);margin:0 0 18px;line-height:1.5}
.gstats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gstats li{background:var(--surface);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}
.gstats span{font-size:.72rem;color:var(--muted)}
.gstats b{font-size:1.02rem;font-variant-numeric:tabular-nums}
.gstats em{font-style:normal;font-size:.75rem;color:var(--muted)}
.sc-row{border-top:1px solid var(--line);padding:14px 0 4px;margin-top:14px}
.sc-row h4{margin:0 0 4px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.sc-row p{margin:0}
.money{display:grid;grid-template-columns:72px 1fr;gap:6px 10px;margin:4px 0 0;font-size:.95rem}
.money dt{color:var(--muted);font-size:.85rem;padding-top:2px}
.money dd{margin:0}
.actions{list-style:none;padding:0;margin:4px 0 0}
.actions li{margin:0 0 12px;font-size:.95rem}
.actions li b{display:block;font-size:.8rem;color:var(--muted);font-weight:600}
.actions .src{margin-top:2px}
.pars,.ctx{list-style:none;padding:0;margin:4px 0 0;font-size:.93rem}
.pars li,.ctx li{margin:0 0 8px}
.ctx span{display:inline-block;min-width:64px;color:var(--muted);font-size:.82rem}
.dr-clips{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.dr-clips .clip-fig figcaption{font-size:.78rem}
.dr-label{display:block;margin-top:18px}

/* Chapters */
.steps{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.steps::-webkit-scrollbar{display:none}
.steps .chip{flex:0 0 auto;white-space:nowrap}
.star{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-right:6px}
.steps .chip[aria-selected="true"] .star{color:inherit;opacity:.8}
.hook{font-size:1.2rem;line-height:1.45;margin:0 0 20px;max-width:60ch;letter-spacing:-.01em}
.era .tag{display:block;margin-bottom:10px}
.era p{margin:0 0 10px}
.era.tinted{background:var(--surface)}
.felt{color:var(--muted)!important;font-size:.95rem}
.felt b,.knum b{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.knum{border-left:3px solid var(--accent);padding:4px 0 4px 14px;margin:14px 0 6px;font-weight:600}
.era.then .knum{border-color:var(--then)}
.knum .src{font-weight:400}
.verdict-box{background:var(--bg);border-radius:20px;padding:20px 24px;margin-top:20px}
.vb-head{display:flex;align-items:center;gap:12px}
.verdict-box ul{margin:10px 0 0;padding-left:18px;font-size:.95rem}
.verdict-box li{margin:4px 0}
.vpill{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 10px;white-space:nowrap}
.v-returned{background:var(--then-soft);color:var(--then)}
.v-partly{background:var(--surface-2);color:var(--text)}
.v-changed{background:var(--accent-soft);color:var(--accent)}
.govlinks{margin:18px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.govlinks span{font-size:.85rem;color:var(--muted);margin-right:4px}
.govlinks .chip{background:var(--bg)}
.rp-clips{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.further{background:var(--bg);border-radius:20px;padding:20px 24px;margin-top:20px}
.further>b{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.further .ft{font-weight:600;margin:4px 0 6px}
.further p{margin:0 0 8px}
@media (max-width:700px){.rp-clips{grid-template-columns:1fr 1fr}.rp-clips .clip-fig:nth-child(3){display:none}.gstats{grid-template-columns:1fr 1fr}}

/* Meter */
.meter-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.ml{background:var(--surface);border-radius:16px;padding:16px 18px}
.ml-n{font-size:1.8rem;font-weight:700;margin-right:10px;vertical-align:middle;font-variant-numeric:tabular-nums}
.ml p{margin:8px 0 0;font-size:.88rem;color:var(--muted)}
.meter{border-top:1px solid var(--line)}
.mrow{border-bottom:1px solid var(--line)}
.mrow summary{list-style:none;display:grid;grid-template-columns:1fr auto 110px;gap:18px;align-items:center;padding:16px 4px;cursor:pointer}
.mrow summary::-webkit-details-marker{display:none}
.mrow summary:hover{background:var(--surface)}
.m-t b{display:block;font-weight:600}
.m-y{font-size:.84rem;color:var(--muted)}
.m-scale{display:flex;gap:4px}
.m-scale i{width:28px;height:8px;border-radius:99px;background:var(--surface-2)}
.m-scale i.on.v-returned{background:var(--then)}
.m-scale i.on.v-partly{background:var(--muted)}
.m-scale i.on.v-changed{background:var(--accent)}
.mrow .vpill{justify-self:start}
.m-body{padding:0 4px 18px;max-width:80ch}
.m-body ul{margin:0 0 6px;padding-left:18px;font-size:.95rem}
.m-body .btn{margin-top:12px}
@media (max-width:700px){.meter-legend{grid-template-columns:1fr}.mrow summary{grid-template-columns:1fr auto;gap:8px 12px}.m-scale{display:none}}

/* Spectrum extras */
.prov{font-size:.66rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px;vertical-align:2px}
.person .note{margin:0;font-size:.84rem}
.dims{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.dim{border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.dim h4{margin:0 0 10px;font-size:.98rem}
.dim-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative}
.dc{display:flex;flex-direction:column;gap:4px;font-size:.84rem}
.dl{font-size:.72rem;color:var(--muted);border-top:2px solid var(--line);padding-top:6px;margin-bottom:2px}
.dc:first-child .dl{border-color:var(--then)}
.dc:last-child .dl{border-color:var(--accent)}
.dp{line-height:1.3}
.dsrc{font-size:.68rem;margin-left:4px;color:var(--muted)}
.dnone{color:var(--line)}

/* Resources */
.rs-block{scroll-margin-top:90px}
.cmp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cmp{border:1px solid var(--line);border-radius:20px;padding:22px 24px}
.cmp .kicker{margin:0}
.cmp h4{font-size:1.35rem;margin:2px 0 8px;letter-spacing:-.02em}
.cmp p{margin:0;font-size:.95rem}
.cmp .vs{margin-top:14px;background:var(--surface);border-radius:12px;padding:10px 14px}
.cmp .vs b,.cc b{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.cc{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;font-size:.92rem}
.cc>div:first-child b{color:var(--accent)}
.fail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.fail{border-top:2px solid var(--then);padding:16px 2px 0}
.fail h4{font-size:1.2rem;margin:2px 0 8px}
.fail p{margin:8px 0 0;font-size:.95rem}
.qbank{columns:2;column-gap:28px;margin-top:8px}
.qb{break-inside:avoid;margin:0 0 22px;padding-left:16px;border-left:2px solid var(--line)}
.qb blockquote{margin:0;font-size:1.02rem;font-weight:500;line-height:1.45}
.qb figcaption{font-size:.82rem;color:var(--muted);margin-top:6px}
.qb figcaption a{color:var(--muted)}
.tool{background:var(--surface);border-radius:24px;padding:clamp(20px,3vw,36px)}
.tool-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}
.crit{margin-top:18px}
.crit-h{display:flex;justify-content:space-between;align-items:baseline}
.crit-h output{font-weight:700;font-variant-numeric:tabular-nums}
.crit .note{margin:2px 0 6px}
.crit input[type=range]{width:100%;accent-color:var(--accent)}
.crit-ends{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}
.tool-out{background:var(--bg);border-radius:18px;padding:22px;align-self:start;position:sticky;top:96px}
.tscore{margin:0;font-size:1rem;color:var(--muted)}
.tscore b{font-size:2.6rem;color:var(--text);letter-spacing:-.03em}
.tband{font-weight:600;margin:4px 0 12px}
.tbars .bar-row{grid-template-columns:120px 1fr 20px}
.tool-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.saved{list-style:none;padding:0;margin:6px 0 0;font-size:.85rem}
.saved li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.reading{list-style:none;padding:0;margin:0}
.reading li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.reading .rk{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.reading p{margin:4px 0 0;font-size:.92rem;color:var(--muted)}
@media (max-width:820px){.cmp-grid,.fail-grid,.tool-grid,.cc{grid-template-columns:1fr}.qbank{columns:1}.tool-out{position:static}.reading li{grid-template-columns:1fr;gap:4px}.dims{grid-template-columns:1fr}}

/* Archive credit + lightbox pages */
.card .credit{font-size:.78rem;color:var(--muted);margin:4px 0 0;line-height:1.4}
.lb-img{flex-direction:column;align-items:stretch}
.lb-img img+img{border-top:6px solid var(--bg)}
.lb-top{display:flex;justify-content:space-between;align-items:center}
#lbDesc{margin:0}

/* ===== Labs (demo features) ===== */
.demo-tag{display:inline-block;font-size:.66rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;vertical-align:2px;white-space:nowrap}
.labs-hero{padding-bottom:24px}
.labs-hero h1{font-size:clamp(2.4rem,6vw,4.2rem)}
.center{text-align:center}
.btn.big{padding:13px 26px;font-size:1rem}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:36px 0 20px}
.tier{border:1px solid var(--line);border-radius:18px;padding:20px 22px}
.tier.featured{border-color:var(--text)}
.tn{display:block;font-weight:600}
.tp{display:block;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin:2px 0 8px}
.tier ul{margin:0;padding-left:18px;font-size:.92rem;color:var(--muted)}
.tier li{margin:4px 0}
.feed{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}
.feed-hist h3{margin:0 0 4px;font-size:1.1rem}
.lockpill{font-size:.7rem;font-weight:600;color:var(--muted);background:var(--surface);border-radius:999px;padding:2px 8px;vertical-align:2px}
.hist-wrap{position:relative;margin-top:14px;border:1px solid var(--line);border-radius:20px;overflow:hidden;min-height:320px}
.hist{list-style:none;margin:0;padding:18px 20px;filter:blur(5px);opacity:.55;user-select:none;max-height:520px;overflow:hidden}
.hist li{padding:12px 0;border-bottom:1px solid var(--line)}
.hist li b{display:block}
.hist li p{margin:4px 0 0;font-size:.88rem}
.hist-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;background:color-mix(in srgb,var(--bg) 50%,transparent)}
.acard{border:1px solid var(--line);border-radius:20px;padding:22px 24px}
.acard.then{background:var(--surface);border-color:transparent}
.acard h3{margin:4px 0 8px;font-size:1.3rem}
.acard p{margin:0 0 8px;font-size:.96rem}
.alink{margin-top:12px!important;font-weight:600}
.arrow{text-align:center;color:var(--muted);font-size:.85rem;margin:10px 0}
.api-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:0;list-style:none;margin:0 0 28px}
.api-points li{background:var(--surface);border-radius:12px;padding:12px 14px;font-size:.92rem}
.api{display:grid;grid-template-columns:300px 1fr;gap:20px;border:1px solid var(--line);border-radius:20px;padding:16px}
.api-tabs{display:flex;flex-direction:column;gap:4px}
.api-tab{border:0;background:none;text-align:left;padding:10px 12px;border-radius:10px;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;color:var(--muted);word-break:break-all}
.api-tab[aria-selected="true"]{background:var(--surface);color:var(--text)}
.get{font-weight:700;color:var(--accent);margin-right:8px;font-size:.72rem}
.api-out{min-width:0}
.api-desc{margin:4px 0 10px;font-size:.92rem}
.api-desc code,.snip code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.api-out pre,.snip pre{background:var(--surface);border-radius:14px;padding:14px 16px;overflow:auto;max-height:420px;font-size:.78rem;line-height:1.5;margin:0}
.keyform{max-width:560px;margin:36px auto 0;display:grid;gap:12px;background:var(--surface);border-radius:20px;padding:24px}
.keyform h3{margin:0 0 4px}
.keyform textarea{font:inherit;font-size:.98rem;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 14px;resize:vertical}
.kf-thanks{margin:0;font-weight:600;color:var(--accent)}
.wtier{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:24px}
.wgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.wbox{border:1px solid var(--line);border-radius:20px;padding:22px}
.wbox h3{margin:0 0 4px;font-size:1.1rem}
.wsel{max-width:240px;margin:8px 0 0}
.wprev{background:var(--surface);border-radius:16px;padding:22px;margin:14px 0}
.widget{background:var(--bg);border-radius:14px;padding:18px 20px;max-width:420px;margin:0 auto;box-shadow:var(--shadow)}
.wk{display:block;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.wd{display:block;font-size:.82rem;color:var(--muted);margin-top:8px}
.wt{display:block;font-size:1.1rem;margin:2px 0 6px}
.widget p{margin:0;font-size:.9rem}
.wfoot{font-size:.72rem!important;color:var(--muted);border-top:1px solid var(--line);margin-top:12px!important;padding-top:8px}
.mt{position:relative;margin-top:12px}
.mt-bands{position:relative;height:18px}
.mt-b{position:absolute;top:0;height:18px;border-radius:4px}
.mt-b.civ{background:var(--accent-soft)}.mt-b.mil{background:var(--surface-2)}
.mt-ev{position:relative;height:16px;margin-top:6px}
.mt-d{position:absolute;top:4px;width:8px;height:8px;border-radius:50%;transform:translateX(-50%)}
.mt-d.pre{background:var(--then)}.mt-d.post{background:var(--accent)}
.mt-ax{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);margin-top:2px}
.snip{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.snip pre{width:100%;white-space:pre-wrap;word-break:break-all}
.qnote{max-width:70ch;margin:-20px 0 28px;padding:12px 16px;background:var(--surface);border-radius:12px}
.mq{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.mqq{border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin:0;min-width:0}
.mqq legend{font-weight:600;padding:0;margin-bottom:10px;display:block;float:left;width:100%}
.mqq legend small{display:block;font-weight:400;font-size:.78rem;color:var(--muted);margin-top:2px}
.qn{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface);font-size:.78rem;margin-right:8px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:.94rem;clear:both}
.opt:hover{background:var(--surface)}
.opt input{accent-color:var(--accent);margin-top:5px}
.mq-go{grid-column:1/-1;display:flex;gap:16px;align-items:center;justify-content:center;margin-top:8px}
.mres{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:40px}
.mcard{background:var(--surface);border-radius:22px;padding:26px}
.mcard h3{font-size:2rem;margin:6px 0 2px;letter-spacing:-.02em}
.mcard .role{color:var(--muted);margin:0 0 12px;font-size:.92rem}
.mcard q{display:block;font-size:1.05rem;quotes:none}
.mbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.mprofile{border:1px solid var(--line);border-radius:22px;padding:22px}
.mprofile h4{margin:0 0 12px}
.mp-row{display:grid;grid-template-columns:130px 1fr 110px;gap:10px;align-items:center;font-size:.82rem;margin:8px 0}
.mp-track{position:relative;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--then-soft),var(--accent-soft))}
.mp-track i{position:absolute;top:-4px;width:14px;height:14px;border-radius:50%;background:var(--text);transform:translateX(-50%)}
.mp-l{color:var(--muted)}
.locked{grid-column:1/-1;position:relative;border:1px solid var(--line);border-radius:22px;overflow:hidden;min-height:170px}
.lk-blur{filter:blur(5px);opacity:.6;padding:22px;user-select:none}
.lk-cta{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:color-mix(in srgb,var(--bg) 55%,transparent)}
.modal{position:fixed;inset:0;z-index:200;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal-card{background:var(--bg);border-radius:22px;padding:28px;max-width:420px;width:100%}
.modal-card h3{margin:10px 0 6px;font-size:1.4rem}
@media (max-width:820px){.feed,.api,.wgrid,.mres{grid-template-columns:1fr}.api-tabs{flex-direction:row;overflow-x:auto}.api-tab{white-space:nowrap;word-break:normal}.mp-row{grid-template-columns:110px 1fr 90px}}

/* White House theme: a navy rule under the header */
[data-theme="whitehouse"] .site-header,[data-theme="forest"] .site-header,[data-theme="navy-coral"] .site-header,[data-theme="cream-burgundy"] .site-header,[data-theme="charcoal-green"] .site-header{border-bottom:3px solid var(--accent-fill,var(--accent))}

/* ===== v3: multi-page layout, one Resources menu, serif headings, infographics ===== */
h1,h2,h3,.mg-h,.fcard b,.gname,.pn b{font-family:var(--font-heading)}
h1,h2{letter-spacing:-.012em;font-weight:700}
h3{letter-spacing:-.005em}
main > section.block:first-child h1{font-size:clamp(2.4rem,5.4vw,3.8rem);line-height:1.05;margin:0 0 16px;text-wrap:balance}
main > section.block:first-child{padding-top:clamp(48px,7vw,88px)}
a.btn,a.chip{text-decoration:none;display:inline-block}
a.btn:hover,a.chip:hover{color:var(--text);border-color:var(--text)}
/* Header */
.hdr-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.hdr-search{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--bg);display:grid;place-items:center;cursor:pointer;color:var(--text)}
.hdr-search:hover{border-color:var(--text)}
.mega-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--accent-fill,var(--accent));background:var(--accent-fill,var(--accent));color:var(--on-fill,var(--on-accent));font-weight:600;font-size:.95rem;cursor:pointer;letter-spacing:.01em}
.mega-btn:hover{background:var(--accent-fill-strong,var(--accent-strong))}
.mega-btn .chev{transition:transform .2s}
.mega-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:100%;z-index:120}
.mega[hidden]{display:none}
.mega-sheet{background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 24px 48px rgba(0,0,0,.10);opacity:0;transform:translateY(-6px);transition:opacity .18s,transform .18s}
.mega.open .mega-sheet{opacity:1;transform:none}
.mega-in{padding-top:24px;padding-bottom:32px}
.mega-top{display:flex;gap:16px;align-items:center;margin-bottom:20px}
.mega-search{flex:1;min-width:0;max-width:560px;margin:0}
.search-box.small{padding:4px 4px 4px 16px;box-shadow:none}
.search-box.small input{font-size:.98rem;height:40px}
.search-box.small button{height:38px;padding:0 16px;font-size:.9rem}
.mega-close{flex-shrink:0;margin-left:auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--bg);font-size:1.4rem;line-height:1;cursor:pointer}
.mega-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 28px;align-items:start}
.mega-home{grid-column:1/-1;font-weight:600;text-decoration:none;color:var(--text);padding:6px 10px;margin:-6px 0 6px -10px;border-radius:10px;justify-self:start}
.mega-home:hover,.mega-home[aria-current="page"]{background:var(--surface)}
.mg-h{font-size:.8rem;font-family:var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 8px;font-weight:700}
.mg ul{list-style:none;margin:0;padding:0}
.mg a{display:block;text-decoration:none;color:var(--text);padding:10px 12px;margin:0 -12px;border-radius:12px}
.mg a b{display:block;font-size:1.06rem;font-weight:600}
.mg a span{display:block;font-size:.84rem;color:var(--muted);line-height:1.4;margin-top:2px}
.mg a:hover{background:var(--surface)}
.mg a[aria-current="page"]{background:var(--accent-soft)}
.mg a[aria-current="page"] b::after{content:" ·  you are here";font-family:var(--font);font-size:.72rem;font-weight:500;color:var(--accent)}
@media (max-width:980px){.mega-groups{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
  .mega{position:fixed;inset:0;top:0;z-index:300;background:var(--overlay)}
  .mega-sheet{position:absolute;inset:0;overflow:auto;border:0;transform:translateY(12px)}
  .mega-in{padding-top:14px;padding-bottom:48px}
  .mega-top{position:sticky;top:0;background:var(--bg);padding:6px 0 12px;margin-bottom:8px;z-index:2}
  .mega-groups{grid-template-columns:1fr;gap:18px}
  .mg a{padding:12px;margin:0 -12px}
  html.mega-on{overflow:hidden}
  .mega-btn{padding:0 14px}
}
/* Footer */
footer.site-footer{padding:48px 0 56px}
.foot-grid{display:grid;grid-template-columns:1.4fr 2fr auto;gap:28px;align-items:start}
.foot-brand{display:flex;flex-direction:column;gap:6px}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot-nav a{color:var(--text);text-decoration:none;font-weight:500}
.foot-nav a:hover{text-decoration:underline}
.foot-theme{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr}}
/* Home */
.greet{font-family:var(--font-heading);font-size:1.25rem;color:var(--accent);margin:0 0 10px;font-weight:600}
.home-hero h1{font-size:clamp(2.8rem,7.4vw,5.6rem)}
.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fcard{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 22px 24px;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--text);background:var(--bg);transition:border-color .15s,transform .15s}
.fcard:hover{border-color:var(--accent);transform:translateY(-2px);color:var(--text)}
.fcard .fk{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--accent)}
.fcard b{font-size:1.35rem;line-height:1.2}
.fcard > span:not(.fk):not(.go){color:var(--muted);font-size:.94rem}
.fcard .go{position:absolute;right:20px;top:20px;color:var(--accent)}
.fcard.lab{background:var(--surface);border-color:transparent}
@media (max-width:900px){.feature-cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.feature-cards{grid-template-columns:1fr}}
.more{margin:18px 0 0}
/* Infographics */
.info{margin:0 0 64px}
.info:last-child{margin-bottom:0}
.info-svg{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bg)}
.info-svg svg{display:block;width:100%;height:auto}
.info-foot{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-top:12px}
.info-foot .src{margin:0;max-width:80ch}
.info-dl{display:flex;gap:8px;flex:none}
.info.compact{margin:0}
@media (max-width:640px){.info-foot{flex-direction:column}}
.era-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.era-card{margin:0}
.era-card .info-foot{align-items:center}
.era-card .info-foot a{font-weight:600;text-decoration:none}
@media (max-width:900px){.era-cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.era-cards{grid-template-columns:1fr}}
/* Governments */
a.gcard{text-decoration:none;color:var(--text)}
.gmore{margin-top:auto;padding-top:8px;font-size:.85rem;font-weight:600;color:var(--accent)}
a.gov{text-decoration:none}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.88rem;color:var(--muted);margin-bottom:28px}
.crumbs a{color:var(--muted)}
.gov-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start;margin-top:8px}
.gov-side{position:sticky;top:96px}
.gov-card .sc-row h2{margin:0 0 6px;font-family:var(--font);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700}
.gov-card .sc-row{padding:20px 0;border-top:1px solid var(--line)}
.gov-card .sc-row p{margin:0}
.gov-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:56px}
.pn{display:flex;flex-direction:column;gap:2px;padding:18px 22px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--text)}
.pn:hover{border-color:var(--accent);color:var(--text)}
.pn.next{text-align:right}
.pn span{font-size:.82rem;color:var(--muted)}
.pn b{font-size:1.2rem}
.pn em{font-style:normal;font-size:.85rem;color:var(--muted)}
.pn.empty{border:0}
@media (max-width:900px){.gov-layout{grid-template-columns:1fr}.gov-side{position:static}}
/* Event drawer: keep the close button inside the screen on phones */
.panel-top{position:sticky;top:-28px;background:var(--bg);z-index:2;padding:12px 0;margin-top:-12px}
.panel h2{font-size:1.6rem;margin:6px 0 12px;line-height:1.2}
@media (max-width:560px){.drawer .panel{padding:20px 20px 40px}.panel-top{top:-20px}}
.hl{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}
.info-src summary{cursor:pointer;font-size:.88rem;font-weight:600;color:var(--accent)}
.info-src .src{margin:8px 0 0}
@media (max-width:760px){html.mega-on .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}}
.gov-side .info-foot{flex-direction:column}

/* v4: colour scheme hint for form controls and scrollbars */
html{color-scheme:var(--scheme,light)}
/* ---------- v4: editorial home ---------- */
.masthead{padding:clamp(24px,4vw,44px) 0 0}
.mh-strip{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600;border-top:3px solid var(--text);border-bottom:1px solid var(--line);padding:10px 0}
.mh-title{font-family:var(--font-heading);font-size:clamp(2.1rem,4.7vw,4rem);line-height:1.06;letter-spacing:-.015em;max-width:24ch;text-wrap:balance;font-weight:700;margin:22px 0 14px;color:var(--text)}
.mh-sub{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.5;color:var(--muted);max-width:62ch;margin:0}
.mh-rule{border:0;border-bottom:4px double var(--text);margin:22px 0 0;height:0}
body[data-page="index"] section.block{padding:clamp(44px,6vw,76px) 0}
section.block.lead-block{padding-top:32px}
.lead-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);gap:40px}
.lead{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:28px;align-items:start}
.lead-fig{margin:0}
.lead-fig img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:4px;filter:var(--img-filter);background:var(--surface)}
.lead-fig figcaption{font-size:.78rem;line-height:1.45;color:var(--muted);margin-top:8px}
.lead-fig figcaption a,.lp-s a,.src-line a{color:inherit}
.lead-txt .kicker{margin-top:0}
.lead-txt h2{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.04;margin:6px 0 12px}
.lead-txt h2 a{color:inherit;text-decoration:none}
.lead-txt h2 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.lead-hook{font-size:1.16rem;line-height:1.5;margin:0 0 18px;color:var(--text)}
.lead-pair{display:grid;gap:10px;margin-bottom:14px}
.lp{padding:12px 14px;border-left:4px solid var(--then);background:var(--then-soft);border-radius:0 8px 8px 0}
.lp.now{border-left-color:var(--accent);background:var(--accent-soft)}
.lp-k{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--then)}
.lp.now .lp-k{color:var(--accent)}
.lp b{display:block;font-size:1.02rem;font-weight:600;margin:4px 0;color:var(--text)}
.lp-s{display:block;font-size:.78rem;color:var(--text);opacity:.85}
.lead-verdict{font-size:.92rem;color:var(--muted);margin:0 0 16px}
.v-tag{display:inline-block;margin-left:6px;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--accent-fill,var(--accent));color:var(--on-fill,var(--on-accent))}
.lead-cta{margin:0}
.lead-rail{border-left:1px solid var(--line);padding-left:28px}
.rail-h{font-family:var(--font);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--accent);margin:0;padding-bottom:8px;border-bottom:2px solid var(--text)}
.rail-list{list-style:none;margin:0 0 28px;padding:0}
.rail-list li{border-bottom:1px solid var(--line)}
.rail-list a{display:block;padding:12px 0;text-decoration:none;color:var(--text)}
.rail-list time{display:block;font-size:.76rem;font-weight:600;letter-spacing:.03em;color:var(--muted)}
.rail-list b{display:block;font-family:var(--font-heading);font-size:1.12rem;line-height:1.25;margin:3px 0}
.rail-list span{display:block;font-size:.88rem;line-height:1.45;color:var(--muted)}
.rail-list a:hover b{text-decoration:underline}
.week{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;margin-top:8px}
#weekPar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto minmax(0,2fr) auto;gap:24px;align-items:center}
.wk-k .kicker{margin:0}
.wk-note{font-size:.8rem;line-height:1.4;color:var(--muted);margin:6px 0 0}
.wk-l{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--then)}
.wk-now .wk-l{color:var(--accent)}
.wk-then b,.wk-now b{display:block;font-family:var(--font-heading);font-size:1.2rem;line-height:1.3;margin:4px 0}
.wk-s{display:block;font-size:.9rem;line-height:1.45;color:var(--muted)}
.src-line{display:block;font-size:.76rem;line-height:1.4;color:var(--muted);margin-top:6px}
.wk-arrow{font-size:1.6rem;color:var(--muted)}
.wk-go{font-weight:600;color:var(--accent);white-space:nowrap}
.sec-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--text);margin-top:18px}
.sec{display:flex;flex-direction:column;padding:18px 18px 22px;border-right:1px solid var(--line);text-decoration:none;color:var(--text)}
.sec:first-child{padding-left:0}.sec:last-child{border-right:0;padding-right:0}
.sec-k{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--accent)}
.sec-n{font-size:.84rem;color:var(--muted);margin:12px 0 0}
.sec-n b{display:block;font-family:var(--font-heading);font-size:2.6rem;line-height:1;color:var(--text);margin-bottom:2px}
.sec h3{font-family:var(--font-heading);font-size:1.3rem;margin:14px 0 6px}
.sec p{font-size:.9rem;line-height:1.45;color:var(--muted);margin:0}
.sec .go{margin-top:auto;padding-top:14px;color:var(--accent);font-weight:600}
.sec:hover h3{text-decoration:underline}
.pod{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pod-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start}
.pod-p{font-size:1.12rem;line-height:1.55;max-width:52ch}
.pod-further{border:1px solid var(--line);border-radius:12px;padding:20px 22px;background:var(--bg)}
.pod-further .kicker{margin-top:0}
.pod-further b{display:block;font-family:var(--font-heading);font-size:1.14rem;line-height:1.3;margin-bottom:8px}
.pod-further p{font-size:.95rem;line-height:1.55}
.pod-further .caveat{font-size:.82rem;color:var(--muted);font-style:italic}
.more-ways{padding:32px 0 56px}
.mw-h{font-family:var(--font);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--muted);margin:0 0 12px}
.mw-links{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:1060px){.lead-grid{grid-template-columns:1fr}.lead-rail{border-left:0;padding-left:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.rail-list{margin-bottom:8px}
  #weekPar{grid-template-columns:1fr 1fr;gap:16px 28px}.wk-k{grid-column:1/-1}.wk-arrow{display:none}.wk-go{grid-column:1/-1}
  .sec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sec,.sec:first-child,.sec:last-child{padding:18px 16px 22px 0;border-right:0;border-bottom:1px solid var(--line)}}
@media (max-width:720px){.lead{grid-template-columns:1fr}.lead-fig img{aspect-ratio:16/11}.lead-rail{grid-template-columns:1fr}
  #weekPar{grid-template-columns:1fr}.sec-grid{grid-template-columns:1fr 1fr;gap:0 16px}.pod-grid{grid-template-columns:1fr;gap:24px}.mh-strip span:last-child{display:none}}
@media (max-width:420px){.sec-grid{grid-template-columns:1fr}}
/* ---------- v4: footer ---------- */
footer.site-footer{padding:56px 0 40px;background:var(--surface);border-top:1px solid var(--line)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,3fr);gap:40px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.foot-brand p{margin:12px 0 0;max-width:36ch;line-height:1.5}
.foot-brand a{color:var(--text)}
.foot-logo{text-decoration:none}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:24px}
.fcol h2{font-family:var(--font);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--text);margin:0 0 10px}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{margin:0 0 8px}
.fcol a{color:var(--muted);text-decoration:none}
.fcol a:hover{color:var(--text);text-decoration:underline}
.soon-link{color:var(--muted)}.soon-link em{font-style:normal;font-size:.78rem}
.foot-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-end;padding-top:24px}
.foot-meta{display:flex;flex-direction:column;gap:4px;font-size:.82rem;max-width:80ch}
@media (max-width:820px){.foot-top{grid-template-columns:1fr}.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mega-groups{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.mega-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.mega-groups{grid-template-columns:1fr}}
/* ---------- v4: team, contact, legal, 404 ---------- */
.ph-note{font-size:.88rem;color:var(--muted);border-left:3px solid var(--line);padding-left:12px;margin:8px 0 28px}
.ph-tag,.draft-flag b{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:999px;border:1px dashed var(--muted);color:var(--muted)}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.tm-card{display:flex;gap:18px;align-items:flex-start;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.tm-avatar,.tm-photo{flex:0 0 auto;width:84px;height:84px;border-radius:50%;object-fit:cover}
.tm-avatar{display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-family:var(--font-heading);font-size:2rem;font-weight:700;border:1px solid var(--line)}
.tm-name{font-size:1.3rem;margin:0 0 4px}
.tm-role{margin:6px 0 8px;color:var(--accent);font-weight:600;font-size:.92rem}
.tm-bio{margin:0;color:var(--muted)}
.tm-links{list-style:none;padding:0;margin:10px 0 0;display:flex;gap:12px;flex-wrap:wrap}
.tm-future{border-style:dashed;background:transparent}
.tm-plus{font-family:var(--font)}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:40px;margin-top:24px;align-items:start}
.ct-mail{font-family:var(--font-heading);font-size:1.6rem;margin:4px 0 16px}
.ct-mail a{color:var(--text)}
.ct-form{display:grid;gap:14px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.ct-form h2{font-size:1.3rem;margin:0}
.ct-form label{display:grid;gap:6px;font-weight:600;font-size:.92rem}
.ct-form input,.ct-form select,.ct-form textarea{font:inherit;font-weight:400;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:2px solid var(--focus);outline-offset:1px}
.ct-form .btn{justify-self:start}
.legal h2{font-size:1.25rem;margin:28px 0 8px}
.legal p{line-height:1.65}
.draft-flag{padding:12px 14px;border:1px dashed var(--muted);border-radius:10px;color:var(--muted);font-size:.92rem}
.draft-flag b{margin-right:6px}
.nf{min-height:50vh}
@media (max-width:820px){.ct-grid{grid-template-columns:1fr}}
.tm-card{flex-direction:column;gap:14px}
.foot-cols{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.soon-link{white-space:nowrap}
/* ---------- v5: Engage features ---------- */
.f-hero h1{margin:6px 0 12px}
.model-tag{display:inline-block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 12px;border-radius:999px;border:2px solid var(--then);color:var(--then)}
.f-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.f-card{display:block;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;margin-bottom:12px}
a.f-card:hover h3{text-decoration:underline}
.f-card h3{font-size:1.15rem;margin:6px 0}
.f-card .ph-tag{margin-bottom:6px}
.f-list li{margin:0 0 10px}
.f-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.f-steps li{border-top:3px solid var(--accent);padding:12px 0;display:grid;gap:4px}
.f-steps span{color:var(--muted)}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 24px}
.tbl-wrap table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.tbl-wrap th,.tbl-wrap td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl-wrap th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tbl-wrap caption{text-align:left;font-weight:600;padding:6px 0}
.f-filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;margin:8px 0 6px}
.f-filters label{display:grid;gap:4px;font-size:.84rem;font-weight:600}
.f-filters input,.f-filters select,.nl-form input{font:inherit;font-weight:400;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:44px}
.f-filters input:focus,.f-filters select:focus,.nl-form input:focus{outline:2px solid var(--focus);outline-offset:1px}
.rep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:16px}
.rep-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none}
.rep-card .ph-tag{grid-column:1/-1;justify-self:start}
.rep-card .tm-avatar{width:56px;height:56px;font-size:1.4rem}
.rep-body{display:grid;gap:2px}.rep-body b{font-family:var(--font-heading);font-size:1.15rem}
.rep-card:hover b{text-decoration:underline}
.rep-head{display:flex;gap:20px;align-items:center;margin-top:12px}
.rep-av{width:96px;height:96px;font-size:2.4rem}
.rep-facts{display:flex;flex-wrap:wrap;gap:8px 24px;margin:8px 0 0}
.rep-facts dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.rep-facts dd{margin:0;font-weight:600}
.sample-banner{padding:12px 14px;border:2px dashed var(--then);border-radius:12px;color:var(--text);margin:12px 0 4px}
.rep-card-fig{margin:0 0 12px;max-width:720px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.rep-card-fig svg,.sim-card-prev svg{display:block;width:100%;height:auto}
.job-list{display:grid;gap:14px;margin-top:16px}
.job{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.job-t{font-size:1.25rem;margin:4px 0}.job-org{margin:0 0 8px;color:var(--muted)}
.job-facts{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 0 8px}.job-facts dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.job-facts dd{margin:0;font-weight:600}
.pack-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.pack-list{list-style:none;padding:0;margin:0;columns:2;column-gap:32px}
.pack-list li{break-inside:avoid;padding:8px 0;border-bottom:1px solid var(--line)}
.pack-list a{color:var(--text);text-decoration:none}.pack-list a:hover{text-decoration:underline}
.pack-list time{display:block;font-size:.78rem;color:var(--muted);font-weight:600}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.share-l{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.share-btns{display:flex;flex-wrap:wrap;gap:8px}
.share-msg{font-size:.85rem;color:var(--muted)}
.share-embed{flex-basis:100%}.share-embed textarea{width:100%;font:.82rem/1.4 ui-monospace,Menlo,monospace;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px}
.btn.small{min-height:40px;padding:6px 14px;font-size:.88rem}
.nl{background:var(--surface);border-top:1px solid var(--line)}
section.block.nl{padding:40px 0}
.nl-in{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.nl-in h2{font-size:1.5rem;margin:0 0 6px}.nl-in p{margin:0}
.nl-form{display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:end}
.nl-form label{display:grid;gap:4px;font-weight:600;font-size:.88rem}
.nl-form .meta,.nl-thanks{grid-column:1/-1;margin:0}
.nl-thanks{font-weight:600;color:var(--accent)}
/* simulator */
.sim-disc{font-size:.92rem;color:var(--muted);border-left:3px solid var(--then);padding-left:12px;max-width:80ch}
.sim-h{font-size:clamp(1.6rem,3vw,2.2rem);margin:12px 0 16px}
.sim-h:focus{outline:none}
.sim-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:start}
.sim-lever{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:0 0 16px;background:var(--surface)}
.sim-lever legend{font-weight:700;font-size:1.05rem;padding:0 6px}
.sim-when{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-left:6px}
.sim-q{margin:0 0 10px;color:var(--muted)}
.sim-opts{display:grid;gap:8px}
.sim-opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);cursor:pointer;min-height:44px}
.sim-opt input{margin-top:4px;width:18px;height:18px;accent-color:var(--accent)}
.sim-opt b{display:block}.sim-opt small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.sim-opt:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.sim-opt:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.sim-hist{margin-top:12px}.sim-hist summary{cursor:pointer;font-weight:600;color:var(--accent)}
.sim-hist ul{margin:8px 0 0;padding-left:18px}.sim-hist li{margin:4px 0}
.sim-score{position:sticky;top:84px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.sim-score h3{margin:0 0 12px;font-size:1.05rem}
.sim-bars{display:grid;gap:10px;margin-bottom:12px}
.sim-bar{display:grid;grid-template-columns:8.5em 1fr 4.5em;gap:8px;align-items:center;font-size:.9rem}
.sb-t{height:12px;border-radius:6px;background:var(--line);overflow:hidden}.sb-t i{display:block;height:100%;background:var(--accent-fill,var(--accent));border-radius:6px;transition:width .4s}
.sb-v{font-weight:700;text-align:right}.sb-v em{font-style:normal;font-size:.78rem;margin-left:4px}.sb-v em.up{color:var(--accent)}.sb-v em.down{color:var(--then)}
.sim-locked{padding-left:18px}.sim-locked li{margin:4px 0}
.sim-card-fig{margin:0}.sim-card-prev{border:1px solid var(--line);border-radius:12px;overflow:hidden;max-width:520px}
.sim-model summary{cursor:pointer;font-weight:700;font-size:1.1rem;margin-top:24px}
@media (prefers-reduced-motion:reduce){.sb-t i{transition:none}*{scroll-behavior:auto!important}}
@media (max-width:860px){.sim-grid{grid-template-columns:1fr}.sim-score{position:static;order:-1}.nl-in{grid-template-columns:1fr}.f-filters{grid-template-columns:1fr 1fr}.f-filters label:first-child{grid-column:1/-1}.pack-list{columns:1}}
@media (max-width:420px){.sim-bar{grid-template-columns:7em 1fr 3.6em;font-size:.84rem}.nl-form{grid-template-columns:1fr}.rep-head{align-items:flex-start}}
body[data-feature] section.block{padding:clamp(28px,4.5vw,52px) 0}
body[data-feature] main > section.block:first-child{padding-top:clamp(36px,5vw,64px)}
body[data-feature] .block + .block{border-top:0}
body[data-feature] section.block.nl{border-top:1px solid var(--line);margin-top:24px}
body[data-page^="investors/"] section.block{padding:clamp(28px,4.5vw,52px) 0}
body[data-page^="investors/"] .block + .block{border-top:0}
@media (min-width:1180px){.mega-groups{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 22px}}
@media (min-width:761px){.mega-sheet{max-height:calc(100vh - 68px);overflow:auto}}
/* ---------- v5b: Research-driven simulator and context packs ---------- */
.sim-ind{width:100%;border-collapse:collapse;font-size:.92rem}
.sim-ind caption{text-align:left;font-weight:700;padding:0 0 6px}
.sim-ind th,.sim-ind td{padding:6px 4px;border-bottom:1px solid var(--line);text-align:right;vertical-align:baseline}
.sim-ind th[scope=row],.sim-ind thead th:first-child{text-align:left;font-weight:600}
.sim-ind small{color:var(--muted);font-weight:400}
.sim-ind em{font-style:normal;font-size:.8em;margin-left:4px;color:var(--muted)}
.sim-opt.is-off{opacity:.75}
.sim-opt.is-off input{cursor:not-allowed}
.sim-report ul,.sim-protest p{margin:.4em 0}
.sim-report li.n-shock{font-weight:700}
.sim-report li.n-good{color:var(--accent)}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;font-size:.92rem}
.pc ul{margin:.3em 0 .6em;padding-left:1.1em}
.eps{display:grid;gap:12px}
.ep{border-left:3px solid var(--line);padding:4px 0 4px 12px}
.ep h3,.ep h4{margin:0 0 4px;font-size:1rem}
.ep h3 .meta,.ep h4 .meta{font-weight:400;font-size:.85rem}
.ep p{margin:.3em 0}
.ep-nums{margin:.3em 0;padding-left:1.1em;font-size:.92rem}
.ep-src,.cite{font-size:.78em;white-space:nowrap}
.sim-site{margin:.3em 0;padding-left:1.1em}
.sim-chart{margin:12px 0}
.sim-chart svg{width:100%;height:auto;display:block}
.sim-chart .grid{stroke:var(--line);stroke-width:1}
.sim-chart .zero{stroke:var(--muted);stroke-width:1}
.sim-chart .ax{font-size:11px;fill:var(--muted)}
.sim-chart .l-a{stroke:var(--then,#b00);stroke-width:2.2}
.sim-chart .l-b{stroke:var(--accent);stroke-width:2.2}
.sim-chart figcaption{font-size:.88rem;display:flex;gap:16px;flex-wrap:wrap}
.lg:before{content:"";display:inline-block;width:18px;height:3px;margin-right:6px;vertical-align:middle;background:var(--accent)}
.lg-a:before{background:var(--then,#b00)}
.not-advice{border:1px solid var(--line);border-left:4px solid var(--then,#b00);padding:10px 14px;margin:14px 0;font-size:.95rem;background:var(--bg)}
.facts{padding-left:1.1em}
.facts li{margin:.45em 0}
.asof{font-size:.8em;color:var(--muted);white-space:nowrap}
.zones{display:grid;gap:14px}
.zt{width:100%;border-collapse:collapse;font-size:.86rem}
.zt th,.zt td{border-bottom:1px solid var(--line);padding:5px 4px;text-align:left}
.src-list{font-size:.88rem;padding-left:1.4em}
.src-list li{margin:.35em 0;word-break:break-word}
@media (min-width:900px){.zones{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pc{grid-template-columns:1fr}}
.f-hero + .sim-block{padding-top:0}
/* v5c: hackathon, reps, careers with Research content */
.badge{display:inline-block;font-size:.78rem;font-weight:700;line-height:1.2;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--text);background:var(--bg);margin:2px 0}
.b-open{border-color:var(--accent);color:var(--accent)}
.b-closed{color:var(--muted)}
.b-dl{border-color:var(--then,#b00);color:var(--then,#b00)}
.b-chk{font-weight:600;color:var(--muted)}
.f-acc{border-top:1px solid var(--line);padding:6px 0}
.f-acc>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.f-acc>summary::-webkit-details-marker{display:none}
.f-acc>summary:before{content:"+";font-weight:700;width:1em;color:var(--accent)}
.f-acc[open]>summary:before{content:"–"}
.f-acc>summary h3{margin:.4em 0;font-size:1.1rem}
.f-acc ul,.f-acc ol,.case-md ul,.case-md ol{padding-left:1.2em}
.f-acc li,.case-md li{margin:.3em 0}
.case-md h2{margin-top:1.6em}
.case-md h3{margin-top:1.2em}
.case-md .tbl-wrap{margin:10px 0}
.case-md table{font-size:.88rem}
.f-card.case{text-decoration:none;color:inherit}
.f-card.case .go{color:var(--accent);font-weight:600}
.pos blockquote{margin:.4em 0;padding-left:10px;border-left:3px solid var(--line);font-style:italic}
.pos blockquote p{margin:0}
.job .badge{margin-right:4px}
.job-facts dd{word-break:break-word}
.legal ul,.legal ol{padding-left:1.2em}
.f-filters label,.f-filters select,.f-filters input{min-width:0;max-width:100%}
.zones>*,.f-grid>*,.sim-grid>*{min-width:0}
main a{overflow-wrap:anywhere}
body[data-feature] .f-hero + .block{padding-top:0}

/* v5d lens box, method, corrections */
.lens-box{background:var(--surface);border:1px solid var(--line,#ddd);border-left:4px solid var(--accent,#333);padding:1rem 1.1rem;margin:1.25rem 0;border-radius:6px}
.lens-box blockquote{margin:.4rem 0;font-size:1.05rem;font-style:italic}.lens-box blockquote p{margin:0}
.lens-who{margin:.3rem 0}.lens-box .note{font-size:.85rem;opacity:.85;margin:.4rem 0 0}
.method-dl div{padding:.6rem 0;border-bottom:1px solid var(--line,#ddd)}.method-dl dt{font-weight:700}.method-dl dd{margin:.2rem 0 0}
.mw-links{display:flex;flex-wrap:wrap;gap:.4rem}
.pack-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.pack-grid.three{grid-template-columns:1fr}}
/* v6: lens panels, clip credits */
.lens-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:.4rem 0}
.lens-pan{padding:.2rem 0}.lens-pan h3,.lens-pan h4{margin:0 0 .35rem;font-size:.95rem}.lens-pan p{margin:.3rem 0}
.lens-pan.theirs{border-left:1px solid var(--line);padding-left:16px}
@media (max-width:700px){.lens-2{grid-template-columns:1fr}.lens-pan.theirs{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:12px}}
.clip-credit{color:var(--muted)}
.strip-credit{font-size:10px;line-height:1.25;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.b-draft{color:var(--then);border-color:var(--then)}
.tbc{background:var(--surface);padding:1px 4px;border-radius:4px}
.sm-table td,.sm-table th{font-size:.85rem;vertical-align:top}
.sim-setting div{padding:.45rem 0;border-bottom:1px solid var(--line)}.sim-setting dt{font-weight:700;font-size:.85rem}.sim-setting dd{margin:.15rem 0 0}.sim-setting .src{font-size:.75rem;margin:.2rem 0 0}
.sim-outs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sim-outs ul{padding-left:1.1rem}.sim-outs .src{font-size:.75rem}
@media (max-width:800px){.sim-outs{grid-template-columns:1fr}}
.sim-reveal .src{font-size:.78rem}.sim-match.yes{font-weight:700;color:var(--accent)}.sim-match.no{font-weight:700}
.sim-opt.is-real{outline:2px solid var(--accent)}.real-tag{display:inline-block;margin-top:4px;font-weight:700;color:var(--accent)}
.model-tag.sm{font-size:.62rem;padding:1px 5px;vertical-align:middle}
.sim-clips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.sim-clips img{width:100%;height:auto;display:block}.sim-clips figcaption{font-size:.75rem}
#replay{min-height:100vh}
.ph-box{border:2px dashed var(--then,#b4232c);background:color-mix(in srgb,var(--then,#b4232c) 6%,transparent);border-radius:12px;padding:1rem 1.2rem;margin:1rem 0}.ph-box-h{margin-top:0}.ph-box ul{margin-bottom:0}.badge.b-split{background:#fff4d6;color:#7a4b00;border:1px solid #d9a400}
/* ---------- v7: shared table system (every table; see tools/tables.py and app.js enhTable) ---------- */
.tbl-wrap{position:relative;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin:12px 0 24px;border-radius:4px;outline-offset:3px}
.tbl-wrap:focus-visible{outline:2px solid var(--accent)}
.tbl-wrap.tbl-more-r{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}
.tbl-wrap.tbl-more-l{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent)}
.tbl-wrap.tbl-more-l.tbl-more-r{-webkit-mask-image:linear-gradient(to right,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.tbl-wrap table,table.sim-ind,table.zt{width:100%;min-width:0;border-collapse:collapse;font-size:.92rem;line-height:1.45;font-variant-numeric:tabular-nums lining-nums;table-layout:auto}
.tbl-wrap caption,.sim-ind caption{caption-side:top;text-align:left;font-weight:600;padding:0 0 8px;line-height:1.4;text-wrap:pretty}
.tbl-wrap th,.tbl-wrap td,.sim-ind th,.sim-ind td,.zt th,.zt td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;overflow-wrap:break-word;hyphens:manual}
.tbl-wrap tr>:first-child,.sim-ind tr>:first-child{padding-left:0}
.tbl-wrap tr>:last-child,.sim-ind tr>:last-child{padding-right:0}
.tbl-wrap thead th,.sim-ind thead th,.zt thead th{vertical-align:bottom;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);line-height:1.3;border-bottom:2px solid var(--line)}
.tbl-wrap tbody th,.sim-ind tbody th{font-size:inherit;text-transform:none;letter-spacing:0;color:var(--text);font-weight:600}
.tbl-wrap .num,.sim-ind .num{text-align:right;font-variant-numeric:tabular-nums lining-nums}
.tbl-wrap td.num{white-space:nowrap}
.sim-ind th[scope=row],.sim-ind td:first-child{text-align:left}
.sim-ind td small,.sim-ind th small{display:inline-block}
/* wide numeric tables keep a readable minimum and scroll inside their wrapper */
.tbl-wrap table[data-cols="5"]{min-width:540px}.tbl-wrap table[data-cols="6"],.tbl-wrap table[data-cols="7"]{min-width:620px}
.sm-table{font-size:.86rem}
.sm-table th,.sm-table td{padding:10px 8px}
.sm-table td small,.sm-table th small{display:block;color:var(--muted);font-weight:400;margin-top:2px}
.sm-table td.yrs{white-space:nowrap}
@media (min-width:641px){.tbl-wrap table[data-kind=stack][data-cols="5"]{min-width:0}}
/* mobile: prose-heavy or very wide tables become stacked cards */
@media (max-width:640px){
  .tbl-wrap table,.sim-ind{font-size:.9rem}
  .tbl-wrap th,.tbl-wrap td,.sim-ind th,.sim-ind td{padding:9px 10px}
  .tbl-wrap table[data-kind=stack]{min-width:0}
  table[data-kind=stack] thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  table[data-kind=stack],table[data-kind=stack] tbody,table[data-kind=stack] tr,table[data-kind=stack] td,table[data-kind=stack] tbody th{display:block;width:auto}
  table[data-kind=stack] tr{border:1px solid var(--line);border-radius:10px;padding:6px 12px;margin:0 0 12px;background:var(--surface)}
  table[data-kind=stack] td,table[data-kind=stack] tbody th{border-bottom:1px solid var(--line);padding:8px 0!important;text-align:left!important;white-space:normal!important}
  table[data-kind=stack] tr>:last-child{border-bottom:0}
  table[data-kind=stack] td[data-label]::before{content:attr(data-label);display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}
  table[data-kind=stack] td.num[data-label]{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
  table[data-kind=stack] td.num[data-label]::before{margin:0}
  table[data-kind=stack] caption{display:block}
}
/* ---------- v8: visual QA pass (tap targets, headings, overflow) ---------- */
h1,h2,h3,h4,.title,caption{text-wrap:balance}
p,li,dd,figcaption,blockquote{text-wrap:pretty}
.hdr-search{width:44px;height:44px}
.mega-btn{height:44px}
.chip,a.chip,.btn,a.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center}
.chip.small,a.chip.small{min-height:44px;padding:6px 13px}
.btn.small{min-height:44px}
.mw-links,.govlinks,.filters,.prompts,.share-btns,.info-dl,.snip{gap:10px}
summary{min-height:44px;padding-top:10px;padding-bottom:10px;box-sizing:border-box;cursor:pointer}
.crumbs a{display:inline-flex;align-items:center;min-height:44px}
.fcol a,.foot-brand a{display:inline-flex;align-items:center;min-height:44px}
.fcol li{margin:0!important}
.foot-brand .brand{min-height:44px}
.charts{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:820px){.charts{grid-template-columns:minmax(0,1fr)}}
.chart-card{min-width:0}
code{overflow-wrap:anywhere}
pre{max-width:100%;overflow-x:auto}
.charts>figure,.chart-card{margin:0}
.fcol a{padding:6px 0;line-height:1.3;box-sizing:border-box}
/* larger hit areas without changing the look */
.theme-btn{position:relative}.theme-btn::after{content:"";position:absolute;inset:-9px}
.ev::after{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}
.btn.small{min-width:44px}
.toggle button{min-height:44px;padding:5px 14px}
.api-tab{min-height:44px}
input[type=range]{min-height:44px}
.crumbs{align-items:center;margin-bottom:16px}
.model-tag:not(.sm){border-radius:10px;padding:7px 12px;line-height:1.35;max-width:100%}
.f-acc>summary>h3,.f-acc>summary>h2{margin:0}.f-acc>summary{align-items:center}

/* v9: where-do-you-sit result (own position, no matching) */
.mscore{font-size:1rem;margin:4px 0 10px}.mscore b{font-size:2.4rem;letter-spacing:-.02em}.mscore .note{display:block}
.mp-all{grid-template-columns:auto 1fr auto}.mcard h4{margin:18px 0 6px}.mwhy{margin:4px 0 10px;padding-left:1.2em;font-size:.9rem}.mwhy li{margin:4px 0}
@media (max-width:560px){.mprofile .mp-row{grid-template-columns:1fr auto;row-gap:6px}.mprofile .mp-row .mp-track{grid-column:1/-1;order:3}}
.about-text{max-width:760px}

/* v10: open public review: score status rows, challenge form, review log and share cards */
.b-review{color:var(--then);border-color:var(--then);text-transform:none;letter-spacing:0}
.b-ok{color:var(--now,var(--accent));border-color:currentColor}.b-no{color:var(--muted);border-color:currentColor}
.score-review h2{margin:0 0 6px}
.sr-rows{display:grid;gap:12px;margin:16px 0 20px}
.sr-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px 18px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.sr-name b{display:block;margin-bottom:4px}.sr-val b{font-size:1.4rem}.sr-val small{display:block;color:var(--muted)}
.sr-ev{font-size:.88rem;color:var(--muted)}.sr-ev a{display:inline-block;min-height:24px}
.sr-ch{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.challenge{border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.challenge>summary{cursor:pointer;list-style:none;min-height:48px;display:flex;align-items:center;padding:0 18px;font-weight:700}
.challenge>summary::-webkit-details-marker{display:none}
.challenge>summary::before{content:"+";display:inline-block;width:1.2em;font-weight:700}.challenge[open]>summary::before{content:"\2212"}
.challenge>summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ch-form{border:0;border-radius:0 0 14px 14px;margin:0}
.ch-form input,.ch-form textarea,.ch-form select{min-height:44px;font-size:1rem}
.ch-parts{border:0;padding:0;margin:0;display:grid;gap:8px}.ch-parts legend{font-weight:600;font-size:.92rem;margin-bottom:6px;padding:0}
.ch-opt{display:flex!important;align-items:center;gap:10px;min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-weight:500!important;cursor:pointer}
.ch-opt input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--accent)}
.ch-opt:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.ch-form .req,.ch-form .opt-l{font-weight:400;color:var(--muted)}.ch-form .hint{font-weight:400;font-size:.85rem;color:var(--muted)}
.ch-form [aria-invalid="true"]{border-color:#b00020;outline:2px solid #b00020;outline-offset:1px}
.ch-err{border:1px solid #b00020;border-left-width:4px;border-radius:10px;padding:10px 14px;background:var(--bg)}.ch-err ul{margin:6px 0 0;padding-left:1.2em}
.ch-thanks{font-weight:600}
.rv-sec h2{margin-top:0}.rv-empty{padding:18px 20px;border:1px dashed var(--line);border-radius:14px;background:var(--surface)}
.rv-log{display:grid;gap:20px}.rv-entry{border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--surface);scroll-margin-top:90px}
.rv-entry h3{margin:6px 0 10px}.rv-anchor{text-decoration:none;color:var(--muted);padding:0 6px}
.rv-card{margin:12px 0}.rv-card img{width:100%;max-width:600px;height:auto;border:1px solid var(--line);border-radius:10px;display:block}
.rv-example{border:2px dashed #b00020}.rv-ex-flag{margin:0 0 8px;color:#b00020}
.sm-table td small a{white-space:nowrap}
@media (max-width:820px){.sr-row{grid-template-columns:1fr 1fr}.sr-ev{grid-column:1/-1}.sr-ch{grid-column:1/-1;width:100%}}
@media (max-width:520px){.sr-row{grid-template-columns:1fr}.score-review .badge{display:inline-block}}

/* v11: government scorecards v1 */
.sc-card h2{margin:0 0 8px}.sc-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.b-mil{color:var(--then);border-color:var(--then);text-transform:none;letter-spacing:0}
.b-interim{color:var(--text);border-color:var(--text);background:var(--surface)}
.b-short{color:var(--text);border:2px solid var(--text);text-transform:none;letter-spacing:0;font-size:.85rem}
.b-shared{text-transform:none;letter-spacing:0}.b-oil{text-transform:none;letter-spacing:0;font-size:.85rem}
.sc-mil,.sc-note,.sc-interim{border-left:4px solid var(--then);padding:8px 14px;background:var(--surface);border-radius:0 10px 10px 0;margin:10px 0}
.sc-interim{border-left-color:var(--text)}
.sc-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:16px 0}
.sc-comp,.sc-oil{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--surface);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.sc-comp .k,.sc-oil .k,.sc-flags .k{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.sc-comp .v b{font-size:2.6rem;line-height:1;letter-spacing:-.02em}.sc-comp small,.sc-oil small{color:var(--muted);font-size:.85rem}
.sc-partial{border:2px solid var(--then);border-radius:12px;padding:12px 16px;background:var(--bg);font-size:1rem;margin:12px 0}
.sc-partial b{color:var(--then)}
.sc-flags{margin:12px 0}.sc-flags ul{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px}.sc-flags li{font-size:.9rem}
.flag{display:inline-block;font-size:.76rem;font-weight:700;padding:2px 8px;border-radius:999px;border:1px dashed var(--then);color:var(--then);margin-right:6px;white-space:nowrap}
.sc-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}#sc-econ{grid-column:1/-1}
.sc-p{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--bg);display:flex;flex-direction:column;gap:6px;min-width:0;scroll-margin-top:90px}
.sc-p h3{margin:0;font-size:1.1rem}.sc-p h3 small{color:var(--muted);font-weight:500}.sc-p h4{margin:8px 0 2px;font-size:.92rem}
.sc-v{margin:0}.sc-v b{font-size:1.8rem}.sc-p p{margin:4px 0;font-size:.92rem}
.sc-sub{font-size:.85rem}.sc-sub td:last-child{text-align:right}
.sc-q,.sc-r{margin:4px 0;padding-left:1.2em;font-size:.88rem}.sc-q li,.sc-r li{margin:0 0 8px}.sc-q p{margin:2px 0}
.pts{display:inline-block;min-width:2em;text-align:center;font-weight:700;border:1px solid var(--line);border-radius:6px;margin-left:4px}
.sc-ev{font-size:.75rem;white-space:nowrap}
.sc-evl{font-size:.85rem;color:var(--muted);margin-top:auto!important}
.sc-p .sr-ch{align-self:stretch;margin-top:6px}
.sc-opp{border-left:4px solid var(--accent);padding:12px 16px;background:var(--surface);border-radius:0 12px 12px 0;margin:16px 0}.sc-opp h3{margin:0 0 6px;font-size:1.05rem}
.sc-src{margin:16px 0}.sc-src summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.sc-src ol{font-size:.85rem;padding-left:1.4em}.sc-src li{margin:0 0 6px;scroll-margin-top:90px}.sc-src li:target{background:var(--surface);outline:2px solid var(--accent)}
.sid{font-family:ui-monospace,monospace;font-size:.75rem;color:var(--muted);margin-right:4px}
.sc-short{border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:var(--surface);margin:14px 0}
.sc-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:12px 0}.sc-facts dt{font-weight:700}.sc-facts dd{margin:0}
.sc-actions{padding-left:1.2em}.sc-ctx{font-size:.88rem}
.sc-all small{display:block;color:var(--muted);font-weight:400}.sc-3of5{color:var(--then)!important;font-weight:700!important}
.sc-row-short th,.sc-row-short td{color:var(--muted)}
@media (max-width:820px){.sc-pillars{grid-template-columns:1fr}}
@media (max-width:640px){.sc-top{grid-template-columns:1fr}.sc-facts{grid-template-columns:1fr}.sc-facts dd{margin-bottom:6px}.sc-card .badge{display:inline-block}}
.sc-all .b-short{white-space:nowrap;font-size:.75rem}

/* ---------- v12: institutional home, two header menus, email sign-up, resources index ---------- */
/* header */
.hdr-nav{display:flex;gap:6px;align-items:center;margin-left:auto}
.hdr-nav + .hdr-actions{margin-left:6px}
.mega-btn{background:transparent;color:var(--text);border-color:transparent;font-weight:600}
.mega-btn:hover,.mega-btn[aria-expanded="true"]{background:var(--surface);color:var(--text)}
.mega-btn.here{box-shadow:inset 0 -2px 0 var(--accent-fill,var(--accent));border-radius:0}
.mega-btn.here:hover,.mega-btn.here[aria-expanded="true"]{border-radius:999px;box-shadow:none}
.hdr-sub{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;text-decoration:none;font-weight:600}
.mega-title{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;margin:0;color:var(--text)}
.mega-groups.mg-about{grid-template-columns:repeat(3,minmax(0,1fr))}
.mega-all{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.mega-all a{font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.mega-all a:hover{text-decoration:underline}
@media (max-width:760px){.mega-groups.mg-about{grid-template-columns:1fr}}
@media (max-width:620px){
  .bar{gap:6px}.hdr-nav{gap:0}.mega-btn{padding:0 9px;gap:4px;font-size:.92rem}.mega-btn .chev{width:12px;height:12px}
  .hdr-sub{width:44px;padding:0;justify-content:center}.hdr-sub span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .hdr-search{width:44px;height:44px}.hdr-actions{gap:4px}
}
@media (max-width:400px){.brand .brand-mark + *,.brand{font-size:.98rem}.mega-btn{padding:0 7px}}
/* home */
.lp-hero{padding:clamp(56px,8vw,104px) 0 clamp(40px,5vw,64px)}
.lp-hero h1{font-family:var(--font-heading);font-size:clamp(2.3rem,5.2vw,4rem);line-height:1.05;letter-spacing:-.015em;max-width:20ch;margin:0 0 20px;text-wrap:balance}
.lp-intro{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--muted);max-width:66ch;margin:0 0 28px}
.lp-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.btn.btn-lg{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 24px;font-size:1rem;font-weight:600;text-decoration:none}
section.block.lp-ww,section.block.lp-show,section.block.lp-trust,section.block.lp-sub{padding:clamp(40px,5vw,64px) 0}
.lp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,4fr);gap:24px;align-items:start}
.lp-row + .lp-row{margin-top:28px}
.lp-ww h2,.lp-show h2,.lp-trust h2,.lp-sub h2,.pc-topics h2{font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.15;margin:0 0 16px}
.lp-row h2{margin:8px 0 0}
.lp-items{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lp-items.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lp-items.n4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lp-items li{background:var(--surface);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;font-size:.93rem;line-height:1.45;color:var(--muted)}
.lp-items b{color:var(--text);font-size:1rem}
.lp-items.n3 li{border-top:3px solid var(--accent-fill,var(--accent));border-radius:0 0 14px 14px}
@media (max-width:1000px){.lp-row{grid-template-columns:1fr;gap:4px}.lp-row h2{margin:0 0 12px}.lp-items.n4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.lp-items.n3,.lp-items.n4{grid-template-columns:1fr}.lp-items li{padding:12px 14px}}
/* slideshow */
.cs{position:relative;outline:none}
.cs-track{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:88%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory}
.cs-js .cs-track{display:block;overflow:visible}
.cs-slide{scroll-snap-align:start}
.cs-slide[hidden]{display:none}
.cs-js .cs-slide.on{animation:csIn .45s ease}
@keyframes csIn{from{opacity:.25}to{opacity:1}}
@media (prefers-reduced-motion: reduce){.cs-js .cs-slide.on{animation:none}}
.cs-link{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--text);background:var(--bg)}
.cs-link:hover .cs-go{text-decoration:underline}
.cs-link:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.cs-img{display:block;background:var(--surface);aspect-ratio:16/9;overflow:hidden}
.cs-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}
.cs-cap{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:clamp(18px,3vw,36px)}
.cs-k{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.cs-cap b{font-family:var(--font-heading);font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.2}
.cs-go{font-weight:600;color:var(--accent)}
.cs-ctrl{display:none;align-items:center;justify-content:center;gap:8px;margin-top:14px}
.cs-js .cs-ctrl{display:flex}
.cs-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--text);display:grid;place-items:center;cursor:pointer}
.cs-btn:hover{border-color:var(--text)}
.cs-play{margin-right:8px}
.cs-play .i-play{display:none}.cs-play.paused .i-play{display:block}.cs-play.paused .i-pause{display:none}
.cs-dots{display:flex;gap:0}
.cs-dot{width:44px;height:44px;border:0;background:none;cursor:pointer;display:grid;place-items:center;padding:0}
.cs-dot::before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid var(--muted);box-sizing:border-box;transition:background .2s,transform .2s}
.cs-dot[aria-current="true"]::before{background:var(--accent-fill,var(--accent));border-color:var(--accent-fill,var(--accent));transform:scale(1.2)}
@media (max-width:760px){.cs-link{grid-template-columns:1fr}.cs-cap{padding:16px 18px 20px}.cs-dot{width:36px}}
/* trust */
.lp-trust-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:24px;align-items:start}
.lp-trust-in p{margin:0 0 10px;max-width:72ch}
.lp-tlinks a{font-weight:600}
@media (max-width:760px){.lp-trust-in{grid-template-columns:1fr;gap:4px}}
/* sign-up */
.lp-sub{background:var(--surface)}
.block + .lp-sub{border-top:0}
.lp-sub:focus{outline:none}
.lp-sub-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(24px,4vw,56px);align-items:start}
.lp-sub-in p{margin:0;color:var(--muted)}
@media (max-width:860px){.lp-sub-in{grid-template-columns:1fr}}
.nl2{display:grid;grid-template-columns:1fr 1fr auto;gap:10px 12px;align-items:end}
.nl2 label{display:grid;gap:4px;font-weight:600;font-size:.88rem;color:var(--text)}
.nl2 .opt-l{font-weight:400;color:var(--muted)}
.nl2 input{font:inherit;font-weight:400;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:46px;box-sizing:border-box;width:100%}
.nl2 input:focus{outline:2px solid var(--focus);outline-offset:1px}
.nl2 .btn{min-height:46px}
.nl-consent,.nl2 .nl-thanks{grid-column:1/-1;margin:0;font-size:.82rem;color:var(--muted);line-height:1.45}
.nl-consent a{color:var(--accent)}
.nl2 .nl-thanks{color:var(--accent);font-weight:600;font-size:.9rem}
@media (max-width:620px){.nl2-full{grid-template-columns:1fr}}
.nl2-mini{grid-template-columns:1fr auto}
.nl2-mini .nl-f:first-of-type{grid-column:1/-1}
.foot-sub{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.foot-sub h2{font-family:var(--font);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--text);margin:0 0 10px}
.foot-sub .nl2 label{font-size:.8rem}
.foot-sub .nl-consent a{display:inline;min-height:0}
/* footer columns: Resources | About us | Follow */
.foot-cols{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
.fcol-resources ul{columns:2;column-gap:24px}
.fcol-resources li{break-inside:avoid}
@media (max-width:820px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.fcol-resources{grid-column:1/-1}}
@media (max-width:420px){.fcol-resources ul{columns:1}.foot-cols{grid-template-columns:1fr}}
/* resources index */
.ri-toc{display:flex;flex-wrap:wrap;gap:8px}
.ri-toc .chip{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
section.block.ri{padding-top:24px}
.ri-group{margin:0 0 44px;scroll-margin-top:90px}
.ri-group h2{font-size:clamp(1.3rem,2vw,1.6rem);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.ri-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.ri-card{position:relative;display:flex;flex-direction:column;gap:4px;height:100%;box-sizing:border-box;padding:18px 44px 18px 18px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--muted);background:var(--bg);font-size:.93rem;line-height:1.45;transition:border-color .15s,background .15s}
.ri-card b{color:var(--text);font-size:1.05rem;font-family:var(--font-heading)}
.ri-card .go{position:absolute;right:16px;top:18px;color:var(--accent)}
.ri-card:hover{border-color:var(--accent-fill,var(--accent));background:var(--surface)}

/* sign-up labels, mini form, header on small screens */
.nl2 label > span:first-child{display:block}
.nl2-mini{grid-template-columns:minmax(0,1fr) auto}
.nl2-mini .nl-f:first-of-type{grid-column:auto}
@media (max-width:420px){.hdr-search{display:none}}
/* podcast */
.pc-show{font-family:var(--font-heading);font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:700;color:var(--accent);margin:0 0 10px}
.pc-listen{margin:0 0 26px}
.pc-lh{font-family:var(--font);font-size:.78rem!important;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px!important;font-weight:700}
.pc-plat{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pl-soon{cursor:not-allowed;color:var(--muted);background:var(--surface);border:1px dashed var(--muted);opacity:.85}
.pl-tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid currentColor;border-radius:999px;padding:1px 7px}
.pc-listen .meta{margin:0}
.pc-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.pc-list li{background:var(--surface);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}
.pc-list b{font-family:var(--font-heading);font-size:1.08rem;line-height:1.3;color:var(--text)}
.pc-n{font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:.06em}
.pc-n::before{content:"Topic "}
.pc-more{margin-top:auto;font-weight:600;font-size:.9rem;color:var(--accent);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.pc-more:hover{text-decoration:underline}
section.block.pc-topics{padding:clamp(40px,5vw,64px) 0}
/* v12 compact spacing: home fits in about three screens on desktop */
.lp-hero{padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,44px)}
.lp-hero h1{margin-bottom:16px}
.lp-intro{margin-bottom:22px}
body main section.block.lp-ww,body main section.block.lp-show,body main section.block.lp-trust,body main section.block.lp-sub,body main section.block.pc-topics{padding:clamp(32px,4vw,48px) 0}
.lp-hero + .lp-ww{border-top:1px solid var(--line)}
.lp-row + .lp-row{margin-top:20px}
@media (min-width:761px){.cs-link{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}}
.cs-ctrl{margin-top:8px}
.lp-show h2{margin-bottom:12px}
.mega-btn{white-space:nowrap}
@media (max-width:420px){.bar{gap:4px}.mega-btn{padding:0 6px;font-size:.88rem;gap:3px}.brand{gap:7px}}
@media (max-width:350px){.brand{font-size:0;gap:0}.brand .brand-mark{font-size:.9rem}}
.cs-btn{flex:none}
@media (max-width:760px){.cs-ctrl{gap:4px}.cs-play{margin-right:4px}.cs-dot{width:32px}}

/* ---------- v13: MPC members on the economist spectrum ---------- */
.sp-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0 0 28px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;font-size:.86rem;color:var(--muted);line-height:1.5}
.sp-legend p{margin:0}
.sp-legend .prov,.sp-legend .pm-tag{margin-right:6px}
@media (max-width:760px){.sp-legend{grid-template-columns:1fr}}
.prov{color:var(--text);border-color:var(--muted);border-style:dashed;white-space:nowrap}
.pm-tag{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);border:1px solid currentColor;border-radius:999px;padding:1px 7px;vertical-align:2px;white-space:nowrap;line-height:1.5}
.person h4{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.person h4 .prov,.person h4 .pm-tag{vertical-align:0}
.person.is-pm{border-left:3px solid var(--accent-fill,var(--accent))}
.caveat-box{font-size:.82rem;line-height:1.45;background:var(--bg);border:1px dashed var(--muted);border-radius:10px;padding:8px 10px;margin:0 0 10px}
.band-n{font-size:.78rem!important;font-weight:600;color:var(--text)!important}
.dp{display:block;padding:3px 0;border-bottom:1px dotted var(--line);overflow-wrap:anywhere}
.dp:last-child{border-bottom:0}
.dp-n{color:var(--text);text-decoration:none;font-weight:500}
.dp-n:hover{text-decoration:underline}
.dp-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}
.dp-tags .prov,.dp-tags .pm-tag,.cav-tag{font-size:.6rem;padding:0 6px;vertical-align:0}
.cav-tag{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text);border:1px dashed var(--text);border-radius:999px;text-decoration:none;white-space:nowrap;line-height:1.5}
@media (max-width:560px){.dim-cols{grid-template-columns:1fr}.dc{border-left:2px solid var(--line);padding-left:10px}.dc .dl{border:0;padding-left:0}}
.dp{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px}
.dp-n{flex:1 1 0;min-width:0}
.dp .dsrc{flex:none;margin-left:0}
.dp-tags{flex-basis:100%}
/* spectrum map: band axis on top, then one row of cards per band */
.sp-axis{margin-bottom:8px}
.sp-axis .band-h{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--text);margin-bottom:0;border-radius:10px}
.sp-axis .band-h b{font-family:var(--font-heading);font-size:1rem}
.sp-axis .band-d{font-size:.84rem;color:var(--muted);line-height:1.45}
.sp-axis .band-n{font-size:.78rem;font-weight:600;color:var(--accent);margin-top:4px}
.sp-axis .band-h:hover b{text-decoration:underline}
.band-row{margin-top:36px;scroll-margin-top:90px}
.band-row-h{font-size:1.2rem;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.band-row-h span{font-family:var(--font);font-size:.8rem;font-weight:600;color:var(--muted);margin-left:6px}
.band-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;align-items:start}
.band-grid .person{margin:0}
.p-more{margin-top:4px}
.p-more>summary{cursor:pointer;font-size:.8rem;font-weight:600;color:var(--accent);min-height:32px;display:flex;align-items:center}
.p-more[open]>summary{margin-bottom:4px}
@media (max-width:900px){.sp-axis{gap:8px}.sp-axis .band-h{padding-left:26px}.sp-axis .band-d{display:none}}
@media (max-width:900px) and (min-width:561px){.sp-axis{grid-template-columns:1fr 1fr}}

/* ---------- v14: federal budget process guide ---------- */
.bp-toc{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.bp-toc .chip{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
.bp-flow{list-style:none;margin:28px 0 8px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:bp}
.bp-step{margin:0;min-width:0}
.bp-step a{display:flex;flex-direction:column;gap:6px;height:100%;box-sizing:border-box;padding:14px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-decoration:none;color:var(--muted);font-size:.82rem;line-height:1.4;transition:border-color .15s,background .15s}
.bp-step a:hover,.bp-step a:focus-visible{border-color:var(--accent-fill,var(--accent));background:var(--bg);color:var(--text)}
.bp-step a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.bp-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent-fill,var(--accent));color:var(--on-fill,var(--on-accent));font-size:.78rem;font-weight:700}
.bp-step b{font-family:var(--font-heading);font-size:.95rem;color:var(--text);line-height:1.25}

.bp-flow-note{margin:0}
.bp-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bp-list li{background:var(--surface);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.95rem;line-height:1.45}
.bp-list b{color:var(--text);font-size:1.02rem}
.bp-gloss{margin-top:8px}
@media (max-width:640px){.bp-flow{grid-template-columns:1fr}.bp-d{-webkit-line-clamp:unset;display:block}}
/* step order cue: arrow between cards on wider screens */
@media (min-width:641px){
  .bp-step:not(:nth-child(3n)) a{position:relative}
  .bp-step:not(:nth-child(3n)) a::after{content:"→";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--accent);font-weight:700;font-size:1rem;pointer-events:none}
}

/* ---------- v14b: Research-backed budget process page ---------- */
.bp-teach{margin:22px 0 0;padding:16px 18px;border-left:4px solid var(--accent-fill,var(--accent));background:var(--surface);border-radius:0 14px 14px 0}
.bp-teach-k{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 6px}
.bp-teach p{margin:0 0 8px;max-width:70ch}.bp-teach p:last-child{margin:0}
.bp-short blockquote{margin:0;padding:18px 20px;background:var(--surface);border-radius:14px;border:1px solid var(--line);font-size:1.02rem;line-height:1.55}
.bp-tbc-box{padding:20px 22px;border:2px dashed var(--muted);border-radius:16px;background:var(--surface)}
.bp-tbc-k{margin:0 0 8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bp-tbc-k b{font-family:var(--font-heading);font-size:1.35rem}
.bp-tbc-list{margin:12px 0 0;padding-left:1.3em;display:grid;gap:8px;max-width:78ch}
.bp-tbc-list li{line-height:1.45}
.bp-flow-12{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.bp-flow-12{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.bp-flow-12{grid-template-columns:1fr}}
@media (min-width:641px){
  .bp-flow-12 .bp-step:not(:nth-child(4n)) a::after{content:"→";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--accent);font-weight:700}
  .bp-flow-12 .bp-step:nth-child(4n) a::after,.bp-flow-12 .bp-step:last-child a::after{content:none}
}
.bp-cite{font-size:.78rem;font-weight:600;color:var(--accent);text-decoration:none;margin-left:2px}
.bp-cite:hover{text-decoration:underline}
.bp-cites{white-space:nowrap}
.bp-fail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.bp-fail{background:var(--surface);border-radius:14px;padding:16px;border-left:3px solid var(--accent-fill,var(--accent))}
.bp-fail h3{margin:0 0 8px;font-size:1.05rem;text-transform:capitalize}
.bp-fail p{margin:0 0 8px;font-size:.93rem;line-height:1.45;color:var(--muted)}
.bp-fail p:last-child{margin:0}
.bp-sources{padding-left:0;list-style:none;display:grid;gap:10px}
.bp-sources li{padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-size:.9rem;line-height:1.45;scroll-margin-top:90px}
.bp-sources .ph-tag{margin-left:6px}
.bp-prose h2{scroll-margin-top:90px}
.bp-prose h3{font-size:1.15rem;margin:28px 0 8px}
.bp-prose table{font-size:.9rem}
.bp-body .bp-prose > h2:first-child{margin-top:0}

.bp-actors{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.bp-flow{padding-right:4px}
.bp-flow-12{padding-inline:0 12px}
@media (min-width:641px){
  .bp-flow-12 .bp-step:not(:nth-child(4n)) a{margin-right:8px}
  .bp-flow-12 .bp-step:not(:nth-child(4n)) a::after{right:-14px}
}
.bp-prose .tbl-wrap, .bp-cycle + .block .tbl-wrap, #cycle-table .tbl-wrap{max-width:100%}
/* budget page: keep cycle and tables inside the viewport */
.bp-flow{overflow:hidden;padding-right:12px;box-sizing:border-box}
body[data-page="budget"] .tbl-wrap{max-width:100%}
@media (max-width:640px){
  body[data-page="budget"] .tbl-wrap table{min-width:0}
  body[data-page="budget"] .bp-flow{overflow:visible;padding-right:0}
}
body[data-page="budget"] .bp-sources a, body[data-page="budget"] .bp-sources li{overflow-wrap:anywhere;word-break:break-word}
body[data-page="budget"] .wrap, body[data-page="budget"] .wrap.narrow{max-width:100%;box-sizing:border-box}
body[data-page="budget"] .tbl-wrap{display:block;width:100%;max-width:100%;overflow-x:auto}
body[data-page="budget"]{overflow-x:hidden}
body[data-page="budget"] .tbl-wrap table[data-kind=stack],
body[data-page="budget"] .tbl-wrap table[data-kind=scroll]{min-width:0}
@media (max-width:640px){
  body[data-page="budget"] .tbl-wrap table[data-kind=scroll] thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  body[data-page="budget"] .tbl-wrap table[data-kind=scroll],
  body[data-page="budget"] .tbl-wrap table[data-kind=scroll] tbody,
  body[data-page="budget"] .tbl-wrap table[data-kind=scroll] tr,
  body[data-page="budget"] .tbl-wrap table[data-kind=scroll] td,
  body[data-page="budget"] .tbl-wrap table[data-kind=scroll] tbody th{display:block;width:auto}
}
body[data-page="budget"] .bp-flow .bp-step a::after{display:none!important}
body[data-page="budget"] .site-header, body[data-page="budget"] .wrap, body[data-page="budget"] main{max-width:100vw;overflow-x:clip}
html{overflow-x:hidden}

/* ---------- Official logo (standalone lockup in header/footer; compact mark on small screens) ---------- */
html{color-scheme:var(--scheme,light)}
.brand-lockup{display:flex;align-items:center;line-height:0}
.brand-logo,.brand-mark-img{display:none;height:56px;width:auto;max-width:min(160px,42vw);object-fit:contain}
.brand-mark-img{height:40px;max-width:72px}
html:not([data-scheme="dark"]) .brand-logo.logo-on-light,
html[data-scheme="dark"] .brand-logo.logo-on-dark{display:block}
.site-header:has(.brand-logo) .bar{height:76px}
.brand:has(.brand-lockup){gap:0;flex:none}
/* Compact mark on small screens so the header does not overflow */
@media (max-width:640px){
  html:not([data-scheme="dark"]) .site-header .brand-logo.logo-on-light,
  html[data-scheme="dark"] .site-header .brand-logo.logo-on-dark{display:none}
  html:not([data-scheme="dark"]) .site-header .brand-mark-img.logo-on-light,
  html[data-scheme="dark"] .site-header .brand-mark-img.logo-on-dark{display:block}
  .site-header:has(.brand-logo) .bar{height:64px}
}
/* Footer always uses the standalone lockup, a little larger so GP LAB stays readable */
.foot-logo .brand-mark-img{display:none!important}
.foot-logo .brand-logo{height:clamp(72px,20vw,104px);max-width:min(280px,80vw)}
html:not([data-scheme="dark"]) .foot-logo .brand-logo.logo-on-light,
html[data-scheme="dark"] .foot-logo .brand-logo.logo-on-dark{display:block!important}
html:not([data-scheme="dark"]) .foot-logo .brand-logo.logo-on-dark,
html[data-scheme="dark"] .foot-logo .brand-logo.logo-on-light{display:none!important}
/* Podcast page: full lockup with WITH IK & TOMI, only here */
.pc-logo{margin:0 auto 18px;display:flex;justify-content:center}
.pc-logo-img{display:none;width:min(380px,88vw);height:auto;margin:0 auto}
html:not([data-scheme="dark"]) .pc-logo-img.logo-on-light,
html[data-scheme="dark"] .pc-logo-img.logo-on-dark{display:block}
.pc-hero{text-align:center}

/* v16: approved positioning copy on home, about, podcast */
.lp-line{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--text);max-width:66ch;margin:-6px 0 18px;font-weight:500;line-height:1.45}
.lp-teaser{max-width:66ch;margin:0 0 22px;padding:14px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:1.02rem;line-height:1.55}
.lp-teaser a{font-weight:600;color:var(--accent);text-decoration:none}
.lp-teaser a:hover{text-decoration:underline}
.lp-context{max-width:66ch;color:var(--muted);margin:0 0 12px;font-size:1rem;line-height:1.55}
.pc-hero .lp-intro{margin-bottom:14px}
.pc-hero .lp-context:last-of-type{margin-bottom:22px}
#about > .wrap > h1{font-family:var(--font-heading);font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.08;letter-spacing:-.015em;max-width:24ch;margin:0 0 16px;text-wrap:balance}
#about .lp-intro,#about .lp-line,#about .lp-teaser{margin-bottom:16px}
#about .lp-line{margin-top:0}
#about .about-text{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.lp-hero h1{max-width:24ch}

/* ---------- v21: home two-column map landing (scoped to body[data-home]) ---------- */
body[data-home]{
  --hm-navy:#192947;
  --hm-gold:#AB8748;
  --hm-gold-text:#7A6033;
  --hm-cream:#F9F6EB;
}
body[data-home] .site-header{
  background:var(--hm-navy);
  border-bottom:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body[data-home] .site-header.scrolled{
  background:var(--hm-navy);
  border-bottom:0;
}
body[data-home] .mega-btn,
body[data-home] .hdr-search{color:var(--hm-cream)}
body[data-home] .mega-btn:hover,
body[data-home] .mega-btn[aria-expanded="true"]{
  background:color-mix(in srgb,var(--hm-cream) 12%,transparent);
  color:var(--hm-cream);
}
/* Search is a circular button whose default fill is --bg (white). On the navy
   header that hid the cream icon and left a blank white disc; use a transparent
   fill and a cream icon instead. */
body[data-home] .hdr-search{
  background:transparent;
  border-color:color-mix(in srgb,var(--hm-cream) 50%,transparent);
  color:var(--hm-cream);
}
body[data-home] .hdr-search:hover{
  background:color-mix(in srgb,var(--hm-cream) 12%,transparent);
  border-color:var(--hm-cream);
}
body[data-home] .hdr-sub.btn.primary{
  background:transparent;
  color:var(--hm-cream);
  border:1px solid color-mix(in srgb,var(--hm-cream) 55%,transparent);
}
body[data-home] .hdr-sub.btn.primary:hover{
  background:color-mix(in srgb,var(--hm-cream) 12%,transparent);
  color:var(--hm-cream);
}
/* Force the reverse (cream) lockup on the navy home header, regardless of theme scheme */
body[data-home] .site-header .brand-logo,
body[data-home] .site-header .brand-mark-img{display:none!important}
body[data-home] .site-header .brand-logo.logo-on-dark{display:block!important}
@media (max-width:640px){
  body[data-home] .site-header .brand-logo.logo-on-dark{display:none!important}
  body[data-home] .site-header .brand-mark-img.logo-on-dark{display:block!important}
}

.hm-hero{
  background:var(--hm-navy);
  color:var(--hm-cream);
  min-height:calc(100svh - 76px);
  display:flex;
  align-items:center;
  padding:20px 0 32px;
  box-sizing:border-box;
}
.hm-grid{
  display:flex;
  flex-direction:column;
  gap:20px;
  width:100%;
}
.hm-copy{order:2;max-width:40rem}
.hm-map{order:1;width:100%;aspect-ratio:4/3;min-height:0;position:relative;overflow:hidden}
.hm-svg{display:block;position:absolute;inset:0;width:100%;height:100%}
.hm-hero h1{
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(2.125rem,1.3rem + 3.8vw,3.35rem);
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--hm-cream);
  margin:0 0 16px;
  text-wrap:balance;
  max-width:16em;
}
.hm-standfirst{
  margin:0 0 26px;
  font-size:1.05rem;
  line-height:1.5;
  color:color-mix(in srgb,var(--hm-cream) 86%,transparent);
  max-width:40ch;
}
.hm-cta{margin:0 0 18px}
.hm-cta .btn.primary{
  background:var(--hm-cream);
  color:var(--hm-navy);
  border-color:var(--hm-cream);
}
.hm-cta .btn.primary:hover{background:#fff;color:var(--hm-navy)}
.hm-about{margin:0;border-top:1px solid color-mix(in srgb,var(--hm-cream) 28%,transparent);padding-top:4px}
.hm-about summary{
  list-style:none;
  cursor:pointer;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.92rem;
  font-weight:600;
  color:color-mix(in srgb,var(--hm-cream) 90%, #C3A46F);
  padding:6px 0;
  user-select:none;
}
.hm-about summary::-webkit-details-marker{display:none}
.hm-about summary::after{
  content:"";
  width:7px;height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  margin-top:-3px;
  transition:transform .2s ease;
}
.hm-about[open] summary::after{transform:rotate(225deg);margin-top:3px}
.hm-about-body{padding:4px 0 16px;max-width:42ch}
.hm-about-body p{margin:0 0 12px;font-size:1rem;line-height:1.55;color:color-mix(in srgb,var(--hm-cream) 86%,transparent)}
.hm-about-body p:last-child{margin-bottom:0}

@media (max-width:899px){
  .hm-hero{
    min-height:0;
    align-items:flex-start;
    padding:16px 0 28px;
  }
  body[data-home] .site-header:has(.brand-logo) + /* no-op, header is 64px below 640 */ .hm-hero{ }
}
@media (max-width:640px){
  .hm-hero{padding-top:12px}
}

/* 900px+: two-column hero, type left (~45–50%), large map right filling the column */
@media (min-width:900px){
  .hm-grid{
    display:grid;
    grid-template-columns:minmax(0,0.46fr) minmax(0,0.54fr);
    column-gap:clamp(28px,3.6vw,56px);
    row-gap:0;
    align-items:center;
    min-height:calc(100svh - 116px);
  }
  .hm-copy{order:0;max-width:none;padding-right:4px}
  .hm-map{
    order:0;
    aspect-ratio:auto;
    height:calc(100svh - 120px);
    max-height:none;
    min-height:480px;
  }
  .hm-standfirst{font-size:1.12rem}
}
@media (min-width:1400px){
  body[data-home] .wrap{max-width:1280px}
  .hm-grid{
    grid-template-columns:minmax(0,0.45fr) minmax(0,0.55fr);
    column-gap:56px;
  }
}

/* After-band: email + podcast strip */
.hm-after{background:var(--hm-cream,#F9F6EB);color:var(--text,#192947);padding:18px 0 20px}
.hm-after-in{display:grid;gap:20px}
@media (min-width:760px){
  .hm-after-in{grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
}
.hm-after .nl2-mini{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  align-items:end;
  max-width:28rem;
}
.hm-after .nl2-mini .nl-consent,
.hm-after .nl2-mini .nl-thanks{grid-column:1/-1}
.hm-after .nl2 input,
.hm-after .nl2 .btn{min-height:48px;max-width:100%}
.hm-after .nl-consent{font-size:.75rem;line-height:1.4}
@media (max-width:520px){
  .hm-after .nl2-mini{grid-template-columns:1fr}
}
.hm-pod{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
  color:inherit;
  min-height:56px;
}
.hm-pod-logo{flex:none;display:block}
.hm-pod-logo img{display:none;height:64px;width:auto;max-width:120px}
.hm-pod-logo .logo-on-light{display:block}
.hm-pod-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:44px}
.hm-pod-soon{
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--hm-gold-text);
}
.hm-pod-go{font-weight:600;font-size:.95rem;color:var(--text,#192947)}
.hm-pod:hover .hm-pod-go{text-decoration:underline;text-underline-offset:3px}

/* Map typography and motion */
.hm-label{
  font-family:var(--font-body), "Public Sans", sans-serif;
  font-size:26px;
  font-weight:600;
  font-variant:all-small-caps;
  letter-spacing:.18em;
  text-transform:uppercase;
  fill:var(--hm-gold);
  fill-opacity:.94;
  opacity:0;
  animation:hmFade .55s ease calc(1.05s + var(--i) * .2s) forwards;
}
.hm-abuja-label{
  font-size:22px;
  letter-spacing:.16em;
  fill:var(--hm-cream);
  fill-opacity:.92;
  opacity:0;
  animation:hmFade .55s ease 1.15s forwards;
}
.hm-arc,
.hm-arc-soft{
  stroke-dasharray:var(--alen);
  stroke-dashoffset:var(--alen);
  animation:hmDraw 1.7s cubic-bezier(.22,.7,.2,1) calc(.22s + var(--i) * .22s) forwards;
}
.hm-arc-soft{opacity:.18}
.hm-city{
  opacity:0;
  animation:hmFade .5s ease calc(1s + var(--i) * .22s) forwards;
}
.hm-glow,
.hm-glow-ring{
  transform-box:fill-box;
  transform-origin:center;
  animation:hmGlow 4.6s ease-in-out 1.3s infinite;
}
.hm-glow-ring{animation-name:hmGlowRing}
@keyframes hmFade{to{opacity:1}}
@keyframes hmDraw{to{stroke-dashoffset:0}}
@keyframes hmGlow{
  0%,100%{opacity:.85;transform:scale(1)}
  50%{opacity:1;transform:scale(1.1)}
}
@keyframes hmGlowRing{
  0%,100%{opacity:.65;transform:scale(1)}
  50%{opacity:1;transform:scale(1.28)}
}
@media (prefers-reduced-motion:reduce){
  .hm-arc,
  .hm-arc-soft,
  .hm-city,
  .hm-label,
  .hm-abuja-label,
  .hm-glow,
  .hm-glow-ring,
  .hm-about summary::after{animation:none !important;transition:none}
  .hm-arc,
  .hm-arc-soft{stroke-dashoffset:0}
  .hm-city,
  .hm-label,
  .hm-abuja-label{opacity:1}
  .hm-glow,
  .hm-glow-ring{opacity:.9;transform:none}
}

/* ---------- v24: podcast landing, editorial sibling of the home hero (scoped to body[data-page="podcast"]) ---------- */
body[data-page="podcast"]{
  --pc-navy:#192947;
  --pc-gold:#AB8748;
  --pc-gold-text:#7A6033;
  --pc-cream:#F9F6EB;
  --pc-ink:#192947;
  background:var(--pc-cream);
  color:var(--pc-ink);
}

/* Navy header, same treatment as the home page, so the hero reads as one field */
body[data-page="podcast"] .site-header{
  background:var(--pc-navy);
  border-bottom:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body[data-page="podcast"] .site-header.scrolled{
  background:var(--pc-navy);
  border-bottom:0;
}
body[data-page="podcast"] .mega-btn,
body[data-page="podcast"] .hdr-search{color:var(--pc-cream)}
body[data-page="podcast"] .mega-btn:hover,
body[data-page="podcast"] .mega-btn[aria-expanded="true"]{
  background:color-mix(in srgb,var(--pc-cream) 12%,transparent);
  color:var(--pc-cream);
}
body[data-page="podcast"] .hdr-search{
  background:transparent;
  border-color:color-mix(in srgb,var(--pc-cream) 50%,transparent);
  color:var(--pc-cream);
}
body[data-page="podcast"] .hdr-search:hover{
  background:color-mix(in srgb,var(--pc-cream) 12%,transparent);
  border-color:var(--pc-cream);
}
body[data-page="podcast"] .hdr-sub.btn.primary{
  background:transparent;
  color:var(--pc-cream);
  border:1px solid color-mix(in srgb,var(--pc-cream) 55%,transparent);
}
body[data-page="podcast"] .hdr-sub.btn.primary:hover{
  background:color-mix(in srgb,var(--pc-cream) 12%,transparent);
  color:var(--pc-cream);
}
body[data-page="podcast"] .site-header .brand-logo,
body[data-page="podcast"] .site-header .brand-mark-img{display:none!important}
body[data-page="podcast"] .site-header .brand-logo.logo-on-dark{display:block!important}
@media (max-width:640px){
  body[data-page="podcast"] .site-header .brand-logo.logo-on-dark{display:none!important}
  body[data-page="podcast"] .site-header .brand-mark-img.logo-on-dark{display:block!important}
}

/* Hero: two columns, same grid as home. Cover art on the right, not a mic. */
body[data-page="podcast"] .pc-hero{
  position:relative;
  background:var(--pc-navy);
  color:var(--pc-cream);
  text-align:left;
  min-height:calc(100svh - 76px);
  display:flex;
  align-items:center;
  padding:28px 0 40px;
  box-sizing:border-box;
  overflow:hidden;
}
/* Fine grain, locked to the navy field; no illustration */
body[data-page="podcast"] .pc-hero::before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  opacity:.28;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size:180px 180px;
}
body[data-page="podcast"] .pc-grid{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:36px;
  width:100%;
}
body[data-page="podcast"] .pc-copy{order:2;max-width:40rem}
body[data-page="podcast"] .pc-art{order:1;width:100%;display:flex;justify-content:center;align-items:center}
body[data-page="podcast"] .pc-eyebrow{
  margin:0 0 14px;
  font-family:var(--font);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--pc-gold);
}
body[data-page="podcast"] .pc-hero h1{
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(2.125rem,1.3rem + 3.8vw,3.35rem);
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--pc-cream);
  margin:0 0 18px;
  text-wrap:balance;
  max-width:16em;
  text-align:left;
}
body[data-page="podcast"] .pc-standfirst{
  margin:0 0 28px;
  font-size:1.05rem;
  line-height:1.55;
  color:color-mix(in srgb,var(--pc-cream) 86%,transparent);
  max-width:42ch;
}
body[data-page="podcast"] .pc-cta{margin:0 0 16px}
body[data-page="podcast"] .pc-hero .btn.primary{
  background:var(--pc-cream);
  color:var(--pc-navy);
  border-color:var(--pc-cream);
}
body[data-page="podcast"] .pc-hero .btn.primary:hover{background:#fff;color:var(--pc-navy)}
body[data-page="podcast"] .pc-platforms{
  margin:0;
  font-size:.82rem;
  line-height:1.45;
  letter-spacing:.01em;
  color:color-mix(in srgb,var(--pc-cream) 62%,transparent);
}

/* Square cover: cream field, official lockup, fine gold rule, soft depth */
body[data-page="podcast"] .pc-cover{
  margin:0;
  width:min(100%,340px);
  position:relative;
  transform:rotate(-1.4deg);
  filter:drop-shadow(0 22px 44px rgba(8,14,28,.38)) drop-shadow(0 2px 6px rgba(8,14,28,.2));
}
body[data-page="podcast"] .pc-cover-face{
  position:relative;
  aspect-ratio:1;
  background:var(--pc-cream);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:11% 11% 12%;
  box-sizing:border-box;
  box-shadow:
    inset 0 0 0 1px var(--pc-gold),
    inset 0 0 0 8px var(--pc-cream),
    inset 0 0 0 9px var(--pc-gold);
}
body[data-page="podcast"] .pc-cover-tx{
  position:absolute;inset:0;
  width:100%;height:100%;
  pointer-events:none;
  z-index:0;
}
body[data-page="podcast"] .pc-cover-logo,
body[data-page="podcast"] .pc-cover-wordmark{
  position:relative;
  z-index:1;
  display:block;
  width:78%;
  max-width:320px;
  height:auto;
  margin:0 auto;
}
body[data-page="podcast"] .pc-cover-wordmark{
  margin:0;
  text-align:center;
  font-family:var(--font-heading);
  font-size:1.4rem;
  color:var(--pc-navy);
}
body[data-page="podcast"] .pc-cover-soon{
  position:relative;
  z-index:1;
  margin:18px 0 0;
  font-family:var(--font);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--pc-gold-text);
}
/* Cover grain */
body[data-page="podcast"] .pc-cover-face::after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  z-index:2;
  opacity:.18;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");
  background-size:160px 160px;
}

@media (min-width:900px){
  body[data-page="podcast"] .pc-grid{
    display:grid;
    grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);
    column-gap:clamp(28px,3.6vw,56px);
    row-gap:0;
    align-items:center;
    min-height:calc(100svh - 116px);
  }
  body[data-page="podcast"] .pc-copy{order:0;max-width:none;padding-right:8px}
  body[data-page="podcast"] .pc-art{order:0;justify-content:flex-end}
  body[data-page="podcast"] .pc-cover{width:min(100%,520px)}
  body[data-page="podcast"] .pc-standfirst{font-size:1.12rem}
}
@media (min-width:1400px){
  body[data-page="podcast"] .wrap{max-width:1280px}
  body[data-page="podcast"] .pc-grid{
    grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);
    column-gap:56px;
  }
}
@media (max-width:899px){
  body[data-page="podcast"] .pc-hero{
    min-height:0;
    align-items:flex-start;
    padding:20px 0 36px;
  }
  body[data-page="podcast"] .pc-cover{width:min(78vw,320px)}
  body[data-page="podcast"] .pc-hero h1{max-width:none}
}
@media (max-width:640px){
  body[data-page="podcast"] .pc-hero{padding-top:16px}
  body[data-page="podcast"] .pc-band-img{min-height:400px}
  body[data-page="podcast"] .pc-band-quote{padding:32px 12px 48px;width:min(760px, calc(100% - 32px))}
}


@media (prefers-reduced-motion:reduce){
  body[data-page="podcast"] .pc-cover{transform:none}
  body[data-page="podcast"] .pc-morebox summary::after{transition:none}
}

/* One cream editorial canvas below the hero */
body[data-page="podcast"] .pc-ed,
body[data-page="podcast"] .pc-hosts,
body[data-page="podcast"] .pc-cover-row,
body[data-page="podcast"] .pc-more-sec{
  background:var(--pc-cream);
  color:var(--pc-ink);
}
body[data-page="podcast"] .pc-col{
  max-width:640px;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}
/* .wrap already has 24px padding; don't double it when also .pc-col */
body[data-page="podcast"] .wrap.pc-col{padding-left:24px;padding-right:24px;max-width:688px}

body[data-page="podcast"] .pc-ed{padding:clamp(56px,8vw,104px) 0 clamp(48px,7vw,80px)}
body[data-page="podcast"] .pc-ed-p{
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(1.12rem,1.4vw,1.28rem);
  font-weight:400;
  line-height:1.65;
  color:color-mix(in srgb,var(--pc-ink) 88%,transparent);
}
body[data-page="podcast"] .pc-pull{
  margin:2.25rem 0 0;
  padding:.15rem 0 .15rem 1.35rem;
  border:0;
  border-left:2px solid var(--pc-gold);
}
body[data-page="podcast"] .pc-pull p{
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(1.28rem,2vw,1.7rem);
  font-weight:600;
  line-height:1.4;
  letter-spacing:-.015em;
  color:var(--pc-ink);
  text-wrap:balance;
}

/* Full-bleed Lagos dusk duotone, pull quote over the photograph.
   The photo stays in normal flow (intrinsic + min-height) so it paints in
   full-page captures; the quote sits in the same grid cell with a local scrim. */
body[data-page="podcast"] .pc-band{
  position:relative;
  background:var(--pc-navy);
  display:grid;
  grid-template:1fr / 1fr;
  color:var(--pc-cream);
}
body[data-page="podcast"] .pc-band picture{
  grid-area:1/1;
  z-index:0;
  display:block;
  width:100%;
  line-height:0;
}
body[data-page="podcast"] .pc-band-img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2400 / 935;
  object-fit:cover;
  object-position:center 42%;
  min-height:clamp(360px,48vw,520px);
}
body[data-page="podcast"] .pc-band-quote{
  grid-area:1/1;
  z-index:2;
  align-self:center;
  justify-self:center;
  position:relative;
  margin:0 auto;
  padding:clamp(28px,4vw,44px) 8px;
  width:min(760px, calc(100% - 48px));
  max-width:760px;
  border:0;
  text-align:center;
}
/* Soft gradient only where the type sits, so the city stays visible around it */
body[data-page="podcast"] .pc-band-quote::after{
  content:"";
  position:absolute;
  inset:-22% 0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 48%, rgba(10,16,28,.55) 0%, rgba(25,41,71,.28) 48%, transparent 76%);
}
body[data-page="podcast"] .pc-band-quote p{
  margin:0;
  font-family:var(--font-heading);
  font-size:clamp(1.55rem,1.15rem + 1.7vw,2.2rem);
  font-weight:600;
  line-height:1.28;
  letter-spacing:-.015em;
  color:var(--pc-cream);
  text-wrap:balance;
  text-shadow:0 2px 18px rgba(10,16,28,.6), 0 0 2px rgba(10,16,28,.4);
}
body[data-page="podcast"] .pc-band-quote p::before{
  content:"";
  display:block;
  width:48px;height:2px;
  background:var(--pc-gold);
  margin:0 auto 1.1em;
}
body[data-page="podcast"] .pc-band-credit{
  grid-area:1/1;
  z-index:2;
  align-self:end;
  justify-self:end;
  margin:0;
  padding:0 12px;
  max-width:min(90%,22rem);
  font-family:var(--font);
  font-size:.68rem;
  letter-spacing:.02em;
  color:color-mix(in srgb,var(--pc-cream) 72%,transparent);
  text-align:right;
}
body[data-page="podcast"] .pc-band-credit a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
body[data-page="podcast"] .pc-band-credit a:hover{color:var(--pc-cream)}

/* Hosts: small circular monograms, no boxes */
body[data-page="podcast"] .pc-hosts{padding:clamp(40px,6vw,72px) 0 clamp(12px,3vw,24px)}
body[data-page="podcast"] .pc-hosts h2,
body[data-page="podcast"] .pc-cover-row h2{
  font-family:var(--font);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--pc-gold-text);
  text-align:center;
  margin:0 0 1.6rem;
}
body[data-page="podcast"] .pc-hosts-in{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:clamp(36px,8vw,88px);
}
body[data-page="podcast"] .pc-host{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin:0;
  background:none;
  max-width:none;
  width:auto;
  padding:0;
  border-radius:0;
}
body[data-page="podcast"] .pc-mono{
  display:grid;
  place-items:center;
  width:88px;height:88px;
  border-radius:50%;
  border:1.5px solid var(--pc-gold);
  padding:3px;
  box-sizing:border-box;
  margin:0 0 12px;
}
body[data-page="podcast"] .pc-mono-in{
  display:grid;
  place-items:center;
  width:100%;height:100%;
  border-radius:50%;
  background:var(--pc-navy);
  color:var(--pc-gold);
  font-family:var(--font-heading);
  font-size:1.55rem;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1;
}
body[data-page="podcast"] .pc-host-name{
  display:block;
  font-family:var(--font-heading);
  font-size:1.2rem;
  font-weight:700;
  color:var(--pc-ink);
  line-height:1.2;
}
body[data-page="podcast"] .pc-host-role{
  display:block;
  margin-top:3px;
  font-family:var(--font);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--pc-gold-text);
}

/* Typographic topic row, not tiles */
body[data-page="podcast"] .pc-cover-row{padding:clamp(28px,5vw,56px) 0 clamp(36px,5vw,64px)}
body[data-page="podcast"] .pc-phrases{
  margin:0 auto;
  max-width:46rem;
  text-align:center;
  font-family:var(--font-heading);
  font-size:clamp(1.05rem,1.6vw,1.28rem);
  font-weight:500;
  line-height:1.85;
  color:var(--pc-ink);
}
body[data-page="podcast"] .pc-ph{white-space:nowrap}
body[data-page="podcast"] .pc-dot{
  color:var(--pc-gold);
  font-weight:400;
  margin:0 .15em;
}

/* More about the show — typographic expander, not a card dump */
body[data-page="podcast"] .pc-more-sec{padding:0 0 clamp(56px,8vw,96px)}
body[data-page="podcast"] .pc-morebox{
  margin:0;
  border-top:1px solid color-mix(in srgb,var(--pc-ink) 18%,transparent);
  padding-top:4px;
}
body[data-page="podcast"] .pc-morebox summary{
  list-style:none;
  cursor:pointer;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font);
  font-size:.95rem;
  font-weight:600;
  color:var(--pc-ink);
  padding:6px 0;
  user-select:none;
}
body[data-page="podcast"] .pc-morebox summary::-webkit-details-marker{display:none}
body[data-page="podcast"] .pc-morebox summary::after{
  content:"";
  width:7px;height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  margin-top:-3px;
  transition:transform .2s ease;
}
body[data-page="podcast"] .pc-morebox[open] summary::after{transform:rotate(225deg);margin-top:3px}
body[data-page="podcast"] .pc-more-body{padding:8px 0 12px}
body[data-page="podcast"] .pc-more-body h3{
  font-family:var(--font-heading);
  font-size:1.2rem;
  font-weight:700;
  margin:1.6rem 0 .55rem;
  color:var(--pc-ink);
}
body[data-page="podcast"] .pc-more-body h3:first-child{margin-top:.6rem}
body[data-page="podcast"] .pc-more-body p,
body[data-page="podcast"] .pc-note{
  margin:0 0 .7rem;
  font-size:1rem;
  line-height:1.6;
  color:color-mix(in srgb,var(--pc-ink) 86%,transparent);
}
body[data-page="podcast"] .pc-plain{
  list-style:none;
  margin:0 0 .4rem;
  padding:0;
  display:grid;
  gap:.65rem;
}
body[data-page="podcast"] .pc-plain li{
  margin:0;
  padding:0;
  font-size:1rem;
  line-height:1.55;
  color:color-mix(in srgb,var(--pc-ink) 86%,transparent);
  background:none;
  border-radius:0;
  display:block;
}
body[data-page="podcast"] .pc-plain strong{
  font-family:var(--font-heading);
  font-weight:700;
  color:var(--pc-ink);
  margin-right:.2em;
}
body[data-page="podcast"] .pc-topics-list li{padding:.15rem 0}
body[data-page="podcast"] .pc-more-body .pc-n{
  display:inline;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--pc-gold-text);
}
body[data-page="podcast"] .pc-more-body .pc-n::before{content:"Topic "}
body[data-page="podcast"] .pc-more-body .pc-more{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-top:0;
  margin-left:.15rem;
  font-weight:600;
  font-size:.92rem;
  color:var(--pc-gold-text);
  text-decoration:none;
}
body[data-page="podcast"] .pc-more-body .pc-more:hover{text-decoration:underline}
body[data-page="podcast"] .pc-tlinks{
  margin:.2rem 0 1.2rem;
}
body[data-page="podcast"] .pc-tlinks a{
  color:var(--pc-gold-text);
  font-weight:600;
  text-decoration:none;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
body[data-page="podcast"] .pc-tlinks a:hover{text-decoration:underline}

/* Signup band */
body[data-page="podcast"] .pc-sub{
  background:var(--pc-cream);
  color:var(--pc-ink);
  padding:clamp(40px,6vw,72px) 0;
  border-top:1px solid color-mix(in srgb,var(--pc-ink) 14%,transparent);
}
body[data-page="podcast"] .pc-sub:focus{outline:none}
body[data-page="podcast"] .pc-sub-in{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
  gap:clamp(24px,4vw,56px);
  align-items:start;
}
body[data-page="podcast"] .pc-sub h2{
  font-family:var(--font-heading);
  font-size:clamp(1.5rem,2.2vw,2rem);
  line-height:1.15;
  margin:0 0 10px;
  color:var(--pc-ink);
}
body[data-page="podcast"] .pc-sub-in > div > p{
  margin:0;
  color:color-mix(in srgb,var(--pc-ink) 72%,transparent);
  max-width:36ch;
  line-height:1.5;
}
body[data-page="podcast"] .pc-sub .btn.primary{
  background:var(--pc-navy);
  color:var(--pc-cream);
  border-color:var(--pc-navy);
  min-height:44px;
}
body[data-page="podcast"] .pc-sub .btn.primary:hover{
  background:color-mix(in srgb,var(--pc-navy) 88%,#000);
}
body[data-page="podcast"] .pc-sub .nl-consent,
body[data-page="podcast"] .pc-sub .nl-fb{color:color-mix(in srgb,var(--pc-ink) 70%,transparent)}
body[data-page="podcast"] .pc-sub .nl-consent a{color:var(--pc-gold-text)}
@media (max-width:860px){
  body[data-page="podcast"] .pc-sub-in{grid-template-columns:1fr}
}
