@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/bodoni-moda-500-italic.ttf) format('truetype');
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/bodoni-moda-500-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/jost-400-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/jost-500-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/jost-600-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/jost-400-italic.ttf) format('truetype');
}

@layer reset, base, layout, components, responsive, motion;
@layer reset {
  *, *::before, *::after { box-sizing: border-box; min-inline-size: 0; }
  body, h1, h2, h3, p, figure, blockquote { margin: 0; }
  button, input, select, textarea { font: inherit; }
  button, select, summary { cursor: pointer; }
  img, svg { display: block; max-inline-size: 100%; block-size: auto; }
  button { border: 0; }
  [hidden] { display: none !important; }
}
@layer base {
  :root {
    --paper: oklch(96% .008 106);
    --surface: oklch(92% .014 128);
    --sage: oklch(81% .038 157);
    --ink: oklch(27% .025 171);
    --muted: oklch(43% .022 169);
    --accent: oklch(37% .065 165);
    --light-ink: oklch(90% .022 147);
    --input-edge: oklch(53% .024 163);
    --focus: var(--accent);
    --body-font: Jost, "Avenir Next", Arial, sans-serif;
    --display-font: "Bodoni Moda", Georgia, serif;
    --small: .875rem;
    --body: clamp(1.0625rem, 1rem + .12vw, 1.1875rem);
    --lead: clamp(1.25rem, 1.12rem + .5vw, 1.625rem);
    --heading: clamp(2rem, 1.3rem + 2.8vw, 4rem);
    --display: clamp(3rem, 1.8rem + 4.8vw, 7.5rem);
    --gutter: clamp(1.25rem, .4rem + 2.8vw, 3rem);
    --section-space: clamp(4rem, 2rem + 6vw, 8rem);
    --ease-out: cubic-bezier(.22, 1, .36, 1);
    --ease-in-out: cubic-bezier(.76, 0, .24, 1);
    --player-height: 0px;
    color-scheme: light;
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    scrollbar-gutter: stable;
    text-wrap: pretty;
  }
  html { scroll-padding-block-start: 1.5rem; scroll-padding-block-end: calc(var(--player-height) + 1rem); }
  body { background: var(--paper); color: var(--ink); font: 400 var(--body)/1.55 var(--body-font); padding-block-end: var(--player-height); }
  h1,h2,h3 { font-family: var(--display-font); font-weight: 500; font-optical-sizing: auto; text-wrap: balance; letter-spacing: -.025em; }
  h1 { font-size: var(--display); line-height: 1.03; }
  h2 { font-size: var(--heading); line-height: 1.1; }
  h3 { font-size: var(--lead); line-height: 1.2; }
  p { max-inline-size: 64ch; }
  p+p { margin-block-start: .9em; }
  a { color: inherit; text-decoration-thickness: .07em; text-underline-offset: .22em; }
  h1 a,h2 a,h3 a { text-decoration: none; }
  a,button,[role="button"] { touch-action: manipulation; }
  :focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
  ::selection { background: var(--sage); color: var(--ink); }
  button,input,textarea,select { color: inherit; }
  input:not([type="checkbox"]):not([type="range"]),textarea,select { inline-size: 100%; border: 1px solid var(--input-edge); border-radius: 0; background: var(--paper); padding: .8rem 1rem; min-block-size: 3.25rem; font-size: max(1rem,16px); }
  input::placeholder,textarea::placeholder { color: var(--muted); opacity: 1; }
  textarea { resize: vertical; text-wrap: stable; }
  label { display: block; margin-block-end: .5rem; }
  input[type="checkbox"] { accent-color: var(--accent); inline-size: 1.25rem; block-size: 1.25rem; flex: none; }
  form>label:not(:first-child),form>.form-pair+label { margin-block-start: 1.4rem; }
  .lead { font-size: var(--lead); line-height: 1.5; max-inline-size: 45ch; }
  .meta,.note { color: var(--muted); font-size: var(--small); }
  .meta { font-variant-numeric: tabular-nums; }
  .text-link,.back-link { display: inline-flex; align-items: center; min-block-size: 2.75rem; }
  .back-link { margin-block-end: 2rem; }
  .button,.quiet-button,.chapter-time { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-block-size: 3.25rem; padding: .85rem 1.35rem; background: var(--accent); color: var(--paper); font: 500 1rem/1.2 var(--body-font); text-decoration: none; }
  .button svg,.chapter-time svg { inline-size: .8rem; block-size: .8rem; flex: none; }
  .quiet-button { background: var(--surface); color: var(--ink); }
  .chapter-time { background: none; color: var(--accent); padding-inline: .4rem; font-variant-numeric: tabular-nums; }
  .button[data-playing="true"] { background: var(--ink); }
  :is(a,summary,button):active { filter: brightness(.85); }
  .actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; margin-block-start: 1.75rem; }
  .field { padding-block: var(--section-space); }
  .wrap { max-inline-size: 90rem; padding-inline: var(--gutter); margin-inline: auto; }
  .paper { background: var(--surface); }
  .skip-link { position: absolute; inset-inline-start: 1rem; inset-block-start: -6rem; z-index: 20; padding: 1rem; background: var(--ink); color: var(--paper); }
  .skip-link:focus { inset-block-start: 1rem; }
}
@layer layout {
  .review-notice { background: var(--ink); color: var(--paper); font-size: .8125rem; padding-block: .4rem; }
  .review-notice .wrap { display: flex; justify-content: space-between; gap: 1rem; }
  .header-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 1.4rem; }
  .site-header { position: relative; z-index: 9; }
  .wordmark { font: 500 1.75rem/1 var(--display-font); letter-spacing: -.03em; text-decoration: none; }
  .wordmark span { display: block; font: 400 .875rem/1.3 var(--body-font); letter-spacing: 0; margin-block-start: .3rem; }
  .desktop-nav { display: flex; gap: clamp(1rem, 2.25vw, 2.5rem); align-items: center; }
  .desktop-nav a { display: flex; align-items: center; min-block-size: 2.75rem; text-decoration: none; font-size: 1rem; }
  nav [aria-current="page"] { text-decoration: underline; text-decoration-thickness: .14em; text-underline-offset: .4em; }
  .mobile-nav { display: none; }
  .station-hero { padding-block: 1rem 4rem; }
  .masthead { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 2rem; }
  .station-name { font-size: clamp(5rem, 1rem + 13vw, 12.5rem); line-height: 1; letter-spacing: -.055em; }
  .masthead-aside { padding-block-end: 1rem; }
  .masthead-aside p:first-of-type { font-family: var(--display-font); font-size: var(--lead); font-weight: 500; }
  .masthead-aside p+p { margin-block-start: .35rem; font-size: var(--small); }
  .station-tagline { margin-block: 1.75rem 2.5rem; font-size: var(--lead); max-inline-size: none; }
  .latest-broadcast { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); align-items: center; gap: clamp(2rem,5.5vw,5rem); }
  .broadcast-cover { display: block; background: var(--ink); overflow: clip; }
  .broadcast-cover img { inline-size: 100%; aspect-ratio: 1; object-fit: contain; }
  .broadcast-copy h2 { font-size: clamp(2.5rem,1.5rem + 3.5vw,5rem); }
  .broadcast-copy>.meta { margin-block: .85rem 1.2rem; }
  .broadcast-copy>p:last-of-type { max-inline-size: 48ch; }
  .broadcast-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1.5rem; margin-block-start: 1.6rem; }
  .broadcast-starts { margin-block-start: 2rem; }
  .broadcast-starts>p { font-size: var(--small); color: var(--muted); }
  .broadcast-starts ul { list-style: none; padding: 0; margin-block: .25rem 0; }
  .broadcast-starts li { display: grid; grid-template-columns: 5.75rem minmax(0,1fr); align-items: center; gap: 1rem; font-size: 1rem; }
  .broadcast-starts .chapter-time { min-block-size: 2.75rem; padding-block: .6rem; justify-content: start; }
  .archive-field { background: var(--surface); }
  .archive-heading { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); gap: clamp(2rem,5.5vw,5rem); align-items: start; margin-block-end: 3rem; }
  .archive-heading p { margin-block-start: 1rem; }
  .archive-heading>div>p { max-inline-size: 35ch; }
  .chapter-finder label { font-size: var(--lead); }
  .finder-input { display: flex; gap: .5rem; }
  .finder-input input { flex: 1; }
  .chapter-finder .note { margin-block-start: .6rem; }
  .subject-index { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; border: 0; padding: 0; margin: 1.5rem 0 0; }
  .subject-index legend { font-size: var(--small); margin-block-end: .5rem; }
  .subject-index button { display: grid; gap: .2rem; padding: .65rem .5rem; text-align: start; background: var(--paper); color: var(--ink); }
  .subject-index button>span:first-child { font: 500 1.5rem/1.2 var(--display-font); }
  .subject-index .subject-count { font-size: .8125rem; }
  .subject-index button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
  .episode-list { display: grid; gap: 3rem; }
  .episode-row { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); gap: clamp(2rem,5.5vw,5rem); align-items: center; }
  .episode-art { display: block; inline-size: min(100%,18rem); justify-self: end; }
  .episode-art img { inline-size: 100%; }
  .episode-copy h3 { font-size: clamp(2rem,1.3rem + 1.6vw,3rem); }
  .episode-copy .meta { margin-block: .6rem .9rem; }
  .episode-copy>p:last-of-type { max-inline-size: 47ch; }
  .episode-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; margin-block-start: 1.25rem; }
  .episode-actions .button { background: var(--ink); }
  .episode-options { font-size: var(--small); }
  .episode-options summary { min-block-size: 2.75rem; padding-block: .65rem; }
  .episode-options div { display: grid; gap: .3rem; }
  .episode-options a { display: flex; align-items: center; min-block-size: 2.75rem; }
  .chapter-results { padding: 0; margin: 0; list-style: none; display: grid; gap: .5rem; }
  .chapter-results li { background: var(--paper); padding: 1rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
  .chapter-results li>div { display: flex; align-items: center; gap: 1.5rem; }
  .chapter-results li>a { font-size: var(--small); min-block-size: 2.75rem; display: inline-flex; align-items: center; }
  .chapter-results .chapter-time { flex: none; }
  .finder-empty { padding-block: 3rem; }
  .about-field { background: var(--sage); }
  .forum-layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); gap: clamp(2rem,5.5vw,5rem); align-items: start; }
  .place-name>p { font: 500 clamp(2rem,1.3rem + 2.8vw,4rem)/1.15 var(--display-font); letter-spacing: -.025em; }
  .place-name .text-link { margin-block-start: 2rem; }
  .forum-layout h2 { margin-block-end: 1.5rem; }
  .host-list { list-style: none; padding: 0; margin-block: 2rem 1.25rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 2rem; font-weight: 500; }
  .gazette-poster { background: var(--ink); color: var(--paper); --focus: var(--sage); }
  .gazette-poster .meta { color: var(--light-ink); }
  .gazette-poster-meta { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); gap: clamp(2rem,5.5vw,5rem); }
  .gazette-poster-meta>p { max-inline-size: 28ch; font-size: var(--lead); }
  .gazette-poster-meta h3 { font-size: var(--heading); margin-block-end: 1rem; }
  .gazette-display { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-block-start: 4rem; font: 500 clamp(5rem,1rem + 13vw,12.5rem)/1 var(--display-font); letter-spacing: -.045em; text-decoration: none; }
  .gazette-display svg { inline-size: clamp(2.5rem,7vw,6rem); flex: none; }
  .apps-field { padding-block: 3rem; background: var(--surface); }
  .app-layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); gap: clamp(2rem,5.5vw,5rem); align-items: start; }
  .app-links { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin-block-start: 1rem; }
  .app-links a { min-block-size: 2.75rem; display: inline-flex; align-items: center; font-weight: 500; }
  .form-layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); gap: clamp(2rem,5.5vw,5rem); }
  .form-layout h2 { margin-block-end: 1.25rem; }
  .form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .checkbox-label { display: flex; align-items: start; gap: .75rem; padding-block: .7rem; font-size: var(--small); }
  form .button { margin-block-start: 1.25rem; }
  .form-status { margin-block-start: 1.25rem; }
  .form-status:empty { display: none; }
  .site-footer { padding-block: 3rem; background: var(--ink); color: var(--paper); --focus: var(--sage); }
  .site-footer>.wrap { display: flex; flex-direction: column; }
  .footer-sign { order: -2; align-self: flex-start; font: 500 clamp(5rem,1rem + 16vw,12.5rem)/1.15 var(--display-font); letter-spacing: -.055em; text-decoration: none; }
  .footer-subtitle { order: -1; font-size: var(--lead); margin-block: 1rem 3rem; }
  .footer-top { display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: 1rem 3rem; }
  .footer-top nav { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem 2rem; }
  .footer-top a { display: inline-flex; align-items: center; min-block-size: 2.75rem; font-size: var(--small); }
  .hero-field { padding-block: 1.75rem 4rem; }
  .episode-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.72fr); gap: clamp(2rem,5.5vw,5rem); align-items: center; }
  .hero-copy .meta { margin-block: 1.5rem; }
  .hero-copy h1 { font-size: clamp(3rem,1.4rem + 4.2vw,6rem); }
  .hero-art { inline-size: 100%; aspect-ratio: 1; object-fit: contain; }
  .episode-nav { position: sticky; inset-block-start: 0; z-index: 6; background: var(--ink); color: var(--paper); --focus: var(--sage); }
  .jump-links { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 2rem; padding-block: .5rem; }
  .jump-links a { display: inline-flex; align-items: center; min-block-size: 2.75rem; text-decoration: none; }
  .jump-links a[aria-current="location"] { text-decoration: underline; text-decoration-thickness: .14em; }
  .page-episode :is(#about-episode,#chapters,#resources) { scroll-margin-block-start: 5.5rem; }
  .text-split { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); gap: clamp(2rem,5.5vw,5rem); align-items: start; }
  .text-split h2 { margin-block-end: 1.25rem; }
  .chapter-list,.resource-list { list-style: none; margin: 0; padding: 0; }
  .chapter-list { display: grid; gap: .4rem; }
  .chapter-list li { display: grid; grid-template-columns: 6rem minmax(0,1fr); align-items: center; gap: 1rem; background: var(--paper); padding: .65rem 1rem; }
  .chapter-list li[data-current="true"] { background: var(--sage); }
  .resource-list { display: grid; gap: 2.5rem; }
  .resource-sidebar { position: sticky; inset-block-start: 6rem; }
  .rrf-resource { display: grid; grid-template-columns: 4.5rem minmax(0,1fr); gap: 1rem; }
  .rrf-resource h3 { font: 500 var(--lead)/1.35 var(--body-font); letter-spacing: 0; margin-block-end: .6rem; text-wrap: pretty; }
  .rrf-resource h3 a { text-decoration: underline; }
  .rrf-resource p { margin-block-start: .4rem; }
  .rrf-resource__time { min-block-size: 2.75rem; display: flex; align-items: start; padding-block: .3rem; color: var(--accent); font-size: var(--small); }
  .resource-tools { margin-block-start: 2rem; }
  .resource-kinds { display: flex; flex-wrap: wrap; gap: .5rem; margin-block-start: .75rem; }
  .resource-kinds button { background: var(--surface); padding: .65rem .8rem; min-block-size: 2.75rem; font-size: var(--small); }
  .resource-kinds button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
  .resource-status { margin-block-start: 1rem; }
  .text-button { background: none; color: var(--ink); padding-block: .6rem; padding-inline: 0; min-block-size: 2.75rem; text-decoration: underline; text-underline-offset: .2em; }
  .resource-empty { padding: 2rem; background: var(--surface); }
  .episode-pagination { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap: 2rem; padding-block: 2rem 4rem; }
  .episode-pagination a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem 1rem; padding: 1.5rem; background: var(--surface); text-decoration: none; }
  .episode-pagination .meta { grid-column: 1 / -1; }
  .episode-pagination-title { font: 500 var(--lead)/1.25 var(--display-font); }
  .gazette-heading { padding-block: 2rem 3rem; background: var(--sage); }
  .gazette-heading h1 { font-size: clamp(3rem,1rem + 7vw,8.5rem); line-height: 1.1; }
  .gazette-heading p { margin-block-start: 1.5rem; }
  .gazette-latest { padding-block: 4rem; }
  .latest-article { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.72fr); gap: clamp(2rem,5.5vw,5rem); align-items: center; }
  .latest-article h2 { font-size: var(--display); }
  .latest-article .meta { margin-block: 1.25rem; }
  .latest-article .button { margin-block-start: 1.75rem; }
  .latest-article blockquote { font-size: var(--lead); line-height: 1.6; padding: 2rem; background: var(--surface); }
  .filter-status { margin-block-start: 2.5rem; }
  .filters summary { inline-size: fit-content; min-block-size: 2.75rem; padding-block: .6rem; }
  .filter-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; padding-block-start: 1rem; }
  .filter-form .button { margin: 0; }
  .clear-filters { display: inline-flex; align-items: center; min-block-size: 2.75rem; }
  .book-field { background: var(--ink); color: var(--paper); --focus: var(--sage); }
  .book-field .meta { color: var(--light-ink); }
  .book-field .button { background: var(--sage); color: var(--ink); }
  .book-layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); gap: clamp(2rem,5.5vw,5rem); align-items: center; }
  .book-cover { inline-size: min(100%,21rem); justify-self: center; }
  .book-layout h2 { margin-block-end: 1.2rem; }
  .reading-header { padding-block: 1.75rem 4rem; }
  .reading-header .meta { margin-block: 1.5rem; }
  .reading-field { padding-block-start: 0; }
  .reading-layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1fr); gap: clamp(2rem,5.5vw,5rem); align-items: start; }
  .reading-index { position: sticky; inset-block-start: 2rem; }
  .reading-index summary { min-block-size: 2.75rem; font-weight: 500; }
  .reading-index nav { display: grid; max-inline-size: 29ch; gap: .5rem; }
  .reading-index a { display: flex; align-items: center; min-block-size: 2.75rem; font-size: 1rem; }
  .rrf-reading__body { font-size: 1.1875rem; line-height: 1.8; max-inline-size: 65ch; }
  .rrf-reading__body p { margin-block-start: 1.1em; }
  .rrf-reading__body>p:first-child { margin-block-start: 0; }
  .rrf-reading__body h2 { font-size: clamp(2rem,1.5rem + 1.5vw,3rem); margin-block: 3rem 1.25rem; scroll-margin-block-start: 2rem; }
  .rrf-reading__body blockquote { padding: 1.5rem 2rem; background: var(--surface); margin-block: 2rem; }
  .rrf-reading__body blockquote p:first-child { margin-block-start: 0; }
  .end-note { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
}
@layer components {
  dialog { inline-size: min(52rem,calc(100% - 2rem)); max-block-size: calc(100dvh - 2rem); padding: 0; border: 0; color: var(--ink); background: var(--paper); }
  dialog::backdrop { background: color-mix(in oklch,var(--ink) 80%,transparent); }
  dialog[open] { display: flex; flex-direction: column; }
  html:has(dialog:modal) { overflow: hidden; }
  .dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; background: var(--sage); flex: none; }
  .dialog-head h2 { font-size: 2rem; }
  .sample-tools { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1rem; padding: 1rem 1.5rem; flex: none; }
  .sample-tools label { margin: 0; font-size: var(--small); }
  .sample-tools .note { margin: 0; white-space: nowrap; }
  .sample-reading { overflow: auto; overscroll-behavior: contain; padding: 1.5rem 2.5rem 2.5rem; min-block-size: 0; }
  .sample-reading h3,.sample-full h3 { margin-block: 1rem; font-size: var(--lead); }
  .sample-reading img { max-block-size: 52dvh; inline-size: auto; margin-inline: auto; }
  .sample-reading ol { padding-inline-start: 1.3rem; }
  .sample-pager { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem 1rem; padding: 1rem 1.5rem; background: var(--surface); flex: none; }
  .sample-full-link { grid-column: 1/-1; justify-self: center; display: inline-flex; align-items: center; min-block-size: 2.75rem; font-size: var(--small); }
  button:disabled { opacity: .45; cursor: default; }
  .sample-full { max-inline-size: 80rem; }
  .sample-opening { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.55fr); align-items: center; gap: 4rem; margin-block-end: 4rem; }
  .sample-opening h1 { font-size: clamp(2.5rem,1.5rem + 3.5vw,5rem); }
  .sample-opening-copy>p { margin-block-start: 1.25rem; }
  .sample-opening #sample-section-0 { margin: 0; }
  .sample-full>section,.sample-end { max-inline-size: 46rem; margin-inline: auto; margin-block-start: 3rem; }
  .sample-full img { max-inline-size: min(20rem,100%); }
  .book-contents { padding: 1.5rem; background: var(--paper); }
  .book-contents summary { min-block-size: 2.75rem; padding-block: .6rem; font-weight: 500; }
  .sample-index { margin-block: 2rem; }
  .sample-index summary { min-block-size: 2.75rem; padding-block: .65rem; font-weight: 500; }
  .sample-index nav { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap: .5rem 1.5rem; padding-block-start: .5rem; }
  .sample-index a { display: flex; align-items: center; min-block-size: 2.75rem; }
  .sample-end { margin-block-start: 4rem; padding: 2rem; background: var(--paper); }
  .sample-end p { margin-block-start: 1rem; }
  .player { position: fixed; z-index: 10; inset-inline: 0; inset-block-end: 0; background: var(--ink); color: var(--paper); color-scheme: dark; --focus: var(--sage); }
  .player-inner { max-inline-size: 90rem; margin-inline: auto; padding: .75rem var(--gutter) calc(.75rem + env(safe-area-inset-bottom,0px)); display: grid; grid-template-columns: 6rem minmax(0,1fr) auto auto; align-items: center; gap: .5rem 1.25rem; }
  .player-title { display: block; font-weight: 500; font-size: 1rem; max-inline-size: 100%; white-space: nowrap; overflow: clip; text-overflow: ellipsis; text-decoration: none; }
  .player .button { background: var(--sage); color: var(--ink); }
  .seek-row { display: flex; align-items: center; gap: .75rem; font-size: .8125rem; font-variant-numeric: tabular-nums; }
  .seek-row input { flex: 1; accent-color: var(--sage); min-block-size: 2.75rem; margin: 0; }
  .player .quiet-button { background: color-mix(in oklch,var(--ink),var(--paper) 12%); color: var(--paper); min-block-size: 2.75rem; font-size: var(--small); }
  .player-extras { grid-column: 1/-1; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; padding-block-start: .5rem; }
  .player-extras label { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: var(--small); }
  .player-extras select { inline-size: auto; background: var(--ink); color: var(--paper); min-block-size: 2.75rem; padding: .4rem; }
  .player-extras a { display: flex; align-items: center; min-block-size: 2.75rem; font-size: var(--small); }
  .player-status { grid-column: 1/-1; color: var(--light-ink); }
  .player-status:empty { display: none; }
}
@layer responsive {
  @media (max-width: 62rem) {
    .desktop-nav { gap: 1rem; }
    .desktop-nav a { font-size: .875rem; }
    .latest-broadcast,.episode-row,.archive-heading,.text-split,.forum-layout,.app-layout,.form-layout,.reading-layout,.book-layout,.gazette-poster-meta { grid-template-columns: minmax(0,.8fr) minmax(0,1fr); gap: 2rem; }
    .broadcast-starts { margin-block-start: 1rem; }
    .latest-broadcast { align-items: start; }
    .subject-index { grid-template-columns: 1fr 1fr; }
    .broadcast-starts li { gap: .5rem; }
    .form-pair { grid-template-columns: 1fr; }
    .station-tagline { font-size: clamp(1rem,.75rem + .7vw,1.25rem); }
    .rrf-resource { grid-template-columns: 1fr; gap: .25rem; }
    .latest-article { grid-template-columns: 1fr; gap: 2rem; align-items: start; }
    .latest-article blockquote { max-inline-size: 65ch; font-size: var(--body); }
    .reading-layout { grid-template-columns: 12rem minmax(0,1fr); }
  }
  @media (max-width: 47rem) {
    .desktop-nav { display: none; }
    .mobile-nav { display: block; }
    .header-inner { padding-block: 1rem; }
    .wordmark { font-size: 1.5rem; }
    .wordmark span { font-size: .8125rem; }
    .mobile-nav summary { min-block-size: 2.75rem; padding: .6rem; }
    .mobile-nav nav { position: absolute; inset-block-start: 100%; inset-inline: 0; z-index: 8; display: grid; gap: .25rem; padding: 1rem var(--gutter); background: var(--surface); }
    .mobile-nav a { min-block-size: 2.75rem; display: flex; align-items: center; text-decoration: none; }
    .review-notice { font-size: .8125rem; }
    .review-notice .wrap { gap: .5rem; }
    .station-hero { padding-block: 1rem 3rem; }
    .masthead { display: block; }
    .station-name { font-size: clamp(4.5rem,1rem + 15.5vw,8rem); }
    .masthead-aside { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; padding-block: .75rem 0; }
    .masthead-aside p:first-of-type { font-family: var(--body-font); font-size: 1rem; }
    .masthead-aside p+p { font-size: .8125rem; margin: 0; }
    .station-tagline { font-size: 1.0625rem; margin-block: 1.25rem 1.75rem; }
    .latest-broadcast { grid-template-columns: 5.5rem minmax(0,1fr); gap: .85rem 1rem; align-items: start; }
    .broadcast-copy { display: contents; }
    .broadcast-copy h2 { grid-column: 2; grid-row: 1; font-size: 2rem; }
    .broadcast-copy>.meta { grid-column: 1/-1; margin: 0; }
    .broadcast-copy>p:last-of-type { grid-column: 1/-1; margin: 0; font-size: 1rem; }
    .broadcast-actions { grid-column: 1/-1; margin-block-start: .4rem; gap: .5rem 1rem; }
    .broadcast-actions .button { padding-inline: 1rem; }
    .broadcast-actions .text-link { font-size: .875rem; }
    .broadcast-starts { grid-column: 1/-1; margin-block-start: 1rem; }
    .broadcast-starts li { font-size: .9375rem; }
    .broadcast-cover { grid-column: 1; grid-row: 1; inline-size: 100%; }
    .archive-heading,.forum-layout,.app-layout,.form-layout,.text-split,.latest-article,.book-layout,.reading-layout,.gazette-poster-meta { grid-template-columns: 1fr; gap: 2rem; }
    .archive-heading { margin-block-end: 2rem; }
    .archive-heading>div>p { margin-block-start: .75rem; }
    .episode-row { grid-template-columns: 4.5rem minmax(0,1fr); gap: 1.1rem; align-items: start; }
    .episode-copy { display: contents; }
    .episode-art { grid-row: 1/3; inline-size: 100%; }
    .episode-copy h3 { grid-column: 2; font-size: 1.625rem; align-self: end; }
    .episode-copy .meta { grid-column: 2; margin: 0; font-size: .8125rem; }
    .episode-copy>p:last-of-type { grid-column: 1/-1; font-size: 1rem; }
    .episode-actions { grid-column: 1/-1; margin-block-start: 0; gap: .4rem 1rem; }
    .episode-actions .button { padding-inline: 1rem; }
    .episode-actions .text-link { font-size: .9375rem; }
    .episode-actions .episode-options { flex-basis: 100%; }
    .episode-list { gap: 2.5rem; }
    .chapter-results li { display: block; padding: 1rem; }
    .chapter-results li>div { gap: .8rem; align-items: start; }
    .chapter-results li>div>p { padding-block-start: .7rem; }
    .chapter-results li>a { margin-inline-start: .4rem; }
    .place-name>p { font-size: 2.25rem; }
    .place-name .text-link { margin-block-start: 1rem; }
    .host-list { gap: .75rem 1rem; font-size: 1rem; }
    .gazette-display { font-size: clamp(3.5rem,1rem + 12.5vw,6rem); margin-block-start: 2rem; }
    .gazette-display svg { inline-size: 2.5rem; }
    .footer-sign { font-size: clamp(4.5rem,1rem + 15.5vw,8rem); }
    .footer-subtitle { margin-block: .75rem 2rem; font-size: 1rem; }
    .footer-top { display: grid; gap: 1.25rem; }
    .episode-hero { grid-template-columns: 1fr; gap: 2rem; }
    .hero-copy h1 { font-size: clamp(2.5rem,1.1rem + 6vw,3.8rem); }
    .hero-copy .meta { margin-block: 1rem; }
    .hero-art { inline-size: 70%; justify-self: end; }
    .jump-links { gap: .3rem; justify-content: space-between; }
    .jump-links a { font-size: .875rem; }
    .resource-sidebar,.reading-index { position: static; }
    .chapter-list li { grid-template-columns: 5.2rem minmax(0,1fr); gap: .5rem; padding: .5rem; font-size: 1rem; }
    .rrf-resource h3 { font-size: 1.0625rem; }
    .gazette-heading { padding-block: 1.5rem 2.5rem; }
    .gazette-heading h1 { font-size: clamp(2.5rem,1.1rem + 7vw,4.4rem); }
    .latest-article h2 { font-size: 3rem; }
    .latest-article blockquote { padding: 1.5rem; font-size: 1.125rem; }
    .filter-form { grid-template-columns: 1fr; }
    .book-layout>div { grid-row: 1; }
    .book-cover { inline-size: 70%; }
    .reading-header { padding-block: 1rem 2.5rem; }
    .reading-header h1 { font-size: 3rem; }
    .rrf-reading__body { font-size: 1.125rem; }
    .rrf-reading__body blockquote { padding: 1.25rem; }
    .end-note { display: grid; }
    .end-note .button { justify-self: start; }
    .sample-full h1 { font-size: 2.5rem; }
    .sample-opening { grid-template-columns: 1fr; gap: 2rem; }
    .sample-opening #sample-section-0 { justify-self: center; }
    .sample-end { padding: 1.25rem; }
    .dialog-head { padding: .75rem 1rem; }
    .dialog-head h2 { font-size: 1.5rem; }
    .sample-tools { grid-template-columns: minmax(0,1fr) auto; gap: .5rem; padding: .75rem 1rem; }
    .sample-tools label { grid-column: 1/-1; }
    .sample-reading { padding: 1rem 1.25rem 2rem; }
    .sample-pager { padding: .75rem 1rem; }
    .player-inner { grid-template-columns: 3.25rem minmax(0,1fr) 3rem; gap: .3rem .65rem; padding-inline: 1rem; }
    .player-toggle { padding-inline: .25rem; font-size: .8125rem; grid-row: 1/3; }
    .player-track { grid-column: 2; grid-row: 1/3; }
    .player-title { font-size: .875rem; }
    .player .player-more,.player .player-close { padding: 0; min-block-size: 2.75rem; background: none; font-size: .8125rem; }
    .player-more { grid-column: 3; grid-row: 1; }
    .player-close { grid-column: 3; grid-row: 2; }
    .seek-row { gap: .3rem; }
  }
  @media (hover:hover) and (pointer:fine) {
    .button:hover { background: var(--ink); color: var(--paper); }
    .quiet-button:hover,.chapter-time:hover { background: var(--sage); color: var(--ink); }
    .book-field .button:hover,.player .button:hover { background: var(--paper); color: var(--ink); }
    .desktop-nav a:hover,.gazette-display:hover { text-decoration: underline; }
    .footer-sign:hover { color: var(--sage); }
    .chapter-results li:hover { background: color-mix(in oklch,var(--paper),var(--sage) 30%); }
    .resource-kinds button:hover { background: var(--sage); color: var(--ink); }
    .subject-index button:not([aria-pressed="true"]):hover { background: var(--sage); color: var(--ink); }
  }
}
@layer motion {
  @media (prefers-reduced-motion:no-preference) {
    html { scroll-behavior: smooth; }
    .station-name { animation: headline-arrives 850ms var(--ease-out) both; }
    .station-tagline { animation: lift 650ms 160ms var(--ease-out) both; }
    .broadcast-cover img { animation: image-settles 1200ms var(--ease-out) both; }
    .broadcast-copy h2,.broadcast-copy>.meta,.broadcast-copy>p:last-of-type,.broadcast-actions,.broadcast-starts { animation: lift 700ms var(--ease-out) both; }
    .broadcast-copy>.meta { animation-delay: 70ms; }
    .broadcast-copy>p:last-of-type { animation-delay: 140ms; }
    .broadcast-actions { animation-delay: 210ms; }
    .broadcast-starts { animation-delay: 280ms; }
    .button,.quiet-button,.chapter-time { transition: background-color 180ms ease,color 180ms ease,transform 140ms var(--ease-out); }
    .button:active,.quiet-button:active { transform: translateY(1px); }
    .section-arrival .archive-heading>div,.section-arrival .chapter-finder,.section-arrival .forum-layout>div,.section-arrival .gazette-poster-meta>*,.section-arrival .app-layout>*,.section-arrival .form-layout>* { animation: lift 650ms var(--ease-out) both; }
    .section-arrival .forum-layout>div+div,.section-arrival .form-layout>form { animation-delay: 90ms; }
    .hero-copy,.hero-art { animation: lift 650ms var(--ease-out) both; }
    .hero-art { animation-delay: 90ms; }
    .player:not([hidden]) { animation: lift 220ms var(--ease-out) both; }
    .gazette-display svg { transition: transform 200ms var(--ease-out); }
    .gazette-display:focus-visible svg { transform: translateX(.5rem); }
    @media (hover:hover) and (pointer:fine) { .gazette-display:hover svg { transform: translateX(.5rem); } }
    @keyframes headline-arrives { from { transform: translateY(18px); opacity: .5; } to { transform: none; opacity: 1; } }
    @keyframes lift { from { transform: translateY(18px); } to { transform: none; } }
    @keyframes image-settles { from { transform: scale(1.035); } to { transform: scale(1); } }
  }
}

/* Production WordPress forms and live archive retain their existing handlers. */
@layer components {
  .rrf-paper .rrf-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-block-size: 3rem; padding: .8rem 1.4rem; border: 1px solid transparent; background: var(--ink); color: var(--paper); font: 500 1rem/1.4 var(--body-font); text-decoration: none; cursor: pointer; }
  .rrf-paper .rrf-button:active { opacity: .8; }
  .rrf-question-form { display: grid; gap: 1.25rem; }
  .rrf-question-form p { margin: 0; }
  .rrf-question-form__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap: 1rem; }
  .rrf-question-form__choice label { display: flex; align-items: start; gap: .75rem; font-size: 1rem; }
  .rrf-question-form__choice input { inline-size: 1.2rem; min-block-size: 1.2rem; margin-block-start: .25rem; flex: none; }
  .rrf-question-confirmation { padding: 2rem; background: var(--sage); }
  .rrf-question-confirmation__signal { font-size: var(--small); letter-spacing: .12em; margin-block-end: 1rem; }
  .rrf-question-confirmation__copy p { margin-block: 1rem; }
  .rrf-gazette-form { display: grid; gap: 1.25rem; }
  .rrf-gazette-form>p { margin: 0; }
  .rrf-gazette-form .rrf-button { justify-self: start; }
  .rrf-gazette-trap { display: none; }
  .rrf-gazette-note,.rrf-gazette-error { font-size: var(--small); }
  .rrf-gazette-status { padding: 1.5rem; background: var(--surface); }
  .rrf-gazette-status h3 { font-size: 1.75rem; }
  .rrf-gazette-status p { margin-block-start: .75rem; }
  .privacy-note { margin-block-start: 2rem; font-size: var(--small); }
  .privacy-note summary { padding-block: .75rem; min-block-size: 2.75rem; }
  .rrf-archive__heading { margin-block-end: 2rem; }
  .rrf-archive__heading h2 { font-size: 2rem; }
  .rrf-archive__heading p { margin-block-start: .75rem; }
  .rrf-archive-filters { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,11rem),1fr)); gap: 1rem; align-items: end; margin-block-end: 2rem; }
  .rrf-archive__results { display: flex; flex-wrap: wrap; gap: .5rem 2rem; font-size: var(--small); color: var(--muted); margin-block: 2rem; }
  .rrf-article-row { display: grid; grid-template-columns: minmax(8rem,.28fr) minmax(0,1fr); gap: 2rem; padding-block: 2.25rem; border-block-start: 1px solid var(--line); }
  .rrf-article-row__date { font-size: var(--small); color: var(--muted); padding-block-start: .5rem; }
  .rrf-article-row h3 { font-size: clamp(2rem,1.3rem + 2vw,3.5rem); }
  .rrf-article-row__body>p { margin-block-start: 1rem; max-inline-size: 65ch; }
  .rrf-article-row__byline { font-size: var(--small); color: var(--muted); }
  .rrf-article-topics { display: flex; flex-wrap: wrap; gap: .25rem 1rem; list-style: none; padding: 0; margin-block-start: 1rem; font-size: var(--small); }
  .rrf-article-topics a { display: inline-flex; align-items: center; min-block-size: 2.75rem; }
  .rrf-archive-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block-start: 2rem; border-block-start: 1px solid var(--line); }
  .rrf-archive-pagination a { min-block-size: 2.75rem; display: inline-flex; align-items: center; }
  .rrf-archive-empty { padding-block: 2rem; }
  .rrf-archive-empty h3 { font-size: 2rem; }
  .rrf-archive-empty p { margin-block-start: 1rem; }
  .sample-opening-copy h1 { font-size: clamp(2.5rem,1.5rem + 3.5vw,5rem); }
  .sample-full>section p { margin-block: 1em; }
  .sample-full>section ol { padding-inline-start: 1.5rem; }
}
@layer responsive {
  @media (max-width: 47rem) { .rrf-article-row { grid-template-columns: 1fr; gap: .75rem; } .rrf-archive-filters { grid-template-columns: 1fr; } }
}
@media (hover: hover) and (pointer: fine) { .rrf-paper .rrf-button:hover { background: var(--accent); } }
@layer components {
  .rrf-archive__heading { position: absolute; inline-size: 1px; block-size: 1px; overflow: clip; clip-path: inset(50%); white-space: nowrap; }
  .rrf-archive__results { margin-block: 0 1.5rem; }
  .rrf-archive>.rrf-article-row:first-of-type { border: 0; padding-block-start: 0; }
  .rrf-archive>.rrf-article-row:first-of-type h3 { font-size: var(--display); }
  .rrf-archive>.filters { padding-block: 1rem 2.5rem; }
  .rrf-archive-filters { margin-block: 1rem 0; }
  .rrf-article-row { border-color: color-mix(in oklch,var(--ink) 18%,transparent); }
}
