:root {
  --ink: #14171c;
  --ink-soft: #353941;
  --paper: #f6f0e7;
  --paper-warm: #ece2d5;
  --white: #fffdf8;
  --blue: #122845;
  --blue-deep: #091829;
  --pink: #e9b5c3;
  --pink-soft: #f4dce3;
  --gold: #c49a42;
  --sage: #98aa93;
  --line: rgba(20, 23, 28, 0.16);
  --display: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --shell: min(1380px, calc(100vw - 64px));
  --reading: 70ch;
  --shadow: 0 30px 90px rgba(9, 24, 41, 0.22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}
body.dialog-open { overflow: hidden; }

.unsubscribe-form {
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(18, 40, 69, .16);
}

.unsubscribe-form > label {
  display: block;
  margin-bottom: .6rem;
  font-size: .84rem;
  color: var(--ink-soft);
}

.unsubscribe-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
}

.unsubscribe-row .text-link {
  white-space: nowrap;
}

button:disabled {
  cursor: wait;
  opacity: .62;
}

@media (max-width: 560px) {
  .unsubscribe-row { grid-template-columns: 1fr; }
  .unsubscribe-row .text-link { justify-self: start; }
}
img { display: block; max-width: 100%; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button { color: inherit; }

::selection { background: var(--pink); color: var(--blue-deep); }

.skip-link {
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 999;
  transform: translateY(-150%);
  padding: 10px 14px;
  background: var(--white);
  color: var(--ink);
  border: 1px solid var(--ink);
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  background: color-mix(in srgb, var(--blue-deep) 91%, transparent);
  backdrop-filter: blur(18px);
}
.header-shell {
  width: var(--shell);
  min-height: 104px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 210px 1fr auto;
  align-items: center;
  gap: 30px;
}
.brand-stack { width:170px; min-height:104px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; }
.brand { width: 170px; height: 76px; display: grid; place-items: center; overflow: visible; }
.brand img { width: 138px; height: auto; mix-blend-mode: screen; filter: saturate(.78) brightness(1.28); }
.support-link { color:var(--pink); font-size:.58rem; font-weight:700; letter-spacing:.13em; line-height:1; text-decoration:none; text-transform:uppercase; }
.support-link:hover { color:var(--white); }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.3vw, 38px); }
.main-nav a {
  position: relative;
  color: rgba(255,255,255,.76);
  text-decoration: none;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 100%;
  height: 1px;
  background: var(--pink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.main-nav a:hover::after,
.main-nav a[aria-current="true"]::after { transform: scaleX(1); }
.header-action {
  border: 1px solid rgba(255,255,255,.45);
  background: transparent;
  color: var(--white);
  padding: 11px 18px;
  cursor: pointer;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.header-action:hover { background: var(--white); color: var(--blue-deep); }
.nav-toggle { display: none; }

.hero {
  position: relative;
  overflow: hidden;
  min-height: calc(100svh - 88px);
  background:
    radial-gradient(circle at 77% 30%, rgba(245, 204, 217, .46), transparent 26%),
    radial-gradient(circle at 92% 95%, rgba(189, 214, 235, .34), transparent 30%),
    linear-gradient(125deg, #0a1728 0%, #142e50 51%, #476b88 100%);
  color: var(--white);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .1;
  background-image: linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px);
  background-size: 90px 90px;
  mask-image: linear-gradient(to right, transparent, black 50%, black);
}
.hero-glow { position: absolute; width: 620px; height: 620px; right: -140px; top: 50%; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.hero-glow::before, .hero-glow::after { content:""; position:absolute; inset: 12%; border:1px solid rgba(255,255,255,.1); border-radius:50%; }
.hero-glow::after { inset: 26%; }
.hero-shell {
  position: relative;
  width: var(--shell);
  margin-inline: auto;
  min-height: calc(100svh - 148px);
  padding: clamp(72px, 9vw, 130px) 0 90px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(460px, .78fr);
  gap: clamp(56px, 8vw, 132px);
  align-items: center;
}
.hero-meta { display:flex; flex-wrap:wrap; gap: 10px 24px; margin-bottom: 32px; color: rgba(255,255,255,.66); font-size:.68rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.hero-meta span:not(:last-child)::after { content:""; display:inline-block; width:24px; height:1px; margin-left:24px; vertical-align:middle; background:rgba(255,255,255,.28); }
.hero-overline { margin:0 0 16px; color:var(--pink-soft); font-family:var(--display); font-size:clamp(1.15rem,2vw,1.55rem); font-style:italic; }
.hero h1 { margin:0; max-width:820px; font-family:var(--display); font-size:clamp(4.5rem,8.5vw,9.6rem); font-weight:400; line-height:.78; letter-spacing:-.055em; }
.hero h1 em { color:var(--pink); font-weight:400; }
.hero-intro { max-width: 700px; margin: 42px 0 0; color:rgba(255,255,255,.82); font-family:var(--display); font-size:clamp(1.32rem,2.2vw,1.95rem); line-height:1.42; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }
.hero-note { margin:18px 0 0; color:rgba(255,255,255,.52); font-size:.78rem; }
.hero-visual { position:relative; justify-self:end; width:min(100%, 510px); }
.cover-aura { position:absolute; inset:-12% -20%; background:radial-gradient(circle, rgba(250,221,230,.45), transparent 67%); filter:blur(18px); }
.hero-cover { position:relative; margin:0; width:100%; padding:18px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.32); box-shadow:0 50px 120px rgba(0,0,0,.38); transform:rotate(1deg); }
.hero-cover img { width:100%; height:auto; aspect-ratio:500/706; object-fit:contain; background:#c6d7e5; }
.hero-stamp { position:absolute; left:-58px; bottom:38px; width:116px; height:116px; display:grid; place-content:center; text-align:center; border-radius:50%; border:1px solid rgba(255,255,255,.68); background:rgba(9,24,41,.84); backdrop-filter:blur(12px); }
.hero-stamp span { font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; }
.hero-stamp strong { font-family:var(--display); font-size:2.8rem; font-weight:400; line-height:.9; }
.topic-marquee { position:absolute; left:0; bottom:0; width:100%; overflow:hidden; border-top:1px solid rgba(255,255,255,.18); background:rgba(4,13,24,.34); }
.topic-track { width:max-content; display:flex; align-items:center; gap:26px; padding:18px 0; color:rgba(255,255,255,.76); animation:marquee 36s linear infinite; }
.topic-track span { font-size:.69rem; letter-spacing:.18em; text-transform:uppercase; }
.topic-track i { color:var(--pink); font-style:normal; }
@keyframes marquee { to { transform:translateX(-50%); } }

.button {
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  padding:13px 22px;
  text-decoration:none;
  cursor:pointer;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.button:hover { transform:translateY(-2px); }
.button--light { background:var(--white); color:var(--blue-deep); }
.button--light:hover { background:var(--pink-soft); }
.button--ghost { border-color:rgba(255,255,255,.45); background:transparent; color:var(--white); }
.button--ghost:hover { background:rgba(255,255,255,.12); }
.button--ink { background:var(--ink); color:var(--white); }
.button--ink:hover { background:var(--blue); }
.button--outline-dark { border-color:var(--ink); color:var(--ink); background:transparent; }
.button--outline-dark:hover { background:var(--ink); color:var(--white); }
.text-link { border:0; padding:0; background:transparent; cursor:pointer; font-weight:600; text-decoration:none; }
.text-link span { display:inline-block; margin-left:6px; transition:transform .2s ease; }
.text-link:hover span { transform:translate(3px,-3px); }

.section { padding:clamp(86px,10vw,150px) 0; }
.section-shell { width:var(--shell); margin-inline:auto; }
.section-label { margin:0 0 18px; color:var(--gold); font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.section-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.66fr); gap:clamp(40px,7vw,110px); align-items:end; margin-bottom:clamp(58px,8vw,105px); }
.section-heading h2, .podcast-heading h2, .ecosystem-title, .subscribe-shell h2 { margin:0; font-family:var(--display); font-size:clamp(3.1rem,6vw,6.8rem); font-weight:400; line-height:.88; letter-spacing:-.045em; }
.section-heading > p { max-width:var(--reading); margin:0; color:var(--ink-soft); }
.section-heading--light { color:var(--white); }
.section-heading--light > p { color:rgba(255,255,255,.68); }

.manifesto { background:var(--white); border-bottom:1px solid var(--line); }
.manifesto-shell { width:min(1120px, calc(100vw - 64px)); margin-inline:auto; padding:clamp(90px,10vw,150px) 0; text-align:center; }
.manifesto blockquote { margin:0 auto; max-width:1000px; font-family:var(--display); font-size:clamp(2.5rem,5vw,5.4rem); line-height:1; letter-spacing:-.035em; }
.manifesto > .manifesto-shell > p:last-child { max-width:770px; margin:40px auto 0; color:var(--ink-soft); }

.current-issue { background:linear-gradient(180deg,var(--paper),#efe5d9); }
.current-layout { display:grid; grid-template-columns:minmax(420px,.92fr) minmax(0,1.08fr); gap:clamp(58px,8vw,120px); align-items:start; }
.current-cover { margin:0; position:sticky; top:122px; }
.cover-stage { padding:clamp(24px,3.5vw,52px); background:rgba(255,255,255,.65); border:1px solid rgba(20,23,28,.12); box-shadow:0 30px 80px rgba(54,42,30,.14); }
.cover-stage img { width:min(100%, 570px); height:auto; margin-inline:auto; aspect-ratio:500/706; object-fit:contain; }
.current-cover figcaption { margin-top:15px; color:#6c645d; font-size:.67rem; letter-spacing:.14em; text-transform:uppercase; text-align:right; }
.issue-date { margin:0 0 14px; color:var(--gold); font-size:.68rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.current-content h3 { margin:0; max-width:820px; font-family:var(--display); font-size:clamp(3.4rem,6vw,7rem); font-weight:400; line-height:.86; letter-spacing:-.05em; }
.current-lead { max-width:720px; margin:34px 0 0; font-family:var(--display); font-size:clamp(1.35rem,2.2vw,1.85rem); line-height:1.46; }
.story-list { margin-top:48px; border-top:1px solid var(--line); }
.story-list article { display:grid; grid-template-columns:48px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }
.story-list article > span { color:var(--gold); font-family:var(--display); font-size:1.35rem; }
.story-list p { margin:0 0 4px; color:#7a7169; font-size:.65rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.story-list h4 { margin:0; font-family:var(--display); font-size:clamp(1.3rem,2vw,1.75rem); font-weight:500; line-height:1.2; }
.current-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:38px; }

.dual-editorial { position:relative; overflow:hidden; background:var(--blue-deep); color:var(--white); }
.dual-editorial::after { content:"N / H"; position:absolute; right:-30px; bottom:-110px; color:rgba(255,255,255,.035); font-family:var(--display); font-size:24rem; line-height:1; }
.dual-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.editorial-card { min-height:620px; padding:clamp(34px,5vw,72px); display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.16); }
.editorial-card--magazine { background:linear-gradient(150deg,#183b65,#102642 70%); }
.editorial-card--health { background:linear-gradient(150deg,#b9c5b1,#70846d); color:#132017; }
.card-index { margin:0 0 auto; font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; opacity:.7; }
.editorial-card h3 { margin:80px 0 16px; font-family:var(--display); font-size:clamp(3rem,5vw,5.6rem); font-weight:400; line-height:.9; }
.editorial-card > p:not(.card-index) { max-width:620px; font-family:var(--display); font-size:1.45rem; line-height:1.4; }
.editorial-card ul { margin:24px 0 34px; padding:0; list-style:none; }
.editorial-card li { padding:12px 0; border-bottom:1px solid currentColor; border-bottom-color:color-mix(in srgb,currentColor 18%,transparent); }
.editorial-card a { margin-top:auto; font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }

.archives { background:var(--white); }
.archive-feature { display:grid; grid-template-columns:minmax(380px,.72fr) minmax(0,1.28fr); min-height:760px; border:1px solid var(--line); }
.archive-feature figure { margin:0; padding:clamp(24px,4vw,58px); display:grid; place-items:center; background:linear-gradient(145deg,#ead9d4,#c5a3a3); }
.archive-feature figure img { width:min(100%, 530px); height:auto; aspect-ratio:500/706; object-fit:contain; box-shadow:0 30px 80px rgba(58,29,34,.28); }
.archive-feature-copy { padding:clamp(42px,7vw,100px); display:flex; flex-direction:column; justify-content:center; }
.archive-feature h3 { margin:0; max-width:780px; font-family:var(--display); font-size:clamp(3.3rem,6vw,7.2rem); font-weight:400; line-height:.86; letter-spacing:-.05em; }
.archive-feature-copy > p:nth-of-type(2) { max-width:700px; margin:34px 0 0; font-family:var(--display); font-size:1.55rem; line-height:1.45; }
.pill-list { display:flex; flex-wrap:wrap; gap:8px; margin:34px 0 0; padding:0; list-style:none; }
.pill-list li { border:1px solid var(--line); padding:7px 11px; font-size:.64rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.archive-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.archive-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:24px; }
.archive-card { display:grid; grid-template-columns:minmax(170px,.42fr) minmax(0,.58fr); min-height:420px; border:1px solid var(--line); background:#fbf8f2; }
.archive-card figure { margin:0; padding:24px; display:grid; place-items:center; background:#ece5da; overflow:hidden; }
.archive-card figure img { width:100%; height:100%; max-height:390px; object-fit:contain; }
.archive-card-copy { padding:34px; display:flex; flex-direction:column; }
.archive-card-copy > p { margin:0 0 10px; color:#766e67; font-size:.62rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.archive-card h3 { margin:0; font-family:var(--display); font-size:clamp(2rem,3vw,3.4rem); font-weight:500; line-height:.95; }
.archive-card-copy > span { margin:20px 0; color:#645d57; font-size:.82rem; }
.archive-card-copy > div { display:flex; gap:8px; margin-top:auto; }
.archive-card button { border:1px solid var(--ink); background:transparent; padding:9px 14px; cursor:pointer; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.archive-card button:hover { background:var(--ink); color:var(--white); }
.archive-card button[disabled] { cursor:not-allowed; opacity:.55; }
.archive-card--founder { background:#ece9e1; }

.podcasts { background:linear-gradient(180deg,#eadbc8,#f2e9dd); }
.podcast-heading { max-width:1040px; margin-bottom:70px; }
.podcast-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.podcast-main, .podcast-side { min-height:620px; padding:clamp(38px,5vw,72px); display:flex; flex-direction:column; }
.podcast-main { position:relative; overflow:hidden; background:var(--ink); color:var(--white); }
.podcast-side { background:var(--sage); color:#152017; }
.audio-mark { position:absolute; right:-40px; top:-120px; color:rgba(255,255,255,.06); font-family:var(--display); font-size:26rem; transform:rotate(-25deg); }
.podcast-main > p, .podcast-side > p { position:relative; margin:0; font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.podcast-main h3, .podcast-side h3 { position:relative; min-height:2.76em; max-width:730px; margin:70px 0 50px; font-family:var(--display); font-size:clamp(3rem,5vw,5.8rem); font-weight:400; line-height:.92; }
.episode-list { position:relative; min-height:220px; margin-top:auto; border-top:1px solid rgba(255,255,255,.25); }
.episode-list a { display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.25); text-decoration:none; }
.episode-list b { font-size:.65rem; letter-spacing:.11em; text-transform:uppercase; }
.episode-list--light { border-top-color:rgba(21,32,23,.28); }
.episode-list--light a { border-bottom-color:rgba(21,32,23,.28); }

.redaction { background:var(--paper); }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.team-grid article { min-height:330px; padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.team-grid span { display:block; min-height:2.4em; color:var(--gold); font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.team-grid h3 { margin:70px 0 16px; font-family:var(--display); font-size:2.4rem; font-weight:500; line-height:1; }
.team-grid p { margin:0; color:var(--ink-soft); font-size:.86rem; }

.subscribe-section { padding-top:0; background:var(--paper); }
.subscribe-shell { padding:clamp(50px,8vw,110px); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:60px; align-items:end; background:linear-gradient(120deg,#132f52,#0b1c31); color:var(--white); }
.subscribe-shell h2 { max-width:1000px; }
.subscribe-shell > div > p:last-child { max-width:700px; color:rgba(255,255,255,.67); }

.ecosystem { background:#e7dfd3; }
.ecosystem-title { max-width:1120px; }
.ecosystem-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:76px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.ecosystem-grid > a { position:relative; min-height:300px; padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:inherit; text-decoration:none; transition:background .25s ease, color .25s ease; }
.ecosystem-grid span { color:var(--gold); font-family:var(--display); font-size:1.3rem; }
.ecosystem-grid h3 { margin:82px 0 14px; font-family:var(--display); font-size:2.2rem; font-weight:500; line-height:1; }
.ecosystem-grid p { margin:0; color:var(--ink-soft); }
.ecosystem-grid b { position:absolute; left:32px; bottom:28px; color:var(--blue); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:0; transform:translateY(6px); transition:opacity .25s ease, transform .25s ease; }
.ecosystem-grid > a:hover, .ecosystem-grid > a:focus-visible { background:var(--white); }
.ecosystem-grid > a:hover b, .ecosystem-grid > a:focus-visible b { opacity:1; transform:translateY(0); }
.ecosystem-grid > a:focus-visible { outline:2px solid var(--gold); outline-offset:-2px; }

.site-footer { background:#07121f; color:rgba(255,255,255,.74); }
.footer-shell { width:var(--shell); margin-inline:auto; padding:90px 0 70px; display:grid; grid-template-columns:1.3fr repeat(3,.7fr); gap:50px; }
.footer-brand img { width:240px; filter:brightness(1.45) saturate(.8); mix-blend-mode:screen; }
.footer-brand p { max-width:340px; margin:14px 0 0; color:rgba(255,255,255,.55); }
.footer-shell nav { display:flex; flex-direction:column; gap:10px; }
.footer-shell h2 { margin:0 0 15px; color:var(--white); font-size:.68rem; letter-spacing:.17em; text-transform:uppercase; }
.footer-shell nav a { color:rgba(255,255,255,.65); text-decoration:none; font-size:.86rem; }
.footer-shell nav a:hover { color:var(--pink-soft); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:20px max(32px,calc((100vw - 1380px)/2)); display:flex; flex-wrap:wrap; gap:12px 30px; justify-content:space-between; color:rgba(255,255,255,.42); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; }

.reader-dialog, .subscribe-dialog { border:0; padding:0; background:var(--white); color:var(--ink); box-shadow:0 40px 160px rgba(0,0,0,.46); }
.reader-dialog::backdrop, .subscribe-dialog::backdrop { background:rgba(2,8,14,.82); backdrop-filter:blur(8px); }
.reader-dialog { width:min(1180px,calc(100vw - 34px)); height:min(900px,calc(100vh - 34px)); }
.dialog-topbar { min-height:90px; padding:18px 24px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.dialog-topbar p { margin:0; color:var(--gold); font-size:.62rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.dialog-topbar h2 { margin:0; font-family:var(--display); font-size:2rem; font-weight:500; }
.dialog-topbar button, .subscribe-close { width:44px; height:44px; border:1px solid var(--line); background:transparent; cursor:pointer; font-size:1.6rem; }
.reader-frame-wrap { height:calc(100% - 164px); background:#cbc8c1; }
.reader-frame-wrap iframe { width:100%; height:100%; border:0; }
.dialog-actions { min-height:74px; padding:13px 22px; display:flex; gap:18px; justify-content:flex-end; align-items:center; border-top:1px solid var(--line); }
.subscribe-dialog { width:min(760px,calc(100vw - 34px)); display:grid; grid-template-columns:.32fr .68fr; }
.subscribe-close { position:absolute; top:16px; right:16px; z-index:2; }
.subscribe-art { min-height:100%; display:grid; place-content:center; gap:40px; text-align:center; background:linear-gradient(180deg,var(--pink),#b9d0e3); color:rgba(255,255,255,.9); font-size:2.3rem; }
.subscribe-content { padding:70px 52px; }
.subscribe-content h2 { margin:0; font-family:var(--display); font-size:4rem; font-weight:400; line-height:.9; }
.subscribe-content > p:not(.section-label) { color:var(--ink-soft); }
.subscribe-content form { margin:30px 0 22px; }
.subscribe-content label:not(.consent) { display:block; margin-bottom:8px; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.subscribe-content input[type="email"] { width:100%; min-height:52px; border:1px solid var(--line); background:#fff; padding:12px 14px; }
.consent { display:grid; grid-template-columns:20px 1fr; gap:10px; margin:18px 0 22px; font-size:.75rem; color:var(--ink-soft); }
.form-status { min-height:24px; margin:12px 0 0; font-size:.78rem; }
.toast { position:fixed; right:24px; bottom:24px; z-index:100; max-width:360px; padding:15px 18px; background:var(--ink); color:var(--white); box-shadow:var(--shadow); transform:translateY(140%); opacity:0; transition:.28s ease; }
.toast.show { transform:translateY(0); opacity:1; }

[data-reveal] { opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
[data-reveal].visible { opacity:1; transform:none; }

.legal-page { min-height:100vh; background:var(--paper); }
.legal-header { background:var(--blue-deep); }
.legal-shell { width:min(900px,calc(100vw - 42px)); margin-inline:auto; padding:90px 0 120px; }
.legal-shell h1 { margin:0 0 40px; font-family:var(--display); font-size:clamp(3.4rem,8vw,7rem); font-weight:400; line-height:.9; }
.legal-shell h2 { margin-top:44px; font-family:var(--display); font-size:2.2rem; font-weight:500; }
.legal-shell a { color:var(--blue); }
.legal-back { display:inline-block; margin-bottom:50px; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; }

@media (max-width: 1180px) {
  :root { --shell:min(100% - 44px, 1180px); }
  .header-shell { grid-template-columns:170px 1fr auto; gap:18px; }
  .brand-stack, .brand { width:160px; }
  .brand img { width:132px; }
  .main-nav { gap:18px; }
  .main-nav a { font-size:.64rem; }
  .hero-shell { grid-template-columns:minmax(0,1fr) minmax(380px,.72fr); }
  .team-grid, .ecosystem-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 900px) {
  :root { --shell:min(100% - 32px, 900px); }
  .site-header { background:rgba(7,18,31,.97); }
  .header-shell { min-height:74px; grid-template-columns:1fr auto; }
  .brand, .brand img { width:150px; }
  .header-action { display:none; }
  .nav-toggle { width:44px; height:44px; display:flex; flex-direction:column; justify-content:center; gap:5px; border:1px solid rgba(255,255,255,.35); background:transparent; }
  .nav-toggle span:not(.sr-only) { width:20px; height:1px; margin-inline:auto; background:var(--white); }
  .main-nav { position:fixed; inset:74px 0 auto; padding:24px 24px 34px; display:none; flex-direction:column; align-items:flex-start; background:#07121f; border-top:1px solid rgba(255,255,255,.12); }
  .main-nav.open { display:flex; }
  .main-nav a { width:100%; padding:12px 0; font-size:.78rem; }
  .hero { min-height:auto; }
  .hero-shell { min-height:auto; padding:70px 0 110px; grid-template-columns:1fr; }
  .hero-copy { order:2; }
  .hero-visual { order:1; justify-self:center; width:min(100%,520px); }
  .hero h1 { font-size:clamp(4.2rem,15vw,7.8rem); }
  .hero-stamp { left:-12px; bottom:20px; }
  .topic-marquee { position:absolute; }
  .section-heading { grid-template-columns:1fr; align-items:start; }
  .current-layout { grid-template-columns:1fr; }
  .current-cover { position:static; }
  .cover-stage img { max-width:620px; }
  .dual-grid, .archive-feature, .podcast-layout, .subscribe-shell { grid-template-columns:1fr; }
  .podcast-main h3, .podcast-side h3, .episode-list { min-height:0; }
  .archive-feature { min-height:auto; }
  .archive-feature figure img { max-width:560px; }
  .archive-grid { grid-template-columns:1fr; }
  .team-grid, .ecosystem-grid { grid-template-columns:1fr 1fr; }
  .footer-shell { grid-template-columns:1fr 1fr; }
  .subscribe-dialog { grid-template-columns:1fr; }
  .subscribe-art { display:none; }
}

@media (max-width: 620px) {
  :root { --shell:calc(100% - 22px); }
  .hero-shell { padding-top:44px; }
  .hero-meta { gap:8px 13px; }
  .hero-meta span:not(:last-child)::after { display:none; }
  .hero-cover { padding:10px; transform:none; }
  .hero-stamp { width:86px; height:86px; }
  .hero-stamp strong { font-size:2.2rem; }
  .hero-actions, .archive-actions, .current-actions { align-items:stretch; flex-direction:column; }
  .button { width:100%; }
  .section { padding:78px 0; }
  .manifesto-shell { width:calc(100% - 26px); }
  .section-heading h2, .podcast-heading h2, .ecosystem-title, .subscribe-shell h2 { font-size:clamp(2.7rem,15vw,4.8rem); }
  .current-content h3, .archive-feature h3 { font-size:clamp(3rem,15vw,5.2rem); }
  .cover-stage { padding:16px; }
  .editorial-card { min-height:560px; padding:28px; }
  .archive-card { grid-template-columns:140px 1fr; min-height:350px; }
  .archive-card figure { padding:12px; }
  .archive-card-copy { padding:24px 18px; }
  .archive-card h3 { font-size:2rem; }
  .archive-card-copy > div { flex-wrap:wrap; }
  .podcast-main, .podcast-side { min-height:560px; padding:30px 24px; }
  .team-grid, .ecosystem-grid { grid-template-columns:1fr; }
  .subscribe-shell { padding:42px 24px; gap:28px; }
  .footer-shell { grid-template-columns:1fr; padding-top:66px; }
  .footer-bottom { padding-inline:18px; }
  .subscribe-content { padding:62px 25px 34px; }
  .subscribe-content h2 { font-size:3.2rem; }
  .dialog-actions { align-items:stretch; flex-direction:column; }
  .reader-frame-wrap { height:calc(100% - 205px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1; transform:none; }
}
