/* ═══════════════════════════════════════════════════════════════
   PRISMA — the morning, refracted
   One beam of white light, six wavelengths of news.
   Bricolage Grotesque display · Literata text · spectral accents.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --white: oklch(99% 0 0);
  --ink: oklch(18% 0.01 300);
  --ink-70: oklch(34% 0.01 300);
  --ink-50: oklch(48% 0.01 300);
  --line: oklch(90% 0.005 300);

  /* Six wavelengths, page order. Deep = text-safe, mid = beam, wash = tint. */
  --ai-deep: oklch(41% 0.17 295);      --ai-mid: oklch(62% 0.19 295);      --ai-wash: oklch(96.5% 0.02 295);
  --energy-deep: oklch(48% 0.13 70);   --energy-mid: oklch(74% 0.14 78);   --energy-wash: oklch(96.5% 0.03 80);
  --humana-deep: oklch(43% 0.12 155);  --humana-mid: oklch(66% 0.15 155);  --humana-wash: oklch(96.5% 0.025 155);
  --kyh-deep: oklch(43% 0.1 200);      --kyh-mid: oklch(67% 0.12 200);     --kyh-wash: oklch(96.5% 0.025 200);
  --analytics-deep: oklch(43% 0.13 250); --analytics-mid: oklch(63% 0.14 250); --analytics-wash: oklch(96.5% 0.025 250);
  --louisville-deep: oklch(46% 0.18 25); --louisville-mid: oklch(60% 0.21 27); --louisville-wash: oklch(96.5% 0.025 25);

  --display: "Bricolage Grotesque", "Avenir Next", "Segoe UI", sans-serif;
  --text: "Literata", Georgia, serif;

  --measure: 68ch;
  --gutter: clamp(1.1rem, 4vw, 3.4rem);
  --z-skip: 100;
  --z-spectrum: 40;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--text);
  font-size: 1.06rem;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { font-family: var(--display); text-wrap: balance; }
p { text-wrap: pretty; }
a { color: inherit; }
::selection { background: oklch(88% 0.06 295); }

.skip-link {
  position: absolute; left: 1rem; top: -4rem;
  background: var(--ink); color: var(--white);
  padding: 0.6rem 1.1rem; font-family: var(--display); font-weight: 700;
  z-index: var(--z-skip); text-decoration: none; transition: top 0.2s ease-out;
}
.skip-link:focus { top: 1rem; }

/* ═══ Masthead ═══ */
.mast { border-bottom: 1px solid var(--line); }
.mast-inner {
  max-width: 76rem; margin-inline: auto;
  padding: clamp(1.2rem, 3vw, 2rem) var(--gutter) clamp(1rem, 2vw, 1.4rem);
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem 2.2rem;
}
.mast-name {
  margin: 0;
  display: inline-flex; align-items: baseline; gap: 0.45rem;
  font-family: var(--display);
  font-weight: 800;
  font-size: clamp(1.9rem, 4.4vw, 2.7rem);
  letter-spacing: -0.02em;
  color: var(--ink);
}
.mast-name::after {
  content: "";
  width: 0.52em; height: 0.52em;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: var(--ai-deep);
  transform: translateY(-0.04em);
}
.mast-block { flex: 1 1 22rem; }
.mast-desc {
  margin: 0 0 0.15rem;
  font-family: var(--display); font-weight: 650;
  font-size: 1.06rem; letter-spacing: 0.005em;
  color: var(--ai-deep);
}
.mast-line { margin: 0; font-size: 0.98rem; line-height: 1.5; color: var(--ink-70); }
.mast-line em { font-style: italic; color: var(--ink); }
.mast-dim { color: var(--ink-50); font-size: 0.9rem; }

/* ═══ Hero ═══ */
.hero {
  position: relative;
  max-width: 76rem; margin-inline: auto;
  padding: clamp(1rem, 3vw, 2.4rem) var(--gutter) 0;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(1.4rem, 3vw, 3rem);
  align-items: center;
}
#prism {
  width: 100%; height: clamp(300px, 44vw, 460px);
  display: block; touch-action: manipulation;
}
.hero-copy { padding-bottom: clamp(1rem, 3vw, 2.2rem); }
.hero-head {
  margin: 0 0 0.7rem;
  font-size: clamp(2.3rem, 5.4vw, 4.1rem);
  font-weight: 750;
  line-height: 1.02;
  letter-spacing: -0.025em;
}
.hero-sub {
  margin: 0 0 0.9rem;
  max-width: 46ch;
  font-size: 1.08rem;
  color: var(--ink-70);
}
.hero-note {
  margin: 0;
  font-family: var(--display);
  font-size: 0.88rem;
  color: var(--ink-50);
  min-height: 2.6em;
}

/* ═══ Daily spoken edition ═══ */
.podcast { border-bottom: 1px solid var(--line); }
.podcast-inner {
  max-width: 76rem; margin-inline: auto;
  padding: 1.1rem var(--gutter) 1.35rem;
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.55rem 1rem; align-items: center;
  background: linear-gradient(120deg, var(--ai-wash), var(--white) 62%);
}
.podcast-mark {
  width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border-radius: 50%;
  background: var(--ai-deep); color: var(--white); font-family: var(--display); font-weight: 800; letter-spacing: -0.18em;
}
.podcast-copy { min-width: 0; }
.podcast-kicker { margin: 0 0 0.08rem; font-family: var(--display); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ai-deep); }
.podcast-copy h2 { margin: 0; font-size: 1.25rem; line-height: 1.12; font-weight: 730; }
.podcast-copy p:last-child { margin: 0.15rem 0 0; font-size: 0.84rem; line-height: 1.4; color: var(--ink-50); }
.podcast-transcript { font-family: var(--display); font-size: 0.82rem; font-weight: 650; color: var(--ai-deep); text-underline-offset: 3px; white-space: nowrap; }
.podcast-audio { grid-column: 2 / 4; width: 100%; height: 2.25rem; accent-color: var(--ai-deep); }
.podcast-player {
  --podcast-accent: var(--ai-deep);
  --podcast-mid: var(--ai-mid);
  --podcast-wash: var(--ai-wash);
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: auto minmax(12rem, 1fr) auto;
  align-items: center;
  gap: 0.9rem 1.1rem;
  min-width: 0;
  padding: 1rem;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid color-mix(in oklab, var(--podcast-accent) 24%, var(--line));
  border-radius: 1.2rem;
  background:
    radial-gradient(circle at 5% 0%, color-mix(in oklab, var(--podcast-mid) 12%, transparent), transparent 31%),
    linear-gradient(135deg, color-mix(in oklab, var(--podcast-wash) 68%, var(--white)), var(--white) 58%);
  box-shadow: 0 1rem 2.8rem color-mix(in oklab, var(--podcast-accent) 11%, transparent), inset 0 1px 0 color-mix(in oklab, var(--white) 78%, transparent);
  font-family: var(--display);
  transition: border-color 0.28s ease, background 0.28s ease, box-shadow 0.28s ease;
}
.podcast-player[hidden], .podcast-audio[hidden], .podcast-chapters[hidden], .podcast-now[hidden] { display: none; }
.podcast-now {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(0.8rem, 2vw, 1.25rem);
  min-width: 0;
  padding: 0 0.1rem 0.85rem;
  border-bottom: 1px solid color-mix(in oklab, var(--podcast-accent) 16%, var(--line));
}
.podcast-artwork-shell {
  position: relative;
  width: 8.5rem;
  aspect-ratio: 1;
  border-radius: 0.9rem;
  overflow: hidden;
  background: var(--ink);
  box-shadow: 0 0.55rem 1.35rem color-mix(in oklab, var(--podcast-accent) 22%, transparent);
}
.podcast-artwork-shell::after {
  content: "";
  position: absolute; inset: 0;
  border: 1px solid color-mix(in oklab, var(--white) 44%, transparent);
  border-radius: inherit;
  pointer-events: none;
}
.podcast-artwork { width: 100%; height: 100%; display: block; object-fit: cover; }
.podcast-now-copy { min-width: 0; }
.podcast-now-copy p {
  margin: 0 0 0.14rem;
  color: var(--podcast-accent);
  font: 780 0.68rem/1 var(--display);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.podcast-now-copy h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
}
.podcast-now-copy span { display: block; margin-top: 0.34rem; color: var(--ink-50); font-size: 0.78rem; font-variant-numeric: tabular-nums; }
.podcast-share {
  display: inline-flex !important;
  grid-auto-flow: column;
  gap: 0.45rem;
  min-height: 2.75rem;
  padding: 0 0.85rem !important;
  border-radius: 999px;
  white-space: nowrap;
}
.podcast-share svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.podcast-chapters {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem 0.85rem;
  min-width: 0;
  padding: 0.05rem 0.1rem 0.75rem;
  border-bottom: 1px solid color-mix(in oklab, var(--podcast-accent) 13%, var(--line));
}
.podcast-chapter-heading { display: flex; align-items: center; gap: 0.42rem; }
.podcast-chapter-heading p {
  margin: 0;
  color: var(--ink-50);
  font: 750 0.67rem/1 var(--display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.podcast-chapter-mark {
  width: 0.72rem; height: 0.72rem;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: var(--podcast-accent);
}
.podcast-chapter-buttons {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.42rem;
  min-width: 0;
}
.podcast-chapter-button {
  --chapter-deep: var(--ai-deep);
  --chapter-mid: var(--ai-mid);
  --chapter-wash: var(--ai-wash);
  position: relative;
  display: inline-flex !important;
  justify-content: flex-start;
  gap: 0.5rem;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0 0.65rem !important;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--chapter-deep) 16%, var(--line)) !important;
  border-radius: 0.72rem;
  color: var(--ink-70) !important;
  background: color-mix(in oklab, var(--white) 96%, var(--chapter-wash)) !important;
  font-size: 0.7rem !important;
  font-weight: 720 !important;
  letter-spacing: -0.005em;
  white-space: nowrap;
  box-shadow: 0 0.15rem 0.45rem color-mix(in oklab, var(--ink) 5%, transparent);
  transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.podcast-chapter-button:hover {
  transform: translateY(-1px);
  color: var(--chapter-deep) !important;
  border-color: color-mix(in oklab, var(--chapter-deep) 46%, var(--line)) !important;
  box-shadow: 0 0.35rem 0.8rem color-mix(in oklab, var(--chapter-deep) 10%, transparent);
}
.podcast-chapter-button[aria-pressed="true"] {
  color: var(--chapter-deep) !important;
  border-color: color-mix(in oklab, var(--chapter-deep) 58%, var(--line)) !important;
  background: linear-gradient(145deg, var(--white), var(--chapter-wash)) !important;
  box-shadow: inset 0 -2px 0 var(--chapter-mid), 0 0.35rem 0.9rem color-mix(in oklab, var(--chapter-deep) 13%, transparent);
}
.podcast-chapter-swatch {
  width: 0.24rem;
  height: 1.05rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--chapter-mid), var(--chapter-deep));
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--chapter-deep) 10%, transparent);
}
.podcast-chapter-spectrum {
  width: 0.8rem;
  height: 0.8rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: conic-gradient(var(--ai-mid), var(--energy-mid), var(--humana-mid), var(--kyh-mid), var(--analytics-mid), var(--louisville-mid), var(--ai-mid));
}
.podcast-chapter-all {
  --chapter-deep: var(--ink-70);
  --chapter-mid: var(--ai-mid);
  --chapter-wash: oklch(97% 0.008 295);
}
.chapter-ai { --chapter-deep: var(--ai-deep); --chapter-mid: var(--ai-mid); --chapter-wash: var(--ai-wash); }
.chapter-energy { --chapter-deep: var(--energy-deep); --chapter-mid: var(--energy-mid); --chapter-wash: var(--energy-wash); }
.chapter-humana { --chapter-deep: var(--humana-deep); --chapter-mid: var(--humana-mid); --chapter-wash: var(--humana-wash); }
.chapter-kyh { --chapter-deep: var(--kyh-deep); --chapter-mid: var(--kyh-mid); --chapter-wash: var(--kyh-wash); }
.chapter-analytics { --chapter-deep: var(--analytics-deep); --chapter-mid: var(--analytics-mid); --chapter-wash: var(--analytics-wash); }
.chapter-louisville { --chapter-deep: var(--louisville-deep); --chapter-mid: var(--louisville-mid); --chapter-wash: var(--louisville-wash); }
.podcast-transport, .podcast-options { display: flex; align-items: center; }
.podcast-transport { gap: 0.35rem; }
.podcast-player button, .podcast-speed {
  color: var(--podcast-accent);
  border: 1px solid color-mix(in oklab, var(--podcast-accent) 24%, var(--line));
  background: color-mix(in oklab, var(--white) 92%, var(--podcast-wash));
  font: 700 0.78rem/1 var(--display);
}
.podcast-player button { display: grid; place-items: center; padding: 0; cursor: pointer; }
.podcast-player button:hover { background: var(--podcast-wash); border-color: color-mix(in oklab, var(--podcast-accent) 42%, var(--line)); }
.podcast-player button:focus-visible, .podcast-speed:focus-visible, .podcast-player input:focus-visible {
  outline: 3px solid color-mix(in oklab, var(--podcast-mid) 48%, transparent);
  outline-offset: 3px;
}
.podcast-skip { width: 2.75rem; height: 2.75rem; border-radius: 50%; }
.podcast-skip svg { width: 2rem; height: 2rem; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.podcast-skip text { fill: currentColor; stroke: none; font: 800 8px var(--display); text-anchor: middle; }
.podcast-play {
  width: 3.25rem; height: 3.25rem; border: 0 !important; border-radius: 50%;
  color: var(--white) !important; background: var(--podcast-accent) !important;
  box-shadow: 0 0.3rem 0.85rem color-mix(in oklab, var(--podcast-accent) 24%, transparent);
}
.podcast-play:hover { background: color-mix(in oklab, var(--podcast-accent) 88%, var(--ink)) !important; transform: translateY(-1px); }
.podcast-play svg { width: 1.65rem; height: 1.65rem; fill: currentColor; }
.podcast-play-icon { transform: translateX(1px); }
.podcast-pause-icon, .is-playing .podcast-play-icon { display: none; }
.is-playing .podcast-pause-icon { display: block; }
.podcast-timeline-wrap { min-width: 0; display: grid; gap: 0.28rem; }
.podcast-timeline {
  --progress: 0%;
  width: 100%; height: 1.5rem; margin: 0; cursor: pointer; appearance: none; background: transparent;
}
.podcast-timeline::-webkit-slider-runnable-track {
  height: 0.34rem; border-radius: 1rem;
  background: linear-gradient(90deg, var(--podcast-accent) var(--progress), color-mix(in oklab, var(--podcast-accent) 16%, var(--line)) var(--progress));
}
.podcast-timeline::-moz-range-track { height: 0.34rem; border-radius: 1rem; background: color-mix(in oklab, var(--podcast-accent) 16%, var(--line)); }
.podcast-timeline::-moz-range-progress { height: 0.34rem; border-radius: 1rem; background: var(--podcast-accent); }
.podcast-timeline::-webkit-slider-thumb {
  appearance: none; width: 1rem; height: 1rem; margin-top: -0.33rem; border: 3px solid var(--white); border-radius: 50%; background: var(--podcast-accent); box-shadow: 0 0 0 1px var(--podcast-accent);
}
.podcast-timeline::-moz-range-thumb { width: 0.75rem; height: 0.75rem; border: 3px solid var(--white); border-radius: 50%; background: var(--podcast-accent); box-shadow: 0 0 0 1px var(--podcast-accent); }
.podcast-time { display: flex; gap: 0.35rem; color: var(--ink-50); font-size: 0.73rem; font-variant-numeric: tabular-nums; }
.podcast-options { justify-content: flex-end; gap: 0.35rem; }
.podcast-speed-label { color: var(--ink-50); font-size: 0.7rem; font-weight: 650; }
.podcast-speed { min-height: 2.5rem; padding: 0 1.75rem 0 0.65rem; border-radius: 999px; cursor: pointer; }
.podcast-mute { width: 2.5rem; height: 2.5rem; border-radius: 50%; }
.podcast-mute svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.podcast-muted-icon, .is-muted .podcast-volume-icon { display: none; }
.is-muted .podcast-muted-icon { display: block; }
.podcast-volume { width: 4.2rem; accent-color: var(--podcast-accent); cursor: pointer; }
.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; }

/* ═══ Spectrum index ═══ */
.spectrum {
  position: sticky; top: 0; z-index: var(--z-spectrum);
  display: flex;
  border-block: 1px solid var(--line);
  background: color-mix(in oklab, var(--white) 92%, transparent);
  backdrop-filter: blur(10px);
}
.spec-seg {
  flex: 1 1 0; min-width: 0;
  display: flex; flex-direction: column; align-items: center; gap: 0.22rem;
  padding: 0.55rem 0.3rem 0.5rem;
  font-family: var(--display);
  font-size: 0.82rem; font-weight: 600;
  text-decoration: none; color: var(--ink-70);
  border-bottom: 3px solid transparent;
  transition: background 0.25s ease-out, border-color 0.25s ease-out, color 0.25s ease-out;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.spec-seg .spec-wave { width: 100%; max-width: 3.4rem; height: 4px; border-radius: 2px; background: var(--seg-mid, var(--ink-50)); }
.spec-seg .spec-count { font-weight: 400; color: var(--ink-50); font-size: 0.76rem; }
.spec-seg:hover { background: var(--seg-wash, var(--line)); color: var(--ink); }
.spec-seg[aria-current="true"] { border-bottom-color: var(--seg-deep, var(--ink)); color: var(--seg-deep, var(--ink)); background: var(--seg-wash, transparent); }

/* ═══ Bands ═══ */
.band { border-bottom: 1px solid var(--line); scroll-margin-top: 4.6rem; }
.band-inner {
  max-width: 76rem; margin-inline: auto;
  padding: clamp(2rem, 5vw, 3.6rem) var(--gutter) clamp(2.2rem, 5vw, 3.8rem);
  display: grid;
  grid-template-columns: minmax(9.5rem, 15rem) minmax(0, 1fr);
  gap: clamp(1.3rem, 4vw, 4rem);
}
.band-side { position: relative; }
.band-rail {
  position: sticky; top: 4.4rem;
  display: flex; flex-direction: column; gap: 0.7rem;
}
.band-swatch {
  width: 100%; height: 0.65rem; border-radius: 999px;
  background: linear-gradient(90deg, var(--band-mid), color-mix(in oklab, var(--band-mid) 20%, var(--white)));
}
.band-title {
  margin: 0;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 750; letter-spacing: -0.02em;
  line-height: 1.06;
  color: var(--band-deep);
}
.band-deck { margin: 0; font-size: 0.92rem; line-height: 1.5; color: var(--ink-70); }
.band-updated { margin: 0; font-family: var(--display); font-size: 0.8rem; color: var(--ink-50); }

.band-flow { display: flex; flex-direction: column; gap: clamp(1.7rem, 3.5vw, 2.6rem); max-width: var(--measure); }

/* Story */
.story { position: relative; }
@media (max-width: 880px) {
  .gloss { position: static; }
  .gloss-def { left: 0; right: 0; width: auto; }
}
.story + .story { padding-top: clamp(1.6rem, 3vw, 2.4rem); border-top: 1px dashed var(--line); }
.story-head {
  margin: 0 0 0.55rem;
  font-size: clamp(1.28rem, 2.4vw, 1.62rem);
  font-weight: 680;
  line-height: 1.16;
  letter-spacing: -0.015em;
}
.story-head a { text-decoration: none; }
.story-head a:hover { color: var(--band-deep); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.story-kick {
  font-family: var(--display); font-weight: 600;
  font-size: 0.82rem; color: var(--band-deep);
  margin: 0 0 0.3rem;
}
.story-sum { margin: 0 0 0.75rem; }
.story-why {
  margin: 0 0 0.8rem;
  padding: 0.55rem 0.9rem;
  background: var(--band-wash);
  border-radius: 0.55rem;
  font-size: 0.98rem; line-height: 1.55;
  color: var(--ink-70);
}
.story-why strong { color: var(--band-deep); font-family: var(--display); font-weight: 650; font-size: 0.86rem; }

/* Glossary */
.story-gloss { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0 0 0.75rem; }
.gloss { position: relative; }
.gloss summary {
  list-style: none; cursor: pointer;
  font-family: var(--display); font-size: 0.82rem; font-weight: 600;
  color: var(--ink-70);
  padding: 0.22rem 0.65rem;
  border: 1px solid var(--line); border-radius: 999px;
  transition: border-color 0.2s ease-out, color 0.2s ease-out, background 0.2s ease-out;
}
.gloss summary::-webkit-details-marker { display: none; }
.gloss summary::before { content: "◦ "; color: var(--band-mid); }
.gloss summary:hover { border-color: var(--band-mid); color: var(--band-deep); }
.gloss[open] summary { background: var(--band-wash); border-color: var(--band-mid); color: var(--band-deep); }
.gloss-def {
  position: absolute; left: 0; top: calc(100% + 0.45rem);
  width: min(30rem, 82vw);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 0.7rem;
  box-shadow: 0 14px 38px -12px oklch(30% 0.03 295 / 0.35);
  padding: 0.8rem 1rem;
  font-size: 0.92rem; line-height: 1.55;
  z-index: 30;
}
.gloss-def p { margin: 0; }
.gloss-def .gloss-why { margin-top: 0.4rem; color: var(--ink-70); font-size: 0.88rem; }

.story-meta {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem 1.1rem;
  font-family: var(--display); font-size: 0.84rem; color: var(--ink-50);
}
.story-meta .learn { color: var(--band-deep); font-weight: 600; text-underline-offset: 3px; }

.band-empty { margin: 0; color: var(--ink-50); font-style: italic; }

/* ═══ Error + foot ═══ */
.wire-error { max-width: 76rem; margin-inline: auto; padding: 2.5rem var(--gutter); }
.foot {
  max-width: 76rem; margin-inline: auto;
  padding: clamp(2rem, 5vw, 3rem) var(--gutter) clamp(2.4rem, 5vw, 3.4rem);
  color: var(--ink-70); font-size: 0.95rem;
}
.foot p { margin: 0.25rem 0; }
.foot-name { font-family: var(--display); font-weight: 800; font-size: 1.25rem; color: var(--ink); }
.foot-dim { color: var(--ink-50); font-style: italic; }

/* ═══ Responsive ═══ */
@media (max-width: 880px) {
  .hero { grid-template-columns: 1fr; padding-top: 0.4rem; }
  #prism { height: clamp(240px, 58vw, 340px); }
  .hero-copy { order: -1; padding-bottom: 0; padding-top: 0.6rem; }
  .podcast-inner { grid-template-columns: auto minmax(0, 1fr); }
  .podcast-transcript { grid-column: 2; }
  .podcast-audio, .podcast-player { grid-column: 1 / -1; }
  .podcast-player { grid-template-columns: auto minmax(10rem, 1fr); }
  .podcast-options { grid-column: 2; justify-content: flex-start; }
  .band-inner { grid-template-columns: 1fr; gap: 1.1rem; }
  .band-rail { position: static; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1rem; }
  .band-swatch { width: 3.2rem; height: 0.5rem; }
  .band-title { font-size: 1.45rem; }
  .band-deck { flex-basis: 100%; }
  .spec-seg { font-size: 0.72rem; padding-inline: 0.15rem; }
  .spec-seg .spec-count { display: none; }
}

@media (max-width: 560px) {
  .podcast-inner { padding-block: 1rem 1.2rem; }
  .podcast-player { grid-template-columns: 1fr; gap: 0.65rem; padding: 0.75rem; }
  .podcast-now { grid-template-columns: 5.75rem minmax(0, 1fr); grid-row: 1; gap: 0.75rem; }
  .podcast-artwork-shell { width: 5.75rem; border-radius: 0.72rem; }
  .podcast-now-copy h3 { font-size: 1.32rem; }
  .podcast-share { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .podcast-chapters { grid-template-columns: 1fr; gap: 0.55rem; grid-row: 2; }
  .podcast-chapter-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .podcast-chapter-button { width: 100%; min-width: 0; padding-inline: 0.6rem !important; font-size: 0.72rem !important; }
  .podcast-chapter-label { white-space: nowrap; }
  .podcast-transport { justify-content: center; grid-row: 3; }
  .podcast-timeline-wrap { grid-row: 4; }
  .podcast-options { grid-column: 1; grid-row: 5; justify-content: center; }
  .podcast-volume { width: 3.6rem; }
  .podcast-speed-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .spec-seg, .gloss summary { transition: none; }
}
