:root { color-scheme: dark; --ink:#f3eddb; --muted:#9da9a5; --line:rgba(191,210,198,.2); --green:#93d6bb; --gold:#d7b56d; --black:#05090a; --panel:#0c1719; }
* { box-sizing: border-box; }
html { background:var(--black); }
body { margin:0; min-height:100vh; color:var(--ink); background:radial-gradient(circle at 75% 8%,rgba(47,112,95,.2),transparent 28rem),linear-gradient(145deg,#071113,#040708 60%); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px); background-size:100% 4px; mix-blend-mode:screen; }
.masthead { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px clamp(22px,5vw,72px); border-bottom:1px solid var(--line); }
.masthead p, footer { color:var(--muted); letter-spacing:.08em; text-transform:uppercase; font-size:11px; }
.brand { display:flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; letter-spacing:.06em; }
.brand span { display:grid; place-items:center; width:40px; height:40px; transform:rotate(45deg); border:1px solid var(--gold); color:var(--gold); font:600 11px/1 monospace; }
.brand span::first-line { transform:rotate(-45deg); }
main { width:min(1320px,calc(100% - 44px)); margin:auto; }
.hero { min-height:470px; display:grid; align-content:center; max-width:920px; padding:72px 0; }
.eyebrow { color:var(--green); text-transform:uppercase; letter-spacing:.18em; font:600 11px/1.3 monospace; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; margin:0; }
h1 { font-size:clamp(52px,8vw,112px); line-height:.88; letter-spacing:-.055em; }
.lede { max-width:650px; color:#c5cfcb; font:400 clamp(17px,2vw,22px)/1.55 Georgia,serif; }
.library { padding:60px 0 100px; border-top:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:30px; }
.section-heading h2 { font-size:clamp(34px,5vw,58px); }
#library-status { color:var(--muted); font-size:13px; }
.episode-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.episode-featured { grid-column:1/-1; }
.archive-heading { grid-column:1/-1; margin:24px 0 0; font-size:28px; }
.episode-card.episode-archive { min-height:0; aspect-ratio:1; }
.episode-archive .copy { padding:22px; }
.episode-archive h3 { font-size:clamp(24px,2.2vw,30px); line-height:1.08; }
.episode-archive p:not(.eyebrow) { font-size:14px; margin:10px 0; }
.episode-archive .meta { margin-top:12px; gap:5px; }
.episode-archive .meta span { font-size:9px; padding:5px 6px; }
.episode-archive .play { margin-top:14px; }
.episode-card { position:relative; min-height:490px; overflow:hidden; border:1px solid var(--line); background:var(--panel); text-decoration:none; color:var(--ink); isolation:isolate; }
.episode-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top,rgba(3,8,9,.98) 4%,rgba(3,8,9,.12) 68%); }
.episode-card img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.03); transition:transform .65s ease,filter .65s ease; }
.episode-card:hover img,.episode-card:focus-visible img { transform:scale(1.035); filter:saturate(1) contrast(1.07); }
.episode-card .copy { position:absolute; inset:auto 0 0; padding:28px; }
.episode-card h3 { font-size:34px; line-height:1; margin:8px 0 12px; }
.episode-card p { color:#c0cac6; line-height:1.5; }
.meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.meta span { border:1px solid var(--line); padding:6px 8px; color:var(--muted); font:600 10px/1 monospace; text-transform:uppercase; letter-spacing:.08em; }
.play { display:inline-flex; gap:10px; align-items:center; margin-top:18px; color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font:600 11px/1 monospace; }
.empty { padding:50px; border:1px dashed var(--line); color:var(--muted); }
footer { display:flex; justify-content:space-between; padding:25px clamp(22px,5vw,72px); border-top:1px solid var(--line); }
@media (max-width:640px) { .masthead p,footer span:last-child { display:none; } .hero{min-height:400px} .section-heading{align-items:start;flex-direction:column}.episode-card{min-height:430px} }
@media (min-width:641px) and (max-width:1000px) { .episode-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .episode-grid { grid-template-columns:1fr; } .episode-card.episode-archive { min-height:360px; aspect-ratio:auto; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important} }
