:root {
  --lime: #dbfe01;
  --lime-ink: #586900;
  --ink: #1a1a1a;
  --black: #080909;
  --white: #fff;
  --paper: #f7f7f4;
  --muted: #6b6b66;
  --line: rgba(26, 26, 26, .18);
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --body: "Atkinson Hyperlegible", Arial, sans-serif;
  --gutter: clamp(1.25rem, 4vw, 5rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: var(--body); line-height: 1.5; }
body.player-open { padding-bottom: 5.5rem; }
a { color: inherit; }
button, input, select { font: inherit; }
button { color: inherit; }
svg { width: 1.2rem; fill: currentColor; }
.icon-inline { width: 1.05em; height: 1.05em; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: square; stroke-linejoin: miter; }
.text-link, .button-dark, .footer-cta, .contact-form > button { align-items: center; gap: .55rem; }
.text-link { display: inline-flex; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .7rem 1rem; color: var(--ink); background: var(--lime); }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--lime); outline-offset: 4px; }

.site-header { height: 7.5rem; padding: 0 var(--gutter); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; background: var(--white); position: relative; z-index: 20; }
.wordmark { width: 3.2rem; display: flex; flex-direction: column; gap: 0; font: 700 1.25rem/.72 var(--display); letter-spacing: -.02em; text-decoration: none; }
.site-nav { display: flex; align-items: center; gap: clamp(1.8rem, 4vw, 4.5rem); }
.site-nav a { position: relative; padding: .7rem 0; text-decoration: none; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: .25rem; height: 2px; background: var(--lime); transition: right .25s ease; }
.site-nav a:hover::after, .site-nav a.is-active::after { right: 0; }
.header-listen { justify-self: end; display: inline-flex; gap: .75rem; align-items: center; border: 0; background: transparent; cursor: pointer; }
.play-dot { width: 2rem; aspect-ratio: 1; padding: .45rem; border-radius: 50%; fill: var(--ink); background: var(--lime); }
.menu-toggle { display: none; }

.hero { min-height: calc(100svh - 7.5rem); display: grid; grid-template-columns: 1fr 5rem 1fr; position: relative; overflow: hidden; }
.hero-copy { min-width: 0; padding: clamp(4rem, 8vw, 8rem) clamp(2rem, 6vw, 7rem) 4rem var(--gutter); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; background: var(--white); }
.hero h1 { max-width: 10ch; margin: 0; font: 600 clamp(4.8rem, 8.3vw, 9rem)/.78 var(--display); letter-spacing: -.025em; text-wrap: balance; }
.hero h1 em { color: var(--lime-ink); font-style: normal; }
.keep-line { white-space: nowrap; }
.hero-copy > p { max-width: 28rem; margin: 2.6rem 0 1.5rem; font-size: clamp(1.05rem, 1.4vw, 1.3rem); }
.text-link { display: inline-flex; gap: .7rem; align-items: center; font-weight: 700; text-decoration: none; }
.text-link span { color: var(--lime-ink); transition: transform .25s ease; }
.text-link:hover span { transform: translateX(.35rem); }
.splice { display: flex; justify-content: center; align-items: center; background: var(--lime); position: relative; z-index: 3; }
.splice::before, .splice::after { content: ""; position: absolute; top: 0; bottom: 0; width: 8px; background: var(--lime); clip-path: polygon(50% 0, 100% 2%, 40% 4%, 90% 6%, 35% 8%, 100% 10%, 45% 12%, 85% 14%, 30% 16%, 95% 18%, 40% 20%, 100% 22%, 50% 24%, 90% 26%, 35% 28%, 100% 30%, 45% 32%, 90% 34%, 30% 36%, 100% 38%, 45% 40%, 85% 42%, 35% 44%, 100% 46%, 45% 48%, 90% 50%, 35% 52%, 100% 54%, 45% 56%, 90% 58%, 30% 60%, 100% 62%, 45% 64%, 85% 66%, 35% 68%, 100% 70%, 45% 72%, 90% 74%, 35% 76%, 100% 78%, 45% 80%, 85% 82%, 35% 84%, 100% 86%, 45% 88%, 90% 90%, 35% 92%, 100% 94%, 45% 96%, 90% 98%, 50% 100%, 0 100%, 0 0); }
.splice::before { left: -4px; transform: scaleX(-1); }
.splice::after { right: -4px; }
.splice-label { writing-mode: vertical-rl; transform: rotate(180deg); font: 700 .76rem/1 var(--display); letter-spacing: .1em; }
.live-console { color: var(--white); padding: clamp(4rem, 8vw, 8rem) var(--gutter) 3rem clamp(4rem, 7vw, 8rem); display: flex; flex-direction: column; justify-content: center; position: relative; isolation: isolate; background: var(--black); }
.live-console::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,9,9,.72), rgba(8,9,9,.28)), url("images/tape-deck.png") center/cover no-repeat; }
.live-content { max-width: 36rem; }
.live-status { color: var(--lime); display: flex; align-items: center; gap: .55rem; margin: 0 0 1.25rem; font-weight: 700; text-transform: uppercase; }
.live-status span { width: .65rem; aspect-ratio: 1; border-radius: 50%; background: var(--lime); animation: pulse 1.4s ease-out infinite; }
.live-content h2 { margin: 0; font: 500 clamp(2.5rem, 4.2vw, 4.8rem)/.95 var(--display); }
.host-line { margin: .6rem 0 2.2rem; color: #d0d0ca; font-size: 1.15rem; }
.waveform { height: 4.5rem; display: flex; align-items: center; gap: .32rem; color: var(--lime); overflow: hidden; }
.waveform i { flex: 1; min-width: 2px; height: var(--h, 34%); background: currentColor; transform-origin: center; }
.waveform i:nth-child(2n) { --h: 74%; }.waveform i:nth-child(3n) { --h: 45%; }.waveform i:nth-child(5n) { --h: 92%; }
.is-playing .waveform i { animation: meter .8s ease-in-out infinite alternate; animation-delay: calc(var(--i, 1) * -70ms); }
.timeline { height: 2px; background: rgba(255,255,255,.35); margin-top: .5rem; }
.timeline span { display: block; width: 0; height: 100%; background: var(--lime); }
.is-playing .timeline span { animation: progress 90s linear forwards; }
.time-row { display: flex; justify-content: space-between; margin-top: .55rem; font-variant-numeric: tabular-nums; color: #d0d0ca; }
.source-note { margin: 1.25rem 0 0; color: #b6b6b0; font-size: .85rem; }
.up-next { max-width: 36rem; margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.25); }
.up-next span, .up-next small { display: block; color: #aaa; text-transform: uppercase; letter-spacing: .06em; font-size: .76rem; }
.up-next strong { display: block; margin: .35rem 0; font-size: 1.08rem; }
.splice-play { width: 7rem; aspect-ratio: 1; border: .8rem solid var(--ink); border-radius: 50%; background: var(--lime); position: absolute; z-index: 7; left: 50%; top: 52%; transform: translate(-50%, -50%); display: grid; place-items: center; cursor: pointer; transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease; }
.splice-play svg { width: 2.5rem; }
.splice-play .icon-pause, .is-playing .splice-play .icon-play, .persistent-player .icon-pause { display: none; }
.is-playing .splice-play .icon-pause, .persistent-player.is-playing .icon-pause { display: block; }
.persistent-player.is-playing .icon-play { display: none; }
.splice-play:hover { transform: translate(-50%, -50%) scale(1.06); box-shadow: 0 1.2rem 3rem rgba(0,0,0,.25); }

.episodes-preview { padding: clamp(5rem, 9vw, 9rem) var(--gutter); background: var(--paper); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.8rem; }
.section-heading h2, .manifesto h2, .page-title { margin: 0; font: 600 clamp(3.5rem, 6vw, 6rem)/.85 var(--display); letter-spacing: -.025em; }
.episode-list { border-top: 1px solid var(--ink); }
.episode-row { min-height: 7.5rem; display: grid; grid-template-columns: 9rem minmax(16rem, 1fr) 6rem 8rem 3rem; gap: 1.5rem; align-items: center; border-bottom: 1px solid var(--line); }
.episode-row time, .duration { color: var(--muted); font-variant-numeric: tabular-nums; }
.episode-row h3 { margin: 0; font: 500 clamp(1.7rem, 2.3vw, 2.7rem)/1 var(--display); }
.episode-row h3 a { text-decoration: none; }
.episode-row h3 a:hover { color: #7f9700; }
.episode-row p { max-width: 50rem; margin: .7rem 0 0; color: var(--muted); }
.sample-label { display: block; margin-bottom: .35rem; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--lime-ink); }
.transcript-link { color: var(--lime-ink); font-weight: 700; font-size: .92rem; }
.row-play { width: 2.75rem; aspect-ratio: 1; border: 1px solid var(--ink); border-radius: 50%; display: grid; place-items: center; background: transparent; cursor: pointer; transition: background .2s ease; }
.row-play:hover { background: var(--lime); }
.manifesto { padding: clamp(6rem, 12vw, 12rem) var(--gutter); background: var(--lime); }
.manifesto p { margin: 0 0 1.2rem; font-weight: 700; }
.manifesto h2 { max-width: 14ch; font-size: clamp(3.7rem, 7vw, 7.5rem); }
.button-dark { display: inline-flex; gap: 1rem; align-items: center; margin-top: 3rem; padding: 1rem 1.35rem; background: var(--ink); color: var(--white); text-decoration: none; font-weight: 700; }
.site-footer { min-height: 22rem; padding: 4rem var(--gutter) 2rem; color: var(--white); background: var(--black); display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 3rem; align-items: start; }
.wordmark-light { color: var(--white); }
.site-footer p { max-width: 30rem; margin: 0; color: #b7b7b0; }
.site-footer nav { display: flex; gap: 1.5rem; }
.site-footer small { grid-column: 2 / -1; align-self: end; color: #888; }

.persistent-player { position: fixed; z-index: 50; left: 0; right: 0; bottom: 0; min-height: 5.25rem; padding: .8rem var(--gutter); display: grid; grid-template-columns: 3rem minmax(12rem, 22rem) 1fr 4rem 2rem; gap: 1rem; align-items: center; color: var(--white); background: var(--black); transform: translateY(110%); transition: transform .4s cubic-bezier(.2,.8,.2,1); box-shadow: 0 -1rem 3rem rgba(0,0,0,.18); }
.persistent-player::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--lime); }
.persistent-player.is-visible { transform: translateY(0); }
.player-toggle { width: 3rem; aspect-ratio: 1; border: 0; border-radius: 50%; background: var(--lime); display: grid; place-items: center; cursor: pointer; }
.player-meta { display: flex; flex-direction: column; min-width: 0; }
.player-state { color: var(--lime); font-size: .68rem; letter-spacing: .1em; }
.player-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.player-progress { height: 2px; background: #4e4e49; }
.player-progress span { display: block; width: 0; height: 100%; background: var(--lime); }
.persistent-player.is-playing .player-progress span { animation: progress 90s linear forwards; }
.player-time { font-variant-numeric: tabular-nums; color: #bdbdb8; }
.player-close { border: 0; background: transparent; color: #bdbdb8; font-size: 1.8rem; cursor: pointer; }

.archive-hero { min-height: 58svh; padding: clamp(4rem, 8vw, 8rem) var(--gutter); display: grid; grid-template-columns: 1.5fr 1fr; gap: 5rem; align-items: end; background: var(--lime); }
.archive-hero .page-title { max-width: 13ch; font-size: clamp(5rem, 10vw, 10rem); text-wrap: balance; }
.archive-hero > p { max-width: 32rem; margin: 0 0 1rem; font-size: clamp(1.1rem, 1.8vw, 1.45rem); }
.archive { padding: clamp(4rem, 8vw, 7rem) var(--gutter) clamp(7rem, 12vw, 12rem); background: var(--paper); }
.archive-tools { display: grid; grid-template-columns: minmax(15rem, 2fr) minmax(12rem, 1fr) auto; gap: 1.5rem; align-items: end; padding-bottom: 3rem; }
.archive-tools label { display: flex; flex-direction: column; gap: .55rem; font-weight: 700; }
.archive-tools input, .archive-tools select { width: 100%; min-height: 3.6rem; border: 0; border-bottom: 2px solid var(--ink); border-radius: 0; padding: .75rem .2rem; background: transparent; color: var(--ink); }
.filter-result { margin: 0 0 .9rem; color: var(--muted); }
.catalogue { border-top: 1px solid var(--ink); }
.archive-empty { margin: 0 0 2rem; padding: 1.2rem 1.4rem; color: var(--ink); background: var(--lime); font-weight: 700; }
.catalogue-item { min-height: 9rem; display: grid; grid-template-columns: 7rem 5rem minmax(17rem, 1fr) 4rem 6rem 3rem; gap: 1.25rem; align-items: center; border-bottom: 1px solid var(--line); }
.catalogue-item[hidden] { display: none; }
.catalogue-item time, .catalogue-item > span { color: var(--muted); font-size: .88rem; }
.catalogue-index { font-family: var(--display); letter-spacing: .06em; }
.catalogue-item h2 { margin: 0; font: 500 clamp(2rem, 3vw, 3.2rem)/.95 var(--display); text-wrap: balance; }
.catalogue-item h2 a { text-decoration: none; }
.catalogue-item h2 a:hover { color: var(--lime-ink); }
.catalogue-item p { margin: .6rem 0 0; color: var(--muted); }
.catalogue-item > a { color: var(--lime-ink); font-weight: 700; font-size: .9rem; }

.site-header-dark { color: var(--white); background: var(--black); }
.site-header-dark .menu-toggle > span:not(.sr-only) { background: var(--white); }
.episode-hero { min-height: calc(100svh - 7.5rem); padding: clamp(4rem, 7vw, 7rem) var(--gutter) 4rem; color: var(--white); background: var(--black) url("images/tape-deck.png") 72% 10%/cover no-repeat; display: flex; flex-direction: column; justify-content: flex-end; position: relative; isolation: isolate; }
.episode-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,9,9,.96) 0%, rgba(8,9,9,.78) 54%, rgba(8,9,9,.3) 100%); }
.episode-meta { display: flex; gap: 1.5rem; align-items: center; color: #c0c0ba; font-size: .82rem; letter-spacing: .05em; text-transform: uppercase; }
.episode-meta a { color: var(--lime); }
.episode-hero h1 { max-width: 16ch; margin: 2rem 0 1.5rem; font: 600 clamp(5rem, 9vw, 10rem)/.78 var(--display); letter-spacing: -.025em; text-wrap: balance; }
.episode-hero > p { max-width: 38rem; font-size: 1.25rem; color: #d2d2cc; }
.episode-player { display: grid; grid-template-columns: auto 1fr auto; gap: 1.5rem; align-items: center; margin-top: 3rem; }
.episode-main-play { min-height: 4.25rem; padding: 0 1.5rem; border: 0; background: var(--lime); display: flex; gap: .8rem; align-items: center; cursor: pointer; font-weight: 700; }
.episode-wave { height: 2.4rem; background: repeating-linear-gradient(90deg, var(--lime) 0 2px, transparent 2px 7px); mask-image: linear-gradient(0deg, transparent, #000 35%, #000 65%, transparent); opacity: .85; }
.show-notes { padding: clamp(5rem, 9vw, 9rem) var(--gutter); display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr); gap: clamp(3rem, 10vw, 10rem); }
.show-notes aside { align-self: start; padding: 1.5rem; background: var(--lime); display: flex; flex-direction: column; }
.show-notes aside span, .show-notes aside small { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.show-notes aside strong { margin: 1rem 0 3rem; font: 500 2.2rem/1 var(--display); }
.show-notes h2, .transcript h2 { margin: 0 0 1.6rem; font: 600 clamp(3.5rem, 6vw, 6rem)/.85 var(--display); }
.show-notes > div > p { max-width: 65ch; font-size: 1.15rem; }
.show-notes h3 { margin-top: 3rem; font: 600 2rem/1 var(--display); }
.show-notes ul { padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.show-notes li { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.transcript { padding: clamp(5rem, 9vw, 9rem) var(--gutter); background: var(--paper); display: grid; grid-template-columns: .6fr 1.4fr; gap: clamp(3rem, 8vw, 8rem); }
.transcript-title p { color: var(--muted); }
.transcript-lines { border-top: 1px solid var(--ink); }
.transcript-lines p { margin: 0; padding: 1.4rem 0; display: grid; grid-template-columns: 5rem 6rem 1fr; gap: 1.2rem; border-bottom: 1px solid var(--line); }
.transcript-lines time { color: var(--lime-ink); font-variant-numeric: tabular-nums; }

.about-hero { min-height: 76svh; padding: clamp(6rem, 11vw, 12rem) var(--gutter); display: grid; grid-template-columns: 1.5fr .5fr; gap: 4rem; align-items: end; }
.about-hero h1 { max-width: 13ch; margin: 0; font: 600 clamp(5rem, 10vw, 10rem)/.78 var(--display); letter-spacing: -.025em; text-wrap: balance; }
.about-hero h1 em { color: var(--lime-ink); font-style: normal; }
.title-line { display: block; }
.about-hero p { max-width: 31rem; margin: 0 0 .8rem; font-size: 1.25rem; }
.about-principles { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--black); color: var(--white); }
.about-principles > div { min-height: 28rem; padding: clamp(2rem, 5vw, 5rem); border-right: 1px solid #333; display: flex; flex-direction: column; justify-content: space-between; }
.about-principles > div:last-child { border-right: 0; }
.about-principles span { color: var(--lime); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
.about-principles h2 { margin: auto 0 1.5rem; font: 500 clamp(2.6rem, 4vw, 4.5rem)/.9 var(--display); text-wrap: balance; }
.about-principles p { color: #bababa; }
.about-close { padding: clamp(7rem, 12vw, 12rem) var(--gutter); background: var(--lime); }
.about-close h2 { max-width: 14ch; margin: 0; font: 600 clamp(4rem, 8vw, 8rem)/.82 var(--display); }

@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(219,254,1,.7); } 100% { box-shadow: 0 0 0 12px rgba(219,254,1,0); } }
@keyframes meter { from { transform: scaleY(.35); } to { transform: scaleY(1); } }
@keyframes progress { to { width: 100%; } }

@media (max-width: 900px) {
  .site-header { height: 6.2rem; grid-template-columns: 1fr auto auto; gap: 1rem; }
  .header-listen span:last-child { display: none; }
  .menu-toggle { width: 2.8rem; height: 2.8rem; border: 0; background: transparent; display: flex; flex-direction: column; justify-content: center; gap: .35rem; cursor: pointer; }
  .menu-toggle > svg { width: 1.8rem; fill: none; stroke: var(--ink); stroke-width: 1.8; }
  .site-nav { position: absolute; top: 100%; left: 0; right: 0; padding: 1.5rem var(--gutter) 2rem; align-items: stretch; flex-direction: column; gap: .5rem; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 1.5rem 2rem rgba(0,0,0,.1); transform: translateY(-140%); opacity: 0; transition: transform .3s ease, opacity .3s ease; z-index: -1; }
  .site-nav.is-open { transform: translateY(0); opacity: 1; }
  .site-nav a { font: 500 2.2rem/1 var(--display); }
  .hero { min-height: auto; grid-template-columns: 1fr; }
  .hero-copy { min-height: 72svh; padding-top: 4rem; padding-bottom: 6rem; }
  .hero h1 { font-size: clamp(3.6rem, 15.5vw, 5.8rem); }
  .splice { min-height: 4rem; }
  .splice-label { writing-mode: initial; transform: none; }
  .live-console { min-height: 62svh; padding: 6rem var(--gutter) 4rem; }
  .splice-play { width: 6.2rem; top: calc(72svh + 4rem); left: 50%; bottom: auto; transform: translate(-50%, -50%); border-width: .65rem; }
  .splice-play:hover { transform: translate(-50%, -50%) scale(1.04); }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .section-heading h2 { font-size: 2.75rem; white-space: nowrap; }
  .episode-row { padding: 1.4rem 0; grid-template-columns: 1fr auto; gap: .7rem 1.2rem; }
  .episode-row time { grid-column: 1; }
  .episode-row > div { grid-column: 1 / -1; }
  .episode-row .duration { grid-column: 1; }
  .transcript-link { grid-column: 1; }
  .row-play { grid-column: 2; grid-row: 1 / span 4; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer small { grid-column: 1; }
  .persistent-player { grid-template-columns: 3rem 1fr 2rem; padding: .75rem 1rem; }
  .player-progress, .player-time { display: none; }
  .archive-hero, .about-hero { min-height: auto; padding-top: 5rem; padding-bottom: 5rem; grid-template-columns: 1fr; gap: 3rem; }
  .archive-hero .page-title { font-size: 3.75rem; }
  .archive-tools { grid-template-columns: 1fr; }
  .filter-result { margin: 0; }
  .catalogue-item { padding: 1.6rem 0; grid-template-columns: 1fr auto; gap: .55rem 1rem; }
  .catalogue-item time, .catalogue-item .catalogue-index { grid-column: 1; }
  .catalogue-item > div { grid-column: 1 / -1; }
  .catalogue-item > span:not(.catalogue-index), .catalogue-item > a { grid-column: 1; }
  .catalogue-item .row-play { grid-column: 2; grid-row: 1 / span 5; }
  .site-header-dark .site-nav { color: var(--ink); }
  .episode-hero { min-height: calc(100svh - 6.2rem); padding-top: 4rem; background-position: 65% center; }
  .episode-meta { flex-wrap: wrap; }
  .episode-hero h1 { max-width: 100%; font-size: 3.5rem; }
  .episode-player { grid-template-columns: 1fr auto; }
  .episode-wave { grid-column: 1 / -1; grid-row: 2; }
  .show-notes, .transcript { grid-template-columns: 1fr; }
  .show-notes h2, .transcript h2 { font-size: 2.9rem; }
  .transcript-lines p { grid-template-columns: 4rem 1fr; }
  .transcript-lines p span { grid-column: 1 / -1; }
  .about-principles { grid-template-columns: 1fr; }
  .about-principles > div { min-height: 22rem; border-right: 0; border-bottom: 1px solid #333; }
  .about-close h2 { font-size: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Expanded editorial system */
.eyebrow { display: block; margin-bottom: 1rem; color: var(--lime-ink); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-nav { gap: clamp(1.2rem, 2.5vw, 3rem); }
.site-footer nav { flex-wrap: wrap; }
.hero-copy .eyebrow { margin-bottom: 1.4rem; }
.button-lime, .button-ghost { min-height: 3.5rem; padding: .85rem 1.2rem; display: inline-flex; align-items: center; border: 1px solid currentColor; font-weight: 700; text-decoration: none; cursor: pointer; }
.button-lime { color: var(--ink); background: var(--lime); border-color: var(--lime); }
.button-ghost { background: transparent; }
.light-link { color: var(--white); }
.schedule-preview, .inside-room, .listen-band, .reminder, .schedule-page, .platform-page, .rss-explainer, .contact-workspace, .legal-copy { padding: clamp(5rem, 9vw, 9rem) var(--gutter); }
.schedule-preview .section-heading h2, .inside-room h2, .listen-band h2, .reminder h2, .platform-intro h2, .rss-explainer h2, .contact-form h2 { margin: 0; font: 600 clamp(3.6rem, 6.5vw, 7rem)/.82 var(--display); letter-spacing: -.025em; text-wrap: balance; }
.heading-aside { max-width: 23rem; }
.heading-aside p { margin: 0 0 1.2rem; color: var(--muted); }
.schedule-stack, .schedule-group > div:last-child { border-top: 1px solid currentColor; }
.schedule-row { min-height: 8rem; padding: 1.2rem 0; display: grid; grid-template-columns: 6rem 13rem minmax(15rem,1fr) auto; gap: 1.5rem; align-items: center; border-bottom: 1px solid var(--line); }
.schedule-status { width: max-content; padding: .3rem .5rem; color: var(--ink); background: #e6e6df; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.schedule-live .schedule-status { background: var(--lime); }
.schedule-ended { opacity: .64; }
.schedule-row time { font-size: .88rem; font-variant-numeric: tabular-nums; }
.schedule-row h3 { margin: 0; font: 500 clamp(1.8rem, 2.5vw, 2.8rem)/.95 var(--display); }
.schedule-row p { margin: .45rem 0 0; color: var(--muted); }
.schedule-action { min-height: 2.8rem; padding: .6rem .9rem; border: 1px solid var(--ink); background: transparent; color: var(--ink); font-weight: 700; text-decoration: none; cursor: pointer; }
.schedule-live .schedule-action { background: var(--lime); }
.featured-conversation { min-height: 48rem; padding: clamp(4rem, 7vw, 7rem) var(--gutter); display: grid; grid-template-columns: .35fr 1.3fr .35fr; gap: clamp(2rem, 6vw, 6rem); color: var(--white); background: var(--black); position: relative; overflow: hidden; }
.featured-index { display: flex; flex-direction: column; justify-content: space-between; color: #9f9f99; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.featured-index strong { color: var(--lime); font: 500 3rem/1 var(--display); }
.featured-copy { align-self: center; }
.featured-copy h2 { max-width: 15ch; margin: 0; font: 600 clamp(4rem, 7vw, 8rem)/.8 var(--display); letter-spacing: -.025em; }
.featured-copy > p { max-width: 42rem; margin: 2rem 0; color: #c8c8c2; font-size: 1.15rem; }
.featured-copy blockquote { max-width: 42rem; margin: 2.5rem 0; padding-top: 1.5rem; border-top: 1px solid var(--lime); font: 500 clamp(1.7rem, 2.6vw, 2.8rem)/1.05 var(--display); }
.featured-actions { display: flex; align-items: center; gap: 1.5rem; }
.featured-machine { display: flex; flex-direction: column; align-items: end; justify-content: space-between; color: var(--lime); }
.featured-machine::before { content: ""; width: min(19vw, 15rem); aspect-ratio: 1; border: 1rem solid #202222; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--lime), inset 0 0 0 3rem #111; }
.featured-machine b { font: 500 3rem/1 var(--display); }
.room-tone { min-height: 42rem; padding: clamp(4rem, 7vw, 7rem) var(--gutter); display: grid; grid-template-columns: .32fr 1.15fr .53fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; color: var(--white); background: #151616; border-top: 1px solid #303232; }
.room-tone-index { min-height: 24rem; display: flex; flex-direction: column; justify-content: space-between; color: #a8a8a2; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.room-tone-index b { color: var(--lime); font: 500 3rem/1 var(--display); }
.room-tone-copy h2 { max-width: 13ch; margin: 0; font: 600 clamp(3.8rem, 6vw, 6rem)/.82 var(--display); letter-spacing: -.025em; }
.room-tone-copy > p { max-width: 42rem; margin: 2rem 0; color: #c8c8c2; font-size: 1.12rem; }
.room-tone-play { min-height: 3.7rem; padding: .8rem 1.1rem; display: inline-flex; align-items: center; gap: .75rem; border: 1px solid var(--lime); color: var(--ink); background: var(--lime); font-weight: 700; cursor: pointer; }
.room-tone-play svg { width: 1.15rem; }
.room-tone-play:hover { color: var(--white); background: transparent; }
.room-tone-credit { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: .78rem; }
.room-tone-credit a { display: inline-flex; align-items: center; gap: .35rem; color: var(--lime); }
.room-tone-disc { width: min(27vw, 22rem); aspect-ratio: 1; justify-self: center; display: grid; place-items: center; position: relative; border: 1.3rem solid #282929; border-radius: 50%; color: var(--ink); background: var(--lime); box-shadow: 0 2rem 4rem rgba(0,0,0,.35), inset 0 0 0 2px var(--ink); }
.room-tone-disc::before { content: ""; position: absolute; inset: 24%; border: 2px solid var(--ink); border-radius: 50%; }
.room-tone-disc span { max-width: 7ch; text-align: center; font: 700 1.5rem/.85 var(--display); }
.room-tone-disc i { width: 1rem; aspect-ratio: 1; position: absolute; border-radius: 50%; background: var(--ink); }
.inside-room { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 9vw, 9rem); background: var(--white); }
.inside-intro { align-self: start; position: sticky; top: 2rem; }
.inside-intro > p { max-width: 30rem; color: var(--muted); font-size: 1.1rem; }
.format-sequence { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.format-sequence li { padding: 2rem 0; display: grid; grid-template-columns: 4rem 1fr; gap: .5rem 1.5rem; border-bottom: 1px solid var(--line); }
.format-sequence li > span { grid-row: 1 / 3; color: var(--lime-ink); font-weight: 700; }
.format-sequence strong { font: 500 clamp(2rem, 3.6vw, 4rem)/.9 var(--display); }
.format-sequence p { max-width: 38rem; margin: .5rem 0 0; color: var(--muted); }
.themes { padding: clamp(5rem, 8vw, 8rem) 0; color: var(--white); background: var(--black); overflow: hidden; }
.themes > .eyebrow { margin-left: var(--gutter); color: var(--lime); }
.theme-river { display: flex; flex-wrap: wrap; border-top: 1px solid #343434; }
.theme-river span { padding: .45rem var(--gutter); border-bottom: 1px solid #343434; border-right: 1px solid #343434; font: 500 clamp(3.2rem, 7.5vw, 8rem)/1 var(--display); transition: color .2s, background .2s; }
.theme-river span:hover { color: var(--ink); background: var(--lime); }
.transcript-moment { padding: clamp(6rem, 12vw, 12rem) var(--gutter); display: grid; grid-template-columns: 11rem minmax(0,1fr); gap: 2rem; background: var(--paper); }
.moment-label { display: flex; flex-direction: column; gap: .7rem; color: var(--lime-ink); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.transcript-moment blockquote { max-width: 18ch; margin: 0; font: 500 clamp(3.4rem, 7vw, 7.5rem)/.86 var(--display); letter-spacing: -.02em; }
.moment-play { grid-column: 2; justify-self: start; margin-top: 2rem; padding: 1rem 0; display: flex; gap: 1.5rem; border: 0; border-bottom: 2px solid var(--ink); background: transparent; font-weight: 700; cursor: pointer; }
.listen-band { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 10vw, 10rem); background: var(--lime); }
.listen-band .eyebrow { color: var(--ink); }
.platform-links { border-top: 1px solid var(--ink); }
.platform-links a { padding: 1.25rem 0; display: flex; justify-content: space-between; border-bottom: 1px solid rgba(26,26,26,.3); font: 500 clamp(1.8rem, 3vw, 3rem)/1 var(--display); text-decoration: none; }
.platform-note { min-height: 3rem; color: #41413e; font-size: .88rem; }
.reminder { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 10vw, 10rem); align-items: end; }
.reminder form > label { display: block; margin-bottom: .6rem; font-weight: 700; }
.inline-form { display: grid; grid-template-columns: 1fr auto; border-bottom: 2px solid var(--ink); }
.inline-form input { min-width: 0; padding: 1rem .25rem; border: 0; background: transparent; font-size: 1.1rem; }
.inline-form button { padding: .8rem 1.2rem; border: 0; background: var(--ink); color: var(--white); cursor: pointer; }
.form-status { min-height: 1.5rem; color: var(--muted); font-size: .85rem; }
.form-status[data-state="loading"] { color: var(--ink); }
.form-status[data-state="success"] { color: var(--lime-ink); font-weight: 700; }
.form-status[data-state="error"] { color: var(--ink); font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.inline-form button:disabled, .contact-form > button:disabled { opacity: .55; cursor: wait; }
.cta-pair { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.manifesto .button-ghost { margin-top: 3rem; }
.feed-line { margin-bottom: 1.5rem; padding: .75rem 1rem; display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; background: var(--white); font-size: .86rem; }
.feed-line strong { min-width: 0; overflow-wrap: anywhere; }
.feed-line a { margin-left: auto; color: var(--lime-ink); font-weight: 700; }
.feed-line button { padding: .35rem .6rem; border: 1px solid var(--ink); background: transparent; color: var(--ink); font-weight: 700; cursor: pointer; }
.feed-line button[hidden] { display: none; }
.feed-light { width: .6rem; aspect-ratio: 1; border-radius: 50%; background: var(--lime-ink); }
.episode-empty { margin: 0; padding: 1.2rem 0; color: var(--muted); border-bottom: 1px solid var(--line); }
.data-error { margin: 1rem 0; padding: 1rem; border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.data-error button { min-height: 2.75rem; margin-left: .75rem; padding: .5rem .8rem; border: 0; background: var(--ink); color: var(--white); font-weight: 700; cursor: pointer; }
.catalogue-item .rss-title { margin: 0; font: 500 clamp(2rem, 3vw, 3.2rem)/.95 var(--display); text-wrap: balance; }
.rss-title a { text-decoration: none; }

.page-hero { min-height: 64svh; padding: clamp(5rem, 9vw, 9rem) var(--gutter); display: grid; grid-template-columns: 1.4fr .6fr; gap: 4rem; align-items: end; }
.page-hero h1, .contact-hero h1, .legal-hero h1 { margin: 0; font: 600 clamp(5rem, 10vw, 10rem)/.78 var(--display); letter-spacing: -.025em; }
.page-hero-black { color: var(--white); background: var(--black); }
.page-hero-black .eyebrow { color: var(--lime); grid-column: 1 / -1; }
.lime-text { color: var(--lime-ink); }
.page-hero-black .lime-text { color: var(--lime); }
.page-hero-note { max-width: 30rem; color: #bcbcb6; }
.status-key { margin-top: 2rem; display: flex; gap: 1rem; flex-wrap: wrap; }
.status-key span { display: flex; align-items: center; gap: .4rem; }
.status-key i { width: .55rem; aspect-ratio: 1; border-radius: 50%; background: #aaa; }
.status-key .live-key { background: var(--lime); }
.status-key .ended-key { background: #555; }
.schedule-page { background: var(--paper); }
.schedule-group { margin-bottom: 5rem; }
.schedule-group-title { margin-bottom: 1.2rem; display: flex; gap: 1rem; align-items: baseline; }
.schedule-group-title span { color: var(--lime-ink); font-weight: 700; }
.schedule-group-title h2 { margin: 0; font: 600 clamp(3rem, 5vw, 5rem)/1 var(--display); }
.demo-disclosure { max-width: 50rem; padding: 1rem 0; border-top: 2px solid var(--lime-ink); background: var(--white); }
.listen-hero { color: var(--white); background: var(--black); align-items: center; }
.listen-hero .eyebrow { color: var(--lime); }
.listen-disc { width: min(32vw, 27rem); aspect-ratio: 1; justify-self: center; border: 1.4rem solid #222; border-radius: 50%; display: grid; place-items: center; position: relative; background: var(--lime); cursor: pointer; box-shadow: 0 2rem 4rem rgba(0,0,0,.45); }
.listen-disc::before { content: ""; position: absolute; inset: 22%; border: 2px solid var(--ink); border-radius: 50%; }
.listen-disc span { font: 700 3rem/1 var(--display); }
.listen-disc b { position: absolute; bottom: 18%; font-size: .7rem; letter-spacing: .12em; }
.listen-disc i { width: 1rem; aspect-ratio: 1; border-radius: 50%; background: var(--ink); position: absolute; }
.music-strip { padding: 1.5rem var(--gutter); display: grid; grid-template-columns: 1.2fr .7fr auto auto; gap: 1.5rem; align-items: center; border-bottom: 1px solid var(--ink); background: var(--lime); }
.music-strip > div { min-width: 0; display: flex; flex-direction: column; }
.music-strip > div span { margin-bottom: .2rem; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.music-strip > div strong { overflow-wrap: anywhere; }
.music-strip button { min-height: 3rem; padding: .6rem .9rem; display: inline-flex; align-items: center; gap: .6rem; border: 1px solid var(--ink); color: var(--white); background: var(--ink); font-weight: 700; cursor: pointer; }
.music-strip button:hover { color: var(--ink); background: transparent; }
.music-strip button svg { width: 1rem; }
.music-strip > a { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; }
.platform-page { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(3rem, 9vw, 9rem); }
.platform-intro p { max-width: 32rem; color: var(--muted); }
.platform-directory { border-top: 1px solid var(--ink); }
.platform-directory a { min-height: 7rem; display: grid; grid-template-columns: 3rem 1fr auto; align-items: center; gap: 1rem; border-bottom: 1px solid var(--line); text-decoration: none; }
.platform-directory a > span { color: var(--lime-ink); font-weight: 700; }
.platform-directory strong { font: 500 clamp(2rem, 3.5vw, 3.8rem)/1 var(--display); }
.platform-directory b { color: var(--muted); font-size: .82rem; }
.platform-directory a.is-pending b { color: var(--lime-ink); }
.platform-links a.is-pending::after { content: "Preview"; margin-inline-start: auto; font: 700 .7rem/1 var(--body); letter-spacing: .08em; text-transform: uppercase; }
.rss-explainer { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 10vw, 10rem); background: var(--lime); }
.rss-explainer .eyebrow { color: var(--ink); }
.rss-explainer code { padding: 1rem; display: block; overflow-wrap: anywhere; background: var(--ink); color: var(--white); }
.rss-explainer p { max-width: 36rem; }

.contact-hero { min-height: 68svh; padding: clamp(5rem, 10vw, 10rem) var(--gutter); background: var(--lime); display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem, 9vw, 9rem); align-items: end; }
.contact-hero .eyebrow { color: var(--ink); }
.contact-hero .lime-text { color: var(--white); text-shadow: 2px 2px 0 var(--ink); }
.contact-hero-copy > p { max-width: 34rem; margin: 2rem 0 0; font-size: 1.15rem; }
.contact-route-map { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.contact-route-map li { min-height: 4.4rem; display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; align-items: center; border-bottom: 1px solid rgba(26,26,26,.35); }
.contact-route-map b { font: 500 1.7rem/1 var(--display); }
.contact-route-map span { font-weight: 700; }
.contact-workspace { background: var(--paper); }
.contact-tabs { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--ink); }
.contact-tabs button { min-height: 4rem; border: 0; border-right: 1px solid var(--ink); background: transparent; cursor: pointer; font-weight: 700; }
.contact-tabs button:last-child { border-right: 0; }
.contact-tabs button[aria-selected="true"] { background: var(--ink); color: var(--white); }
.contact-form { margin-top: 4rem; display: grid; grid-template-columns: repeat(2,1fr); gap: 1.5rem 2rem; }
.contact-form[hidden] { display: none; }
.form-heading { grid-column: 1 / -1; margin-bottom: 1.5rem; display: grid; grid-template-columns: .4fr 1.6fr; align-items: start; }
.form-heading > span { color: var(--lime-ink); font-weight: 700; }
.contact-form label { display: flex; flex-direction: column; gap: .5rem; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; padding: .9rem 0; border: 0; border-bottom: 2px solid var(--ink); border-radius: 0; background: transparent; resize: vertical; }
.wide-field { grid-column: 1 / -1; }
.contact-form > button { width: max-content; min-height: 3.5rem; padding: .8rem 1.2rem; border: 0; background: var(--ink); color: var(--white); cursor: pointer; font-weight: 700; }
.contact-form > button { display: inline-flex; }
.legal-hero { min-height: 56svh; padding: clamp(5rem, 9vw, 9rem) var(--gutter); background: var(--paper); }
.legal-hero .eyebrow { margin-bottom: 3rem; }
.legal-hero p { color: var(--muted); }
.legal-copy { display: grid; grid-template-columns: .45fr 1.55fr; gap: clamp(3rem, 9vw, 9rem); }
.legal-index { align-self: start; position: sticky; top: 2rem; display: flex; flex-direction: column; border-top: 1px solid var(--ink); }
.legal-index a { padding: .8rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.legal-copy section { margin-bottom: 4rem; scroll-margin-top: 2rem; }
.legal-copy h2 { margin: 0 0 1rem; font: 600 clamp(2.7rem, 4vw, 4.5rem)/.9 var(--display); }
.legal-copy section p { max-width: 65ch; font-size: 1.1rem; }
.legal-copy aside { max-width: 55rem; padding: 1.2rem 0; border-top: 2px solid var(--lime-ink); background: var(--paper); font-weight: 700; }
.chapter-list { border-top: 1px solid var(--ink); }
.chapter-list button { width: 100%; padding: 1rem 0; display: grid; grid-template-columns: 5rem 1fr auto; gap: 1rem; text-align: left; border: 0; border-bottom: 1px solid var(--line); background: transparent; cursor: pointer; }
.chapter-list button:hover, .transcript-lines button:hover { background: var(--lime); }
.chapter-list time { color: var(--lime-ink); }
.transcript-lines button { width: 100%; margin: 0; padding: 1.4rem 0; display: grid; grid-template-columns: 5rem 6rem 1fr; gap: 1.2rem; text-align: left; border: 0; border-bottom: 1px solid var(--line); background: transparent; cursor: pointer; }
.transcript-lines button time { color: var(--lime-ink); font-variant-numeric: tabular-nums; }

.persistent-player { grid-template-columns: 3rem minmax(10rem,18rem) auto 2.6rem minmax(8rem,1fr) 2.6rem 4.5rem 2.5rem 5rem 7rem 2rem; gap: .65rem; }
.player-retry { min-height: 2.5rem; padding: .45rem .7rem; border: 1px solid var(--lime); color: var(--lime); background: transparent; font-weight: 700; cursor: pointer; }
.player-retry[hidden] { display: none; }
.persistent-player.is-live-track .player-back, .persistent-player.is-live-track .player-forward, .persistent-player.is-live-track .player-scrub, .persistent-player.is-live-track .player-speed { display: none; }
.persistent-player.is-live-track { grid-template-columns: 3rem minmax(12rem,1fr) auto 2.5rem 5rem 7rem 2rem; }
.player-skip, .player-mute { min-height: 2.5rem; border: 0; color: var(--white); background: #252626; cursor: pointer; }
.player-skip:disabled, .player-speed select:disabled { opacity: .35; cursor: not-allowed; }
.player-scrub input, .player-volume input { width: 100%; accent-color: var(--lime); }
.player-speed select { width: 100%; min-height: 2.5rem; border: 1px solid #444; color: var(--white); background: var(--black); }
.player-mute svg { width: 1.1rem; }
.player-mute.is-muted { color: var(--lime); }
.player-time { white-space: nowrap; font-size: .78rem; }
.player-close svg { width: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.8; }

.about-side { display: grid; gap: clamp(2rem, 5vw, 5rem); }
.about-signal { padding: 1.5rem; color: var(--white); background: var(--black); }
.about-signal > div { height: 8rem; display: flex; gap: .45rem; align-items: center; border-bottom: 1px solid #343434; }
.about-signal i { width: 100%; height: 22%; background: var(--lime); }
.about-signal i:nth-child(2), .about-signal i:nth-child(6) { height: 62%; }
.about-signal i:nth-child(3), .about-signal i:nth-child(8) { height: 38%; }
.about-signal i:nth-child(4) { height: 84%; }
.about-signal i:nth-child(7) { height: 72%; }
.about-signal ol { margin: 1.2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: .75rem; list-style: none; }
.about-signal li { min-width: 0; display: flex; flex-direction: column; }
.about-signal b { color: var(--lime); font: 600 1.5rem/1 var(--display); }
.about-signal span { margin-top: .35rem; color: #bdbdb7; font-size: .72rem; }
.about-side > p { max-width: 31rem; margin: 0 0 .8rem; font-size: 1.25rem; }

@media (max-width: 900px) {
  body.player-open { padding-bottom: 9.5rem; }
  .site-nav { gap: .5rem; }
  .featured-conversation, .room-tone, .inside-room, .listen-band, .reminder, .page-hero, .platform-page, .rss-explainer, .legal-copy, .contact-hero { grid-template-columns: 1fr; }
  .featured-conversation { min-height: auto; }
  .featured-index { min-height: 4rem; flex-direction: row; }
  .featured-machine { display: none; }
  .room-tone { min-height: auto; }
  .room-tone-index { min-height: 3rem; flex-direction: row; }
  .room-tone-disc { width: min(75vw, 20rem); }
  .featured-copy h2 { font-size: 3.7rem; }
  .featured-actions { align-items: flex-start; flex-direction: column; }
  .inside-intro, .legal-index { position: static; }
  .theme-river span { width: 100%; font-size: 3.4rem; }
  .transcript-moment { grid-template-columns: 1fr; }
  .transcript-moment blockquote { font-size: 3rem; }
  .moment-play { grid-column: 1; }
  .listen-band h2, .reminder h2, .inside-room h2 { font-size: 3.3rem; }
  .schedule-row { grid-template-columns: 1fr auto; gap: .6rem 1rem; }
  .schedule-status, .schedule-row time { grid-column: 1; }
  .schedule-row > div { grid-column: 1 / -1; }
  .schedule-action { grid-column: 1; width: max-content; }
  .schedule-preview .section-heading h2 { font-size: 3.2rem; white-space: normal; }
  .page-hero h1, .contact-hero h1, .legal-hero h1 { font-size: 3.8rem; }
  .page-hero-black .eyebrow { grid-column: 1; }
  .listen-disc { width: min(78vw,21rem); }
  .music-strip { grid-template-columns: 1fr 1fr; }
  .platform-directory a { grid-template-columns: 2.5rem 1fr; }
  .platform-directory a b { grid-column: 2; }
  .contact-tabs { grid-template-columns: 1fr; }
  .contact-tabs button { border-right: 0; border-bottom: 1px solid var(--ink); }
  .contact-tabs button:last-child { border-bottom: 0; }
  .contact-form { grid-template-columns: 1fr; }
  .form-heading, .wide-field { grid-column: 1; }
  .form-heading { grid-template-columns: 1fr; gap: 1rem; }
  .chapter-list button { grid-template-columns: 4rem 1fr; }
  .chapter-list button b { grid-column: 2; }
  .transcript-lines button { grid-template-columns: 4rem 1fr; }
  .transcript-lines button span { grid-column: 1 / -1; }
  .persistent-player { min-height: 9rem; grid-template-columns: 3rem minmax(0,1fr) auto 2.5rem 2.5rem 2rem; grid-template-rows: auto auto; padding: .7rem 1rem; }
  .persistent-player.is-live-track { grid-template-columns: 3rem minmax(0,1fr) auto 2rem; }
  .player-meta { grid-column: 2; }
  .player-retry { grid-column: 3; grid-row: 1; }
  .player-back { grid-column: 4; grid-row: 1; }
  .player-forward { grid-column: 5; grid-row: 1; }
  .player-close { grid-column: 6; grid-row: 1; }
  .player-scrub { grid-column: 1 / 5; grid-row: 2; }
  .player-time { grid-column: 5 / 7; grid-row: 2; display: block; text-align: right; }
  .persistent-player.is-live-track .player-close { grid-column: 4; }
  .persistent-player.is-live-track .player-time { grid-column: 2 / 4; }
  .player-speed, .player-mute, .player-volume { display: none; }
}

/* Desktop rhythm corrections from rendered review */
.transcript-moment blockquote { max-width: none; font-size: clamp(3.25rem, 5.4vw, 6.5rem); line-height: .88; }
.transcript-moment blockquote span { display: block; white-space: nowrap; }
.theme-river { display: grid; grid-template-columns: .85fr 1.1fr 1.8fr; }
.theme-river span { min-width: 0; padding: 1.2rem clamp(1.5rem, 3vw, 3.5rem); display: flex; align-items: center; font-size: clamp(3.5rem, 6vw, 7rem); }
.theme-river span:nth-child(4) { font-size: clamp(3.2rem, 4.2vw, 4.8rem); }
.about-principles > div { justify-content: flex-start; }
.about-principles h2 { margin: 4.5rem 0 1.5rem; }
.about-principles p { margin-top: auto; }

.site-footer { min-height: 0; padding: 0; display: block; color: var(--white); background: var(--black); }
.footer-lead { min-height: 23rem; padding: clamp(3rem, 6vw, 6rem) var(--gutter); display: grid; grid-template-columns: .3fr 1.25fr .45fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; border-bottom: 1px solid #303232; }
.footer-lead > div { align-self: center; }
.footer-kicker, .footer-directory > div > span { display: block; margin-bottom: 1rem; color: var(--lime); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.footer-lead h2 { max-width: 13ch; margin: 0; font: 500 clamp(3.2rem, 5.8vw, 6.5rem)/.82 var(--display); letter-spacing: -.02em; }
.footer-lead h2 span { display: block; white-space: nowrap; }
.footer-cta { align-self: end; padding: 1rem 0; display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--lime); border-bottom: 1px solid var(--lime); color: var(--white); font-weight: 700; text-decoration: none; }
.footer-cta b { color: var(--lime); }
.footer-directory { padding: 3rem var(--gutter) 4rem; display: grid; grid-template-columns: .7fr .7fr 1fr; gap: clamp(2rem, 7vw, 7rem); }
.footer-directory > div { display: flex; flex-direction: column; align-items: flex-start; }
.footer-directory a { margin: .3rem 0; color: #c4c4bf; text-decoration: none; }
.footer-directory a:hover { color: var(--lime); }
.footer-bottom { padding: 1.1rem var(--gutter); display: grid; grid-template-columns: 1fr auto auto; gap: 2rem; align-items: center; border-top: 1px solid #303232; color: #85857f; font-size: .75rem; }
.footer-bottom small { grid-column: auto; align-self: auto; }
.footer-bottom a { color: #bdbdb8; }

@media (max-width: 1100px) and (min-width: 901px) {
  .transcript-moment blockquote { font-size: clamp(3.1rem, 5.4vw, 5.3rem); }
  .theme-river { grid-template-columns: 1fr 1fr; }
  .theme-river span:last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .transcript-moment blockquote span { white-space: normal; }
  .theme-river { grid-template-columns: 1fr; }
  .theme-river span:last-child { grid-column: auto; }
  .about-principles h2 { margin-top: 3.5rem; }
  .footer-lead { grid-template-columns: 1fr; }
  .footer-lead h2 { font-size: 3.6rem; }
  .footer-lead h2 span { white-space: normal; }
  .footer-cta { width: 100%; }
  .footer-directory { grid-template-columns: 1fr 1fr; }
  .footer-directory > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { grid-template-columns: 1fr; gap: .5rem; }
}
