.episode-site { background: #071321; }
.episode-header { position: absolute; z-index: 10; inset: 0 0 auto; min-height: 78px; padding: 0 clamp(1.1rem,4vw,4.5rem); display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-bottom: 1px solid rgba(234,243,247,.18); background: rgba(5,11,19,.42); backdrop-filter: blur(12px); }
.episode-header nav { display: flex; gap: 1.5rem; }
.episode-header nav a, .episode-home-link { color: #eaf3f7; font-size: .875rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.episode-header nav a:hover, .episode-home-link:hover { color: #7dd5dc; }
.episode-index-hero { min-height: 92svh; padding: 9rem clamp(1.1rem,8vw,9rem) 5rem; display: grid; grid-template-columns: 1fr minmax(290px,.42fr); align-items: center; gap: 5rem; background: radial-gradient(circle at 15% 30%,rgba(108,76,199,.36),transparent 32%),linear-gradient(145deg,#06101c,#102e43); }
.episode-index-hero h1 { margin: 0; font-family: var(--display); font-size: clamp(5rem,11vw,10rem); font-weight: 500; letter-spacing: -.06em; line-height: .72; text-transform: uppercase; }
.episode-index-hero h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px rgba(234,243,247,.86); }
.episode-index-hero > div > p:last-child { max-width: 620px; margin-top: 2.5rem; color: var(--mist); font-family: var(--display); font-size: 1.35rem; }
.episode-index-hero > img { width: 100%; max-height: 72svh; object-fit: contain; box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.episode-index-grid { padding: clamp(4rem,8vw,8rem) clamp(1.1rem,6vw,6.5rem); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: #cbdbe1; }
.episode-index-card { min-height: 430px; padding: 1px; display: grid; grid-template-rows: 210px auto; position: relative; overflow: hidden; background: #071321; color: var(--cloud); text-decoration: none; }
.episode-index-card img { width: 100%; height: 210px; object-fit: cover; filter: saturate(.8); transition: transform .5s ease,filter .5s ease; }
.episode-index-card:hover img { transform: scale(1.025); filter: saturate(1.1); }
.episode-index-card > span { position: absolute; top: 1rem; left: 1rem; padding: .45rem .6rem; background: #df5b37; font-family: var(--display); font-size: 1.25rem; }
.episode-index-card > div { padding: 1.4rem; }
.episode-index-card small { color: var(--signal); font-size: .875rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.episode-index-card h2 { margin: .55rem 0 .7rem; font-family: var(--display); font-size: clamp(1.8rem,3vw,2.65rem); font-weight: 500; line-height: 1; }
.episode-index-card p { margin: 0; color: var(--mist); }
.episode-index-card strong { display: block; margin-top: 1rem; color: var(--ember-bright); font-size: .875rem; letter-spacing: .1em; text-transform: uppercase; }
.episode-page-hero { position: relative; min-height: 92svh; padding: 9rem clamp(1.1rem,7vw,7.5rem) 5rem; display: flex; align-items: flex-end; isolation: isolate; overflow: hidden; }
.episode-page-hero > img,.episode-page-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.episode-page-hero > img { z-index: -2; object-fit: cover; }
.episode-page-shade { z-index: -1; background: linear-gradient(90deg,rgba(4,10,18,.96),rgba(4,10,18,.48) 58%,transparent),linear-gradient(0deg,rgba(4,10,18,.95),transparent 60%); }
.episode-page-title { max-width: 880px; }
.episode-breadcrumb { color: var(--signal); font-size: .875rem; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.episode-page-title > p { margin: 2.5rem 0 .75rem; color: var(--ember-bright); font-size: .875rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.episode-page-title h1 { margin: 0; font-family: var(--display); font-size: clamp(4rem,9vw,9rem); font-weight: 500; letter-spacing: -.06em; line-height: .82; }
.episode-page-title blockquote { max-width: 650px; margin: 2rem 0; padding: 0 0 0 1rem; color: rgba(234,243,247,.86); font-size: clamp(1.2rem,2vw,1.65rem); }
.episode-page-title dl { display: flex; flex-wrap: wrap; gap: 1px; margin: 0; }
.episode-page-title dl div { min-width: 145px; padding: .8rem 1rem; background: rgba(5,11,19,.68); border: 1px solid var(--line); }
.episode-page-title dt { color: var(--mist); font-size: .875rem; letter-spacing: .1em; text-transform: uppercase; }
.episode-page-title dd { margin: .2rem 0 0; font-weight: 700; }
.episode-detail-wrap { padding: clamp(4rem,8vw,8rem) clamp(1.1rem,6vw,6.5rem); display: grid; grid-template-columns: minmax(0,1fr) minmax(270px,340px); gap: clamp(3rem,7vw,7rem); background: var(--cloud); color: var(--night); }
.episode-main-copy { max-width: 850px; }
.episode-section-label { margin-top: 4rem; color: #a43a23; font-size: .875rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.episode-section-label:first-child { margin-top: 0; }
.episode-main-copy > h2 { margin: .6rem 0 1.5rem; font-family: var(--display); font-size: clamp(2.5rem,5vw,4.8rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.episode-synopsis { font-family: var(--display); font-size: clamp(1.2rem,2vw,1.5rem); line-height: 1.65; }
.beat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; padding: 0; background: rgba(7,19,33,.2); list-style: none; }
.beat-grid li { min-height: 220px; padding: 1.3rem; background: #f5f9fa; }
.beat-grid span { color: #a43a23; font-family: var(--display); font-size: 1.5rem; }
.beat-grid p { margin: 3rem 0 0; }
.episode-study { border: 1px solid rgba(7,19,33,.2); }
.episode-study > span { display: block; padding: .8rem 1rem; background: var(--night); color: var(--signal); font-size: .875rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.episode-study > div { padding: 1.3rem; }
.episode-study > div + div { border-top: 1px solid rgba(7,19,33,.2); }
.episode-study h3 { margin: 0 0 .4rem; color: #a43a23; font-size: .875rem; letter-spacing: .1em; text-transform: uppercase; }
.episode-study p { margin: 0; }
.transcript-status { padding: 1.4rem; border-left: 5px solid var(--ember); background: #f5f9fa; }
.transcript-status strong { font-family: var(--display); font-size: 1.45rem; font-weight: 500; }
.transcript-status p { margin: .65rem 0 0; }
.episode-sidebar { align-self: start; position: sticky; top: 1.5rem; background: var(--night); color: var(--cloud); }
.episode-sidebar > img { width: 100%; max-height: 490px; object-fit: cover; object-position: top; }
.episode-sidebar > div { padding: 1.3rem; }
.episode-sidebar span { color: var(--ember-bright); font-size: .875rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.episode-sidebar h2 { margin: .65rem 0 .25rem; font-family: var(--display); font-size: 2rem; font-weight: 500; line-height: 1; }
.episode-sidebar p { margin: 0; color: var(--mist); }
.episode-sidebar small { display: block; margin-top: 1rem; color: rgba(234,243,247,.6); }
.episode-music-link { display: inline-block; margin-top: 1rem; color: var(--signal); font-size: .875rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.episode-music-link:hover { color: var(--cloud); }
.episode-sidebar button { width: 100%; min-height: 52px; border: 0; background: var(--ember); color: #fff; font: 800 .875rem var(--sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.episode-sidebar > p { min-height: 2.5rem; padding: .8rem 1rem; color: var(--signal); font-size: .875rem; }
.episode-next { display: grid; grid-template-columns: repeat(2,1fr); background: var(--line); gap: 1px; border-top: 1px solid var(--line); }
.episode-next a { min-height: 170px; padding: 2rem clamp(1.1rem,5vw,5rem); display: flex; flex-direction: column; justify-content: center; background: #071321; color: var(--cloud); font-family: var(--display); font-size: clamp(1.4rem,3vw,2.4rem); text-decoration: none; }
.episode-next a:last-child { text-align: right; align-items: flex-end; }
.episode-next a:hover { background: #10293b; }
.episode-next small { margin-bottom: .5rem; color: var(--signal); font-family: var(--sans); font-size: .875rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.episode-companion-print { padding: clamp(4rem,8vw,7rem) clamp(1.1rem,6vw,6.5rem); background: #dce9ed; color: var(--night); }
.companion-heading { margin-bottom: 2rem; display: flex; justify-content: space-between; gap: 2rem; align-items: end; }
.companion-heading p { margin: 0; color: #a43a23; font-size: .875rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.companion-heading h2 { margin: .5rem 0 0; font-family: var(--display); font-size: clamp(2.6rem,5vw,5rem); font-weight: 500; letter-spacing: -.045em; line-height: .95; }
.companion-heading button { min-height: 50px; padding: .75rem 1rem; border: 1px solid rgba(7,19,33,.3); background: transparent; color: var(--night); font: 850 .875rem var(--sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.companion-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: rgba(7,19,33,.2); border: 1px solid rgba(7,19,33,.2); }
.companion-grid article { min-height: 270px; padding: 1.4rem; background: #f8fbfc; }
.companion-grid span { color: #a43a23; font-size: .875rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.companion-grid h3 { margin: 2rem 0 .8rem; font-family: var(--display); font-size: 1.9rem; font-weight: 500; line-height: 1; }
.companion-grid p,.companion-grid li { line-height: 1.65; }
.companion-grid ol,.companion-grid ul { margin: 0; padding-left: 1.2rem; }
.companion-grid li+li { margin-top: .65rem; }
.companion-grid small { display: block; margin-top: 1rem; color: #5b707b; }
@media (max-width:800px){.episode-header{position:relative;flex-wrap:wrap;gap:.6rem;padding-top:1rem;padding-bottom:1rem}.episode-header nav{display:flex;order:3;flex-basis:100%;flex-wrap:wrap;gap:.25rem 1rem}.episode-header nav a{display:inline-flex;align-items:center;min-height:44px}.episode-index-hero{grid-template-columns:1fr;padding-top:4rem}.episode-index-hero>img{max-height:65svh}.episode-index-grid{grid-template-columns:1fr}.episode-detail-wrap{grid-template-columns:1fr}.episode-sidebar{position:static;max-width:420px}.beat-grid{grid-template-columns:1fr}.beat-grid li{min-height:150px}.beat-grid p{margin-top:1.5rem}}
@media (max-width:800px){.companion-heading{align-items:flex-start;flex-direction:column}.companion-grid{grid-template-columns:1fr}}
@media (max-width:560px){.episode-page-hero{min-height:850px}.episode-page-title h1{font-size:clamp(3.4rem,17vw,5.6rem)}.episode-page-title dl{display:grid;grid-template-columns:1fr 1fr}.episode-next{grid-template-columns:1fr}.episode-next a:last-child{text-align:left;align-items:flex-start}}
@media print{.episode-header,.episode-page-hero,.episode-detail-wrap,.episode-next,footer{display:none!important}.episode-companion-print{padding:0;background:#fff}.companion-heading button{display:none}.companion-grid{grid-template-columns:1fr 1fr}.companion-grid article{min-height:0;background:#fff}}
