h1, h2, p { margin-top: 0; }
h1 { font-size: clamp(2rem, 4.3vw, 3.6rem); line-height: 1.12; letter-spacing: -.035em; font-weight: 650; text-wrap: balance; }
h2 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.018em; }
p { line-height: 1.65; }
a { text-underline-offset: .2em; }
a:focus-visible { outline: 2px solid var(--mint); outline-offset: 5px; }
.skip-link { position: fixed; top: -10rem; left: 1rem; z-index: 50; padding: 1rem; background: var(--mint); color: var(--void); }
.skip-link:focus { top: 1rem; }
.eyebrow { font-size: .875rem; font-weight: 600; letter-spacing: .07em; color: var(--mint); margin-bottom: 1rem; }
.home-introduction { max-width: 58rem; margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.home-introduction h1 { max-width: 20ch; margin-bottom: 1.6rem; }
.home-introduction p { max-width: 70ch; color: var(--muted); margin-bottom: .9rem; }
.home-introduction p:last-child { margin-bottom: 0; }
.editorial-hero { min-height: 29rem; padding: clamp(1.7rem, 5vw, 4rem); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.editorial-hero h1 { max-width: 17ch; margin-bottom: 1.4rem; position: relative; z-index: 1; }
.hero-cast { max-width: 34rem; color: var(--muted); position: relative; z-index: 1; }
.editorial-mark { position: absolute; right: 7%; top: 36%; width: 9rem; opacity: .5; }
.read-button { display: inline-flex; gap: 1.4rem; align-items: center; padding: .95rem 1.4rem; border-radius: .7rem; background: var(--mint); color: var(--void); text-decoration: none; font-weight: 650; position: relative; z-index: 1; }
.read-button svg, .reading-link svg, .reader-tools svg { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.hero-secondary { margin-top: 1.1rem; font-size: .95rem; position: relative; z-index: 1; }
.text-portal { min-height: 15rem; display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }
.text-portal .portal-icon { margin-bottom: 1rem; }
.text-portal .eyebrow { margin: 0; font-size: .875rem; color: var(--muted); }
.text-portal h2 { margin-bottom: .6rem; }
.text-portal > span:last-of-type { margin-top: auto; font-size: .9375rem; color: var(--muted); }
.text-portal > svg { position: absolute; width: 1.2rem; right: 1.4rem; bottom: 1.4rem; }
.editorial-heading { min-height: 7rem; gap: 1.2rem; }
.editorial-heading h1 { margin: 0; }
.editorial-heading .heading-symbol { flex: 0 0 auto; }
.reading-card { display: flex; flex-direction: column; gap: .5rem; min-height: 19rem; padding: 1.6rem; }
.reading-card h2 { margin-bottom: 1rem; }
.reading-card h2 a { text-decoration: none; }
.reading-card h2 a:hover { color: var(--mint); }
.reading-card .eyebrow { margin-bottom: .8rem; }
.publication-meta { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-bottom: .8rem; }
.publication-meta .eyebrow { margin: 0; }
.new-release-badge { display: inline-flex; align-items: center; min-height: 1.6rem; padding: .15rem .6rem; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--mint); font-size: .75rem; font-weight: 650; letter-spacing: .03em; }
.episode-subtitle { margin: -.45rem 0 .75rem; color: var(--muted); font-size: .9375rem; font-style: italic; }
.reading-card .cast { font-size: .875rem; color: var(--muted); line-height: 1.8; }
.reading-link { display: inline-flex; gap: 1rem; align-items: center; margin-top: auto; padding-top: 1rem; color: var(--mint); text-decoration: none; }
.standalone-grid .episode-card { grid-column: span 6; }
.triptych { margin-top: 3.5rem; scroll-margin-top: 7rem; }
.collection-heading { margin: 0 0 1.7rem; }
.collection-heading h2 { font-size: 2rem; }
.collection-heading .eyebrow { margin-bottom: .4rem; }
.back-link { display: inline-block; margin-bottom: 1.5rem; color: var(--muted); }
.editorial-banner { min-height: unset; align-items: center; }
.editorial-banner h1 { font-size: clamp(1.85rem, 3.5vw, 2.7rem); margin-bottom: 0; }
.reader-subtitle { max-width: 48rem; margin: .8rem 0 0; color: var(--muted); font-style: italic; }
.reader-tools { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .8rem 2rem; margin: 1.7rem 0; }
.reader-tools a { display: inline-flex; align-items: center; gap: .6rem; font-size: .9375rem; min-height: 2.75rem; }
.recap { margin: 0 0 1.5rem; padding: 1.25rem 1.5rem; border-left: 2px solid var(--blue); background: var(--panel); }
.recap .eyebrow { color: var(--blue); margin-bottom: .6rem; }
.recap p:last-child { margin: 0; }
.dialogue { min-height: unset; padding: clamp(1.3rem, 5vw, 4.5rem); font-size: 1.0625rem; line-height: 1.75; }
.dialogue .speech { margin-bottom: 1.35rem; overflow-wrap: break-word; }
.dialogue strong { color: #193d50; font-weight: 700; }
.dialogue h2 { font-size: 1.25rem; color: #294f59; margin-top: 3.4rem; padding-top: 1.4rem; border-top: 1px solid #c8d1d6; }
.dialogue h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.dialogue p:last-child { margin-bottom: 0; }
.reader-note { font-size: 1rem; color: #465565; }
.episode-intervenants { margin-top: 1.5rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--panel); }
.episode-intervenants h2 { margin-bottom: .7rem; font-size: 1.2rem; }
.episode-cast-list { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin: 0; padding: 0; color: var(--muted); list-style: none; }
.episode-cast-list li { position: relative; }
.episode-cast-list li + li::before { content: "·"; position: absolute; left: -.75rem; }
.episode-intervenants .reader-tools { margin-bottom: 0; }
.sequence { display: flex; gap: 1rem; justify-content: space-between; margin-top: 1.5rem; }
.sequence a { flex: 1; padding: 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--panel); text-decoration: none; }
.sequence span { display: block; margin-bottom: .5rem; color: var(--mint); font-size: .875rem; }
.sequence strong { font-weight: 550; line-height: 1.5; }
.download-shell a { padding: 1rem 0; }
.editorial-characters { grid-template-columns: repeat(3, minmax(0,1fr)); }
.editorial-characters .character-card { min-height: 0; padding: 1.5rem; }
.editorial-characters h2 { color: var(--mint); font-size: 1.35rem; overflow-wrap: anywhere; }
.editorial-characters p { margin-bottom: 0; }
.editorial-characters .character-principle { color: var(--blue); margin-bottom: 1.2rem; }
.characters-context { color: var(--muted); max-width: 50rem; margin: 1.5rem 0 2rem; }
.editorial-footer { font-size: .875rem; }
.editorial-footer p { margin-bottom: .4rem; }
.editorial-footer .credit { color: var(--muted); margin-bottom: 1.5rem; }
.editorial-footer a { display: inline-block; margin: 0 1.5rem .7rem 0; }
.site-intro { color: var(--muted); max-width: 40ch; position: relative; z-index: 1; margin-bottom: 2rem; }
.site-nav .nav-link { display: flex; gap: .6rem; width: auto; padding: 0 .9rem; }
.nav-label { font-size: .875rem; }
.editorial-document { max-width: 57rem; padding: clamp(1.5rem, 5vw, 3.5rem); }
.editorial-document section + section { margin-top: 2.4rem; }
.editorial-document h2 { color: var(--mint); }
.editorial-document p:last-child { margin-bottom: 0; }
.home-discovery { display: grid; gap: 1rem; }
.home-discovery .collection-heading { margin-bottom: 0; }
.home-discovery-card { min-width: 0; }
.home-rail[data-discovery] > :nth-child(n + 4) { display: none; }
.intention-note { line-height: 1.75; }
.intention-note > p + p { margin-top: 1.35rem; }
.privacy-choice-status { color: var(--mint); font-weight: 600; }
.privacy-choice-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.25rem 0; }
.privacy-choice-button { min-height: 2.75rem; padding: .75rem 1rem; border: 1px solid var(--mint); border-radius: .7rem; background: var(--mint); color: var(--void); font: inherit; font-weight: 650; cursor: pointer; }
.privacy-choice-button-secondary { border-color: var(--line-strong); background: transparent; color: var(--ink); }
.privacy-choice-button:focus-visible { outline: 2px solid var(--mint); outline-offset: 4px; }
.privacy-choice-detail { color: var(--muted); font-size: .9375rem; }
.beta-label { color: var(--muted); font-size: .8rem; margin-top: 1rem; }
@media (max-width: 38rem) { .site-nav { gap: .1rem; } .site-nav .nav-link { position: relative; width: 2.7rem; padding: 0; justify-content: center; } .nav-label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } }
@media (max-width: 56rem) { .editorial-characters { grid-template-columns: repeat(2, minmax(0,1fr)); } .editorial-mark { right: 4%; width: 7rem; opacity: .2; } .text-portal { min-height: 13rem; } }
@media (max-width: 38rem) { .editorial-hero { min-height: 29rem; } .editorial-mark { display: none; } .standalone-grid .episode-card { grid-column: 1 / -1; } .editorial-heading .heading-symbol { display: none; } .editorial-characters { grid-template-columns: 1fr; } .sequence { flex-direction: column; } .editorial-banner { padding: 1.4rem; } .dialogue { font-size: 1rem; } }
@media print { :root { color-scheme: light; } body { background: white; color: #172333; } .site-header, .site-footer, .reader-tools, .back-link, .sequence, .download-shell, .reader-mark { display: none; } .page-shell { width: 100%; padding: 0; } .reader-banner, .reader-page, .recap { border: 0; background: white; padding: 0; } .eyebrow { color: #294f59; } .speech { break-inside: avoid; } h2 { break-after: avoid; } }
