/* Self-hosted font faces */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(./fonts/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(./fonts/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(./fonts/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(./fonts/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYY.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/jizHRFtNs2ka5fXjeivQ4LroWlx-6zAjjH7M.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/jizBRFtNs2ka5fXjeivQ4LroWlx-6zUTjg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Shared accessibility and utility styles */
html { scroll-behavior: smooth; }
.skip-link { position: absolute; left: 16px; top: 12px; z-index: 999; padding: 10px 14px; border-radius: 999px; background: #13213b; color: #f8f4ed; text-decoration: none; transform: translateY(-160%); transition: transform 0.18s ease; }
.skip-link:focus { transform: translateY(0); }
a:focus-visible, button:focus-visible, summary:focus-visible, [role="button"]:focus-visible { outline: 3px solid #bf3d45; outline-offset: 3px; }
[aria-current="page"] { text-decoration: underline; text-underline-offset: 0.16em; }
body.page-series .listen-link--disabled { opacity: 0.62; cursor: default; pointer-events: none; }
body.page-series .listen-link--disabled .listen-verb { opacity: 0.86; }

/* index.html */
body.page-home {--bg: #f6f1e8;
      --paper: rgba(255, 252, 246, 0.94);
      --paper-strong: rgba(255, 255, 255, 0.98);
      --line: rgba(16, 31, 53, 0.12);
      --line-strong: rgba(16, 31, 53, 0.20);
      --ink: #13213b;
      --muted: #5f6878;
      --navy: #173a69;
      --navy-soft: rgba(23, 58, 105, 0.10);
      --red: #bf3d45;
      --red-soft: rgba(191, 61, 69, 0.10);
      --shadow: 0 20px 54px rgba(18, 28, 45, 0.10);
      --radius-xl: 28px;
      --radius-lg: 20px;
      --radius-md: 14px;
      --radius-pill: 999px;
      --max: 980px;}
body.page-home * {box-sizing: border-box;}
html {scroll-behavior: smooth;}
body.page-home {margin: 0;
      font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--ink);
      background:
        radial-gradient(circle at 12% 10%, rgba(23,58,105,0.08), transparent 26%),
        radial-gradient(circle at 88% 14%, rgba(191,61,69,0.08), transparent 20%),
        linear-gradient(180deg, rgba(255,255,255,0.52), rgba(255,255,255,0.00)),
        var(--bg);
      min-height: 100vh;}
body.page-home::before {content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(23,58,105,0.05) 0.7px, transparent 0.7px);
      background-size: 18px 18px;
      mask-image: linear-gradient(to bottom, rgba(0,0,0,0.18), transparent 72%);
      opacity: 0.48;}
body.page-home a {color: inherit; text-decoration: none;}
body.page-home img {display: block; max-width: 100%;}
body.page-home .shell {width: min(var(--max), calc(100% - 28px)); margin: 0 auto;}
body.page-home .topbar {position: sticky;
      top: 0;
      z-index: 60;
      backdrop-filter: blur(14px);
      background: rgba(246,241,232,0.84);
      border-bottom: 1px solid rgba(16,31,53,0.08);}
body.page-home .topbar-inner {width: min(var(--max), calc(100% - 28px));
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 0;
      flex-wrap: wrap;}
body.page-home .wordmark {display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      font-family: "Instrument Serif", Georgia, serif;
      font-size: 1.45rem;
      letter-spacing: -0.03em;
      line-height: 0.95;}
body.page-home .wordmark-mark {width: 13px;
      height: 13px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--red), var(--navy));
      box-shadow: 0 0 0 6px rgba(255,255,255,0.42);
      flex-shrink: 0;}
body.page-home .top-actions {display: flex; gap: 10px; flex-wrap: wrap;}
body.page-home .top-btn {display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 10px 14px;
      border-radius: var(--radius-pill);
      border: 1px solid var(--line-strong);
      background: rgba(255,255,255,0.66);
      color: var(--ink);
      font-size: 0.94rem;
      font-weight: 600;}
body.page-home .top-btn.primary {background: var(--navy);
      color: #f8f4ed;
      border-color: transparent;
      box-shadow: 0 10px 30px rgba(23,58,105,0.20);}
body.page-home main {padding: 22px 0 64px;}
body.page-home .section {margin-top: 28px;}
body.page-home .eyebrow {font-family: "IBM Plex Mono", monospace;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      font-size: 0.74rem;
      color: var(--red);
      margin-bottom: 10px;
      display: inline-flex;
      align-items: center;
      gap: 10px;}
body.page-home .eyebrow::before {content: "";
      width: 20px;
      height: 1px;
      background: currentColor;}
body.page-home h1, body.page-home h2, body.page-home h3 {font-family: "Instrument Serif", Georgia, serif;
      font-weight: 400;
      letter-spacing: -0.03em;
      margin: 0;}
body.page-home h1 {font-size: clamp(2.7rem, 10vw, 4.6rem); line-height: 0.93;}
body.page-home h2 {font-size: clamp(2rem, 6vw, 3rem); line-height: 0.96;}
body.page-home .panel {background: var(--paper);
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow);
      padding: 18px;}
body.page-home .button-row {display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px;}
body.page-home .button {display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 12px 16px;
      border-radius: var(--radius-pill);
      border: 1px solid var(--line-strong);
      background: rgba(255,255,255,0.72);
      color: var(--ink);
      font-weight: 600;
      font-size: 0.95rem;}
body.page-home .button.primary {background: var(--navy);
      color: #f8f4ed;
      border-color: transparent;}
body.page-home .footer {margin-top: 44px;
      padding-top: 20px;
      border-top: 1px solid rgba(16,31,53,0.10);
      color: var(--muted);
      font-size: 0.94rem;
      line-height: 1.6;
      display: flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;}
body.page-home .footer a {text-decoration: underline;
      text-underline-offset: 0.16em;
      text-decoration-thickness: 1px;}
body.page-home .footer-legal {flex-basis: 100%;
      max-width: 82ch;
      margin: 10px auto 0;
      padding-top: 16px;
      border-top: 1px solid rgba(16,31,53,0.10);
      text-align: center;
      font-size: 0.86rem;
      line-height: 1.7;
      color: var(--muted);
      font-style: italic;}
body.page-home .footer-legal p {margin: 0;}
body.page-home .footer-legal p + p {margin-top: 10px;}
@media (max-width: 700px) {
body.page-home .topbar-inner {align-items: flex-start;}
body.page-home .wordmark {width: 100%;}
body.page-home .top-actions {width: 100%;}
body.page-home .footer {flex-direction: column;}
}
body.page-home .hero {display: grid; gap: 18px;}
body.page-home .hero > * {width: 100%;
      min-width: 0;}
body.page-home .hero .panel {width: 100%;
      padding: clamp(18px, 3vw, 28px);
      overflow: hidden;}
body.page-home .hero-top {display: grid;
      grid-template-columns: minmax(0,1fr);
      gap: 16px;
      align-items: start;}
body.page-home .hero-copy {width: 100%;
      max-width: 72ch;}
body.page-home .tagline {margin-top: 14px;
      margin-bottom: 0;
      color: var(--muted);
      font-size: 1.06rem;
      line-height: 1.68;
      max-width: 68ch;}
body.page-home .audience-block {margin-top: 20px;
      max-width: 68ch;
      color: var(--muted);}
body.page-home .audience-label {font-family: "IBM Plex Mono", monospace;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      font-size: 0.74rem;
      color: var(--ink);
      margin-bottom: 12px;}
body.page-home .audience-list {margin: 0;
      padding-left: 20px;
      display: grid;
      gap: 10px;}
body.page-home .audience-list li {line-height: 1.68;}
body.page-home .player-card {background: var(--paper);
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow);
      padding: 16px;}
body.page-home .player-frame {overflow: hidden;
      border-radius: 22px;
      border: 1px solid rgba(16,31,53,0.10);
      background: #121212;
      box-shadow: 0 18px 42px rgba(16,31,53,0.12);}
body.page-home .player-frame iframe {display: block;
      width: 100%;
      min-height: 352px;
      border: 0;}
body.page-home .episodes-note {margin-top: 12px;
      color: var(--muted);
      font-size: 0.95rem;
      line-height: 1.6;}
body.page-home .episodes-wrap {margin-top: 16px; display: grid; gap: 14px;}
body.page-home .episode-card {background: var(--paper);
      border: 1px solid var(--line);
      border-radius: 20px;
      box-shadow: 0 16px 42px rgba(16,31,53,0.05);
      overflow: hidden;}
body.page-home .episode-card summary {list-style: none;
      display: grid;
      grid-template-columns: minmax(0,1fr);
      gap: 14px;
      padding: 18px;
      cursor: pointer;}
body.page-home .episode-card summary::-webkit-details-marker {display: none;}
body.page-home .episode-left {display: grid;
      grid-template-columns: 62px minmax(0,1fr);
      gap: 14px;
      align-items: start;}
body.page-home .episode-number {display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 8px 10px;
      border-radius: var(--radius-pill);
      background: rgba(255,255,255,0.75);
      border: 1px solid var(--line);
      font-family: "IBM Plex Mono", monospace;
      font-size: 0.76rem;
      letter-spacing: 0.10em;
      text-transform: uppercase;
      color: var(--muted);}
body.page-home .episode-copy {min-width: 0;}
body.page-home .episode-title {display: block;
      font-family: "Instrument Serif", Georgia, serif;
      font-size: 1.55rem;
      line-height: 1.02;
      letter-spacing: -0.02em;
      color: var(--ink);
      margin-bottom: 8px;}
body.page-home .episode-summary {display: block;
      color: var(--muted);
      font-size: 0.97rem;
      line-height: 1.68;}
body.page-home .episode-right {display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      margin-left: 76px;}
body.page-home .episode-track, body.page-home .episode-open {display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 8px 12px;
      border-radius: var(--radius-pill);
      font-family: "IBM Plex Mono", monospace;
      font-size: 0.72rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      white-space: nowrap;}
body.page-home .episode-track {background: var(--red-soft);
      color: var(--red);
      border: 1px solid rgba(191,61,69,0.12);}
body.page-home .episode-open {background: var(--navy-soft);
      color: var(--navy);
      border: 1px solid rgba(23,58,105,0.12);
      font-weight: 600;}
body.page-home .episode-body {padding: 0 18px 18px 18px;
      border-top: 1px solid rgba(16,31,53,0.08);
      display: grid;
      gap: 14px;}
body.page-home .episode-body p {margin: 0;
      padding-top: 16px;
      color: var(--muted);
      font-size: 0.98rem;
      line-height: 1.74;}
body.page-home .episode-links {display: flex; gap: 10px; flex-wrap: wrap;}
body.page-home .episode-link {display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 10px 14px;
      border-radius: var(--radius-pill);
      font-weight: 600;
      font-size: 0.92rem;
      border: 1px solid var(--line-strong);
      background: rgba(255,255,255,0.74);}
body.page-home .episode-link.live {background: var(--navy); color: #f8f4ed; border-color: transparent;}
body.page-home .episode-link.placeholder {color: var(--muted); cursor: default; border-color: var(--line);}
@media (max-width: 640px) {
body.page-home .hero-top {grid-template-columns: minmax(0,1fr);}
body.page-home .player-frame iframe {min-height: 300px;}
body.page-home .episode-right {margin-left: 0;}
body.page-home .episode-head {flex-direction: column; align-items: flex-start;}
}

/* about.html */
body.page-about {--bg: #f6f1e8;
      --paper: rgba(255, 252, 246, 0.94);
      --paper-strong: rgba(255, 255, 255, 0.98);
      --line: rgba(16, 31, 53, 0.12);
      --line-strong: rgba(16, 31, 53, 0.20);
      --ink: #13213b;
      --muted: #5f6878;
      --navy: #173a69;
      --navy-soft: rgba(23, 58, 105, 0.10);
      --red: #bf3d45;
      --red-soft: rgba(191, 61, 69, 0.10);
      --shadow: 0 20px 54px rgba(18, 28, 45, 0.10);
      --radius-xl: 28px;
      --radius-lg: 20px;
      --radius-md: 14px;
      --radius-pill: 999px;
      --max: 980px;}
body.page-about * {box-sizing: border-box;}
html {scroll-behavior: smooth;}
body.page-about {margin: 0;
      font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--ink);
      background:
        radial-gradient(circle at 12% 10%, rgba(23,58,105,0.08), transparent 26%),
        radial-gradient(circle at 88% 14%, rgba(191,61,69,0.08), transparent 20%),
        linear-gradient(180deg, rgba(255,255,255,0.52), rgba(255,255,255,0.00)),
        var(--bg);
      min-height: 100vh;}
body.page-about::before {content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(23,58,105,0.05) 0.7px, transparent 0.7px);
      background-size: 18px 18px;
      mask-image: linear-gradient(to bottom, rgba(0,0,0,0.18), transparent 72%);
      opacity: 0.48;}
body.page-about a {color: inherit; text-decoration: none;}
body.page-about img {display: block; max-width: 100%;}
body.page-about .shell {width: min(var(--max), calc(100% - 28px)); margin: 0 auto;}
body.page-about .topbar {position: sticky;
      top: 0;
      z-index: 60;
      backdrop-filter: blur(14px);
      background: rgba(246,241,232,0.84);
      border-bottom: 1px solid rgba(16,31,53,0.08);}
body.page-about .topbar-inner {width: min(var(--max), calc(100% - 28px));
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 0;
      flex-wrap: wrap;}
body.page-about .wordmark {display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      font-family: "Instrument Serif", Georgia, serif;
      font-size: 1.45rem;
      letter-spacing: -0.03em;
      line-height: 0.95;}
body.page-about .wordmark-mark {width: 13px;
      height: 13px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--red), var(--navy));
      box-shadow: 0 0 0 6px rgba(255,255,255,0.42);
      flex-shrink: 0;}
body.page-about .top-actions {display: flex; gap: 10px; flex-wrap: wrap;}
body.page-about .top-btn {display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 10px 14px;
      border-radius: var(--radius-pill);
      border: 1px solid var(--line-strong);
      background: rgba(255,255,255,0.66);
      color: var(--ink);
      font-size: 0.94rem;
      font-weight: 600;}
body.page-about .top-btn.primary {background: var(--navy);
      color: #f8f4ed;
      border-color: transparent;
      box-shadow: 0 10px 30px rgba(23,58,105,0.20);}
body.page-about main {padding: 22px 0 64px;}
body.page-about .section {margin-top: 28px;}
body.page-about .eyebrow {font-family: "IBM Plex Mono", monospace;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      font-size: 0.74rem;
      color: var(--red);
      margin-bottom: 10px;
      display: inline-flex;
      align-items: center;
      gap: 10px;}
body.page-about .eyebrow::before {content: "";
      width: 20px;
      height: 1px;
      background: currentColor;}
body.page-about h1, body.page-about h2, body.page-about h3 {font-family: "Instrument Serif", Georgia, serif;
      font-weight: 400;
      letter-spacing: -0.03em;
      margin: 0;}
body.page-about h1 {font-size: clamp(2.7rem, 10vw, 4.6rem); line-height: 0.93;}
body.page-about h2 {font-size: clamp(2rem, 6vw, 3rem); line-height: 0.96;}
body.page-about .panel {background: var(--paper);
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow);
      padding: 18px;}
body.page-about .button {display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 12px 16px;
      border-radius: var(--radius-pill);
      border: 1px solid var(--line-strong);
      background: rgba(255,255,255,0.72);
      color: var(--ink);
      font-weight: 600;
      font-size: 0.95rem;}
body.page-about .button.primary {background: var(--navy);
      color: #f8f4ed;
      border-color: transparent;}
body.page-about .footer {margin-top: 44px;
      padding-top: 20px;
      border-top: 1px solid rgba(16,31,53,0.10);
      color: var(--muted);
      font-size: 0.94rem;
      line-height: 1.6;
      display: flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;}
body.page-about .footer a {text-decoration: underline;
      text-underline-offset: 0.16em;
      text-decoration-thickness: 1px;}
body.page-about .footer-legal {flex-basis: 100%;
      max-width: 82ch;
      margin: 10px auto 0;
      padding-top: 16px;
      border-top: 1px solid rgba(16,31,53,0.10);
      text-align: center;
      font-size: 0.86rem;
      line-height: 1.7;
      color: var(--muted);
      font-style: italic;}
body.page-about .footer-legal p {margin: 0;}
@media (max-width: 700px) {
body.page-about .topbar-inner {align-items: flex-start;}
body.page-about .wordmark {width: 100%;}
body.page-about .top-actions {width: 100%;}
body.page-about .footer {flex-direction: column;}
}
body.page-about .about-layout {display: grid;
      gap: 22px;
      margin-top: 18px;
      align-items: start;}
body.page-about .about-description {max-width: 62ch;}
body.page-about .about-description h2, body.page-about .profile-wrap h2 {margin-bottom: 12px;}
body.page-about .about-description p {margin: 0 0 14px;
      color: var(--muted);
      font-size: 1rem;
      line-height: 1.76;}
body.page-about .about-description p:last-child {margin-bottom: 0;}
body.page-about .profile-wrap {width: min(100%, 540px);
      display: grid;
      gap: 10px;}
body.page-about .profile-group {display: flex;
      align-items: flex-start;
      gap: clamp(14px, 3vw, 24px);
      width: 100%;
      padding: 0;}
body.page-about .portrait-card {margin: 0;
      width: clamp(112px, 26vw, 190px);
      flex: 0 0 clamp(112px, 26vw, 190px);}
body.page-about .portrait-card img {width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      filter: grayscale(1) contrast(1.04);
      mix-blend-mode: multiply;
      border-radius: calc(var(--radius-lg) - 4px);}
body.page-about .profile-side {min-width: 0;
      flex: 1;
      display: grid;
      gap: 8px;}
body.page-about .profile-actions {display: grid;
      gap: 12px;
      align-content: start;}
body.page-about .profile-note {margin: 0;
      max-width: 22ch;
      justify-self: center;
      text-align: center;
      font-size: 0.64rem;
      line-height: 1.45;
      color: var(--muted);
      font-style: italic;
      opacity: 0.82;}
body.page-about .profile-actions .button {width: 100%;
      min-height: 54px;}
@media (max-width: 420px) {
body.page-about .profile-wrap {gap: 8px;}
body.page-about .profile-group {gap: 12px;}
body.page-about .portrait-card {width: 104px;
        flex-basis: 104px;}
body.page-about .profile-note {max-width: 20ch;
        font-size: 0.6rem;}
body.page-about .profile-actions .button {padding-left: 12px;
        padding-right: 12px;
        font-size: 0.92rem;}
}

/* terms.html */
body.page-terms {--bg: #f6f1e8;
      --paper: rgba(255, 252, 246, 0.94);
      --line: rgba(16, 31, 53, 0.12);
      --line-strong: rgba(16, 31, 53, 0.20);
      --ink: #13213b;
      --muted: #5f6878;
      --navy: #173a69;
      --red: #bf3d45;
      --radius-xl: 28px;
      --radius-pill: 999px;
      --max: 980px;}
body.page-terms * {box-sizing: border-box;}
html {scroll-behavior: smooth;}
body.page-terms {margin: 0;
      font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--ink);
      background:
        radial-gradient(circle at 12% 10%, rgba(23,58,105,0.08), transparent 26%),
        radial-gradient(circle at 88% 14%, rgba(191,61,69,0.08), transparent 20%),
        linear-gradient(180deg, rgba(255,255,255,0.52), rgba(255,255,255,0.00)),
        var(--bg);
      min-height: 100vh;}
body.page-terms::before {content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(23,58,105,0.05) 0.7px, transparent 0.7px);
      background-size: 18px 18px;
      mask-image: linear-gradient(to bottom, rgba(0,0,0,0.18), transparent 72%);
      opacity: 0.48;}
body.page-terms a {color: inherit; text-decoration: none;}
body.page-terms .shell {width: min(var(--max), calc(100% - 28px)); margin: 0 auto;}
body.page-terms .topbar {position: sticky;
      top: 0;
      z-index: 60;
      backdrop-filter: blur(14px);
      background: rgba(246,241,232,0.84);
      border-bottom: 1px solid rgba(16,31,53,0.08);}
body.page-terms .topbar-inner {width: min(var(--max), calc(100% - 28px));
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 0;
      flex-wrap: wrap;}
body.page-terms .wordmark {display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      font-family: "Instrument Serif", Georgia, serif;
      font-size: 1.45rem;
      letter-spacing: -0.03em;
      line-height: 0.95;}
body.page-terms .wordmark-mark {width: 13px;
      height: 13px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--red), var(--navy));
      box-shadow: 0 0 0 6px rgba(255,255,255,0.42);
      flex-shrink: 0;}
body.page-terms .top-actions {display: flex; gap: 10px; flex-wrap: wrap;}
body.page-terms .top-btn {display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 10px 14px;
      border-radius: var(--radius-pill);
      border: 1px solid var(--line-strong);
      background: rgba(255,255,255,0.66);
      color: var(--ink);
      font-size: 0.94rem;
      font-weight: 600;}
body.page-terms main {padding: 24px 0 64px;}
body.page-terms .section {margin-top: 34px;}
body.page-terms .eyebrow {font-family: "IBM Plex Mono", monospace;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      font-size: 0.74rem;
      color: var(--red);
      margin-bottom: 10px;
      display: inline-flex;
      align-items: center;
      gap: 10px;}
body.page-terms .eyebrow::before {content: "";
      width: 20px;
      height: 1px;
      background: currentColor;}
body.page-terms h1, body.page-terms h2 {font-family: "Instrument Serif", Georgia, serif;
      font-weight: 400;
      letter-spacing: -0.03em;
      margin: 0;}
body.page-terms h1 {font-size: clamp(2.7rem, 10vw, 4.6rem); line-height: 0.93;}
body.page-terms h2 {font-size: clamp(1.7rem, 5vw, 2.4rem); line-height: 0.98; margin-bottom: 12px;}
body.page-terms .lead {margin: 14px 0 0;
      color: var(--muted);
      font-size: 1.05rem;
      line-height: 1.78;
      max-width: 66ch;}
body.page-terms .notice {max-width: 70ch;
      padding-top: 22px;
      border-top: 1px solid rgba(16,31,53,0.10);}
body.page-terms .notice p, body.page-terms .terms-block p, body.page-terms .terms-block li {color: var(--muted);
      font-size: 1rem;
      line-height: 1.8;}
body.page-terms .notice p, body.page-terms .terms-block p {margin: 0 0 14px;}
body.page-terms .terms-grid {display: grid;
      gap: 28px;
      max-width: 74ch;}
body.page-terms .terms-block {padding-top: 22px;
      border-top: 1px solid rgba(16,31,53,0.10);}
body.page-terms .terms-block ul {margin: 0 0 14px 20px;
      padding: 0;}
body.page-terms .footer {margin-top: 42px;
      padding-top: 18px;
      border-top: 1px solid rgba(16,31,53,0.10);
      color: var(--muted);
      font-size: 0.94rem;
      line-height: 1.6;
      display: flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;}
body.page-terms .footer a {text-decoration: underline;
      text-underline-offset: 0.16em;
      text-decoration-thickness: 1px;}
@media (max-width: 700px) {
body.page-terms .topbar-inner {align-items: flex-start;}
body.page-terms .wordmark {width: 100%;}
body.page-terms .top-actions {width: 100%;}
body.page-terms .footer {flex-direction: column;}
}

/* reps-remedies-series-page.html */
body.page-series {--font-display: "Instrument Serif", Georgia, serif;
      --font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --font-mono: "IBM Plex Mono", "SF Mono", Consolas, monospace;
      --bg: #f7f4ef;
      --surface: rgba(255,255,255,0.84);
      --surface-elevated: rgba(255,255,255,0.94);
      --border: rgba(20, 35, 60, 0.10);
      --border-bright: rgba(20, 35, 60, 0.18);
      --text: #162033;
      --text-dim: #5d6678;
      --accent: #1e3a5f;
      --accent-dim: rgba(30, 58, 95, 0.08);
      --accent-soft: #8c2f39;
      --gold: #b2873d;
      --gold-dim: rgba(178, 135, 61, 0.12);
      --shadow: 0 18px 40px rgba(24, 33, 52, 0.10);
      --radius: 18px;}
body.page-series[data-theme="dark"] {--bg: #0f1623;
      --surface: rgba(20, 28, 43, 0.86);
      --surface-elevated: rgba(26, 36, 55, 0.96);
      --border: rgba(255,255,255,0.08);
      --border-bright: rgba(255,255,255,0.16);
      --text: #eef2f8;
      --text-dim: #a1acbc;
      --accent: #d4a55a;
      --accent-dim: rgba(212, 165, 90, 0.12);
      --accent-soft: #d87a84;
      --gold: #d4a55a;
      --gold-dim: rgba(212, 165, 90, 0.12);
      --shadow: 0 20px 44px rgba(0, 0, 0, 0.30);}
body.page-series * {box-sizing: border-box;}
html {scroll-behavior: smooth;}
body.page-series {margin: 0;
      font-family: var(--font-body);
      color: var(--text);
      background:
        radial-gradient(circle at top left, var(--gold-dim), transparent 32%),
        radial-gradient(circle at 84% 18%, rgba(140, 47, 57, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,0.25), transparent 30%),
        var(--bg);
      overflow-wrap: break-word;
      padding: 32px 40px 60px;}
body.page-series a {color: var(--accent); text-decoration: none;}
body.page-series a:hover {text-decoration: underline;}
body.page-series .wrap {max-width: 1440px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 210px 1fr;
      gap: 0 40px;}
body.page-series .main {min-width: 0;}
body.page-series .toc {position: sticky;
      top: 24px;
      align-self: start;
      padding: 14px 0;
      grid-row: 1 / -1;
      max-height: calc(100dvh - 48px);
      overflow-y: auto;}
body.page-series .toc::-webkit-scrollbar {width: 3px;}
body.page-series .toc::-webkit-scrollbar-thumb {background: var(--border-bright); border-radius: 2px;}
body.page-series .toc-title {font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--text-dim);
      padding: 0 0 10px;
      margin-bottom: 10px;
      border-bottom: 1px solid var(--border);}
body.page-series .toc a {display: block;
      font-size: 12px;
      color: var(--text-dim);
      padding: 6px 9px;
      border-radius: 7px;
      border-left: 2px solid transparent;
      transition: all 0.15s ease;
      line-height: 1.45;
      margin-bottom: 3px;}
body.page-series .toc a:hover {color: var(--text); background: var(--surface); text-decoration: none;}
body.page-series .toc a.active {color: var(--text); border-left-color: var(--accent); background: var(--accent-dim);}
body.page-series .hero {margin-bottom: 26px;
      padding: 34px 34px 28px;
      border: 1px solid var(--border);
      border-radius: calc(var(--radius) + 6px);
      background: linear-gradient(160deg, color-mix(in srgb, var(--surface-elevated) 92%, var(--gold) 8%), var(--surface));
      box-shadow: var(--shadow);
      position: relative;
      overflow: hidden;}
body.page-series .hero::after {content: "";
      position: absolute;
      inset: auto -12% -46% auto;
      width: 320px;
      height: 320px;
      border-radius: 50%;
      background: radial-gradient(circle, var(--gold-dim) 0%, transparent 68%);
      pointer-events: none;}
body.page-series .kicker {font-family: var(--font-mono);
      font-size: 11px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--accent-soft);
      margin-bottom: 16px;
      position: relative;
      z-index: 1;}
body.page-series h1 {font-family: var(--font-display);
      font-weight: 400;
      font-size: clamp(2.8rem, 5vw, 4.7rem);
      line-height: 0.98;
      margin: 0 0 16px;
      letter-spacing: -0.03em;
      position: relative;
      z-index: 1;}
body.page-series .subtitle {max-width: 72ch;
      font-size: 18px;
      line-height: 1.7;
      color: var(--text);
      margin: 0 0 20px;
      position: relative;
      z-index: 1;}
body.page-series .hero-notes {display: grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: 14px;
      position: relative;
      z-index: 1;}
body.page-series .hero-note {background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 14px 16px;
      min-width: 0;}
body.page-series .hero-note__label {font-family: var(--font-mono);
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 1.6px;
      color: var(--text-dim);
      margin-bottom: 8px;}
body.page-series .hero-note p {margin: 0; font-size: 14px; line-height: 1.6; color: var(--text-dim);}
body.page-series .theme-toggle {position: fixed;
      top: 18px;
      right: 20px;
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: 999px;
      border: 1px solid var(--border);
      background: var(--surface-elevated);
      color: var(--text);
      box-shadow: var(--shadow);
      cursor: pointer;
      z-index: 300;}
body.page-series .episodes {display: grid; gap: 18px;}
body.page-series .ve-card {background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 24px 24px 22px;
      box-shadow: 0 10px 24px rgba(20, 35, 60, 0.06);
      min-width: 0;
      animation: fadeUp 0.42s ease-out both;
      animation-delay: calc(var(--i, 0) * 0.03s);}
body.page-series .ve-card--elevated {background: var(--surface-elevated);}
body.page-series .episode-topline {font-family: var(--font-mono);
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 1.8px;
      color: var(--accent-soft);
      margin-bottom: 12px;}
body.page-series .episode-head {display: grid;
      grid-template-columns: minmax(0,1fr) auto;
      gap: 18px;
      align-items: start;
      min-width: 0;}
body.page-series .episode-head > * {min-width: 0;}
body.page-series h2 {margin: 0 0 8px;
      font-family: var(--font-display);
      font-size: clamp(1.9rem, 2.4vw, 2.55rem);
      font-weight: 400;
      line-height: 1.02;
      letter-spacing: -0.02em;}
body.page-series .episode-short {margin: 0; font-size: 15px; line-height: 1.7; color: var(--text-dim); max-width: 80ch;}
body.page-series .listen-link {flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      border-radius: 999px;
      padding: 11px 16px;
      border: 1px solid var(--border-bright);
      background: color-mix(in srgb, var(--surface-elevated) 90%, var(--gold) 10%);
      color: var(--text);
      font-weight: 600;
      white-space: nowrap;
      margin-top: 6px;}
body.page-series .listen-platform {color: var(--text);}
body.page-series .listen-verb {color: var(--text-dim); font-weight: 500;}
body.page-series .listen-link:hover {text-decoration: none; transform: translateY(-1px);}
body.page-series details.collapsible {border: 1px solid var(--border);
      border-radius: 14px;
      overflow: hidden;
      margin-top: 18px;
      background: color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);}
body.page-series details.collapsible summary {padding: 15px 18px;
      background: color-mix(in srgb, var(--surface) 86%, var(--accent) 14%);
      font-family: var(--font-mono);
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
      list-style: none;
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--text);
      transition: background 0.15s ease;}
body.page-series details.collapsible summary:hover {background: var(--accent-dim);}
body.page-series details.collapsible summary::-webkit-details-marker {display: none;}
body.page-series details.collapsible summary::before {content: "▸";
      font-size: 11px;
      color: var(--text-dim);
      transition: transform 0.15s ease;}
body.page-series details.collapsible[open] summary::before {transform: rotate(90deg);}
body.page-series .collapsible__body {padding: 18px;
      border-top: 1px solid var(--border);
      display: grid;
      gap: 16px;
      font-size: 14px;
      line-height: 1.75;}
body.page-series .collapsible__body p {margin: 0;}
body.page-series .ai-note {padding: 14px 16px;
      border-radius: 12px;
      background: var(--gold-dim);
      border: 1px solid color-mix(in srgb, var(--gold) 22%, var(--border) 78%);}
body.page-series .desc-block {padding: 16px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: var(--surface-elevated);}
body.page-series .desc-label {font-family: var(--font-mono);
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 1.8px;
      color: var(--accent-soft);
      margin-bottom: 10px;}
body.page-series .disclosure-block {background: color-mix(in srgb, var(--surface-elevated) 92%, var(--accent) 8%);}
body.page-series .footer-note {margin-top: 20px;
      padding: 16px 18px;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: var(--surface);
      color: var(--text-dim);
      font-size: 13px;
      line-height: 1.65;}
@keyframes fadeUp {from { opacity: 0; transform: translateY(12px); }
      to { opacity: 1; transform: translateY(0); }}
@media (prefers-reduced-motion: reduce) {
body.page-series *, body.page-series *::before, body.page-series *::after {animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;}
}
@media (max-width: 1000px) {
body.page-series .wrap {grid-template-columns: 1fr; gap: 0;}
body.page-series {padding-top: 0;}
body.page-series .toc {position: sticky;
        top: 0;
        z-index: 200;
        max-height: none;
        display: flex;
        gap: 4px;
        align-items: center;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        background: color-mix(in srgb, var(--bg) 92%, transparent 8%);
        backdrop-filter: blur(16px);
        border-bottom: 1px solid var(--border);
        padding: 10px 40px;
        margin: 0 -40px 18px;
        grid-row: auto;}
body.page-series .toc::-webkit-scrollbar {display: none;}
body.page-series .toc-title {display: none;}
body.page-series .toc a {white-space: nowrap;
        flex-shrink: 0;
        border-left: none;
        border-bottom: 2px solid transparent;
        border-radius: 6px 6px 0 0;
        padding: 6px 10px;
        font-size: 10px;}
body.page-series .toc a.active {border-left: none; border-bottom-color: var(--accent);}
body.page-series .hero-notes {grid-template-columns: 1fr;}
body.page-series .episode-head {grid-template-columns: 1fr;}
body.page-series .listen-link {justify-content: center; width: fit-content;}
body.page-series .episode-card {scroll-margin-top: 66px;}
}
@media (max-width: 720px) {
body.page-series {padding: 24px 18px 48px;}
body.page-series .hero {padding: 24px 18px 18px;}
body.page-series .toc {margin: 0 -18px 16px; padding-left: 18px; padding-right: 18px;}
body.page-series .ve-card {padding: 18px 16px;}
body.page-series h2 {font-size: 2rem;}
}
