:root{
  --bg: #000000;
  --bg-1: #070707;
  --bg-2: #0e0e0e;
  --bg-3: #161616;
  --ink: #f5f0e6;           /* warm off-white, ref-style */
  --ink-2: #d7d1c4;
  --ink-3: #9a9488;
  --ink-4: #5a5650;
  --rule: #1c1a18;
  --rule-2: #2a2824;
  --red: #ff2a0b;           /* brand red from logo */
  --red-2: #ff5a42;
  --red-3: #ff8a78;
  --red-4: #ffb6a6;
  --sans: "Inter Tight", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  --display: "Inter Tight", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  --serif: "Instrument Serif","Canela","Tiempos Headline", Georgia, serif;
  --mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%}
::selection{background:var(--red);color:#000}

.mono{font-family:var(--mono);font-weight:400;letter-spacing:.02em;text-transform:uppercase;font-size:11px}
.serif-i{font-family:var(--serif);font-style:italic;font-weight:400}
.container{max-width:1480px;margin:0 auto;padding:0 48px}
@media (max-width:720px){.container{padding:0 20px}}

.grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.18;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .85 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

.glow{position:absolute;pointer-events:none;z-index:0;filter:blur(80px);
  background:radial-gradient(50% 50% at 50% 50%, rgba(255,42,11,.55) 0%, rgba(255,42,11,.28) 30%, rgba(255,42,11,.08) 60%, transparent 80%);
  mix-blend-mode:screen}

/* ===== nav ===== */
.nav{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.75);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--rule)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:12px;color:var(--ink)}
.logo img{width:28px;height:28px;display:block}
.logo-text{font-family:var(--display);font-size:13px;letter-spacing:.14em;font-weight:600;text-transform:uppercase}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{font-family:var(--sans);font-size:13.5px;color:var(--ink-3);transition:color .18s;font-weight:500;letter-spacing:.01em}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-cta{display:flex;align-items:center;gap:16px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:0;border:1px solid var(--ink);font-family:var(--display);font-size:13px;font-weight:500;background:var(--ink);color:#000;transition:transform .15s ease,background .15s, box-shadow .15s;letter-spacing:.02em;text-transform:uppercase}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule-2)}
.btn.ghost:hover{border-color:var(--ink)}
.btn.red{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 0 0 rgba(255,42,11,.6)}
.btn.red:hover{box-shadow:0 0 40px -4px rgba(255,42,11,.8)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block;box-shadow:0 0 10px rgba(255,42,11,.9)}
.dot.pulse{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}

/* ===== hero — editorial reference-style ===== */
.hero{position:relative;padding:72px 0 96px;overflow:hidden;border-bottom:1px solid var(--rule)}
.hero .glow{width:1200px;height:900px;left:-200px;top:-200px;opacity:.75}
.hero .glow.b{left:auto;right:-350px;top:200px;width:900px;height:700px;opacity:.45}
.hero-meta{display:flex;gap:32px;align-items:center;color:var(--red);padding-bottom:48px;position:relative;z-index:2;font-family:var(--mono);font-size:11.5px;letter-spacing:.18em}
.hero-meta .sep{color:var(--red);opacity:.5}
.hero-title{font-family:var(--display);font-weight:300;font-size:clamp(56px, 8.4vw, 136px);line-height:.95;letter-spacing:-.04em;margin:0;position:relative;z-index:2;color:var(--ink);max-width:11ch}
.hero-title .hl{background:var(--red);color:var(--ink);padding:.02em .1em .08em;display:inline-block;box-decoration-break:clone;-webkit-box-decoration-break:clone;font-weight:400}
.hero-title .it{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--red);letter-spacing:-.02em;font-size:1.05em}
.hero-title .amp{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--ink-3);font-size:1em;padding:0 .02em}
.hero-title .thin{font-weight:300;color:var(--ink-3)}
/* hero layout: title + cover side-by-side, desc row below */
.hero-top{display:grid;grid-template-columns:1fr 240px;gap:56px;align-items:start;position:relative;z-index:2}
@media (max-width:860px){.hero-top{grid-template-columns:1fr;gap:32px}}
.hero-cover{display:flex;flex-direction:column;gap:18px;justify-self:end;width:240px}
@media (max-width:860px){.hero-cover{justify-self:start;width:220px}}

.hero-sub{margin-top:40px;position:relative;z-index:2;padding-top:28px;border-top:1px solid var(--rule)}
.hero-desc{font-size:19.5px;line-height:1.5;color:var(--ink-2);max-width:58ch;font-weight:300}
.hero-desc strong{color:var(--ink);font-weight:500}
.hero-desc em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--red-3);font-size:1.08em;letter-spacing:-.01em}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
/* cover meta — row with hairline dividers */
.cover-meta{display:flex;flex-direction:column;border-top:1px solid var(--rule-2)}
.cm-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule);position:relative}
.cm-row::before{content:"";position:absolute;left:0;top:-1px;width:14px;height:1px;background:var(--red);opacity:0;transition:opacity .3s}
.cm-row:hover::before{opacity:1}
.cm-k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);flex-shrink:0;white-space:nowrap}
.cm-v{font-size:13.5px;color:var(--ink-2);text-align:right;font-weight:400;letter-spacing:-.005em;white-space:nowrap}
.cm-v em{font-family:var(--serif);font-style:italic;color:var(--red-3);font-size:1.05em;margin-left:4px}

/* cover panel — top-right of hero, aligned with title */
.cover-float{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--rule-2);box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.cover-float img{width:100%;height:100%;object-fit:cover;display:block}
.cover-float::after{content:"S01";position:absolute;left:12px;bottom:10px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,240,230,.85);background:rgba(0,0,0,.5);backdrop-filter:blur(6px);padding:4px 8px}

/* marquee */
.marquee{overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px 0;position:relative;z-index:2;background:var(--bg)}
.marquee-track{display:flex;gap:48px;animation:scroll 60s linear infinite;white-space:nowrap;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.marquee-track span{display:inline-flex;align-items:center;gap:18px}
.marquee-track span i{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--red);text-transform:none;letter-spacing:0;font-size:15px}
.marquee-track span::after{content:"✦";color:var(--red);font-size:9px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ===== sections ===== */
.section{padding:112px 0;border-bottom:1px solid var(--rule);position:relative;overflow:hidden}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;gap:24px;flex-wrap:wrap;position:relative;z-index:2}
.section-head h2{font-family:var(--display);font-size:clamp(44px,7vw,104px);line-height:.95;letter-spacing:-.035em;font-weight:300;max-width:16ch;color:var(--ink)}
.section-head h2 .it{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--red);letter-spacing:-.02em}
.section-head h2 .hl{background:var(--red);color:#000;padding:0 .08em}
.section-head .lede{max-width:46ch;color:var(--ink-3);font-size:16px;line-height:1.55;font-weight:300}
.section-head .lede em{font-family:var(--serif);font-style:italic;color:var(--ink);font-size:1.1em}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);position:relative;z-index:2}
.eyebrow .bar{width:28px;height:1px;background:var(--red)}

/* ===== featured episode ===== */
.featured .glow{width:900px;height:700px;right:-250px;top:80px;opacity:.5}
.featured-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:stretch;position:relative;z-index:2}
@media (max-width:1000px){.featured-grid{grid-template-columns:1fr}}
.player-card{background:
    radial-gradient(60% 80% at 10% 0%, rgba(255,42,11,.3), transparent 60%),
    linear-gradient(180deg, #100505 0%, #030303 60%);
  border:1px solid var(--rule-2);padding:44px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden;min-height:580px}
.player-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg, transparent 0 2px, rgba(255,255,255,.012) 2px 3px);pointer-events:none}
.player-card > *{position:relative}
.player-meta{display:flex;justify-content:space-between;align-items:center;color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.player-meta .live{color:var(--red)}
.player-card h3{font-family:var(--display);font-size:clamp(30px,3.6vw,52px);line-height:1.02;letter-spacing:-.028em;font-weight:400;margin-top:auto;color:var(--ink)}
.player-card h3 .it{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--red);letter-spacing:-.02em;font-size:1.08em}
.player-guest{display:flex;gap:14px;align-items:center;color:var(--ink-2);font-size:14.5px;margin-top:10px}
.avatar{width:52px;height:52px;border-radius:50%;background:
  radial-gradient(70% 70% at 30% 30%, #ff8a78, #ff2a0b 55%, #3a0804);
  border:1px solid rgba(255,255,255,.12);flex:0 0 auto;box-shadow:0 0 20px rgba(255,42,11,.35);overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.player-controls{display:flex;gap:18px;align-items:center;margin-top:20px}
.play-btn{width:68px;height:68px;border-radius:50%;background:var(--red);display:grid;place-items:center;transition:transform .15s, box-shadow .2s;box-shadow:0 0 0 0 rgba(255,42,11,.6)}
.play-btn:hover{transform:scale(1.05);box-shadow:0 0 40px -4px rgba(255,42,11,.8)}
.play-btn svg{fill:#fff;margin-left:3px}
.play-btn.playing svg{margin-left:0}
.progress{flex:1;display:flex;flex-direction:column;gap:6px}
.progress-bar{height:3px;background:rgba(255,255,255,.12);overflow:hidden;cursor:pointer;position:relative}
.progress-fill{height:100%;background:var(--red);width:18%;position:relative;box-shadow:0 0 12px rgba(255,42,11,.6)}
.progress-fill::after{content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 10px rgba(255,42,11,.9)}
.progress-times{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:var(--ink-4);letter-spacing:.1em}
.waveform{display:flex;align-items:center;gap:2px;height:56px;margin-top:4px}
.waveform span{flex:1;background:rgba(255,255,255,.14);border-radius:1px;min-height:3px;transition:background .2s}
.waveform span.active{background:var(--red);box-shadow:0 0 6px rgba(255,42,11,.5)}
.waveform span.current{background:var(--ink);box-shadow:0 0 10px rgba(245,240,230,.8)}

.featured-side{display:flex;flex-direction:column;gap:20px}
.card{border:1px solid var(--rule);padding:28px;display:flex;flex-direction:column;gap:16px;background:var(--bg-1)}
.card h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4)}
.card p{font-size:15.5px;color:var(--ink-2);line-height:1.55;font-weight:300}
.card p em{font-family:var(--serif);font-style:italic;color:var(--red-3);font-size:1.08em}
.timestamps{display:flex;flex-direction:column;margin:0 -8px}
.ts{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:13px 8px;border-top:1px solid var(--rule);cursor:pointer;transition:background .15s,color .15s}
.ts:first-child{border-top:0}
.ts:hover{background:rgba(255,42,11,.06)}
.ts .t{font-family:var(--mono);font-size:11px;color:var(--red-2)}
.ts .l{font-size:14.5px;color:var(--ink-2);font-weight:300}
.ts:hover .l{color:var(--ink)}
.ts .i{opacity:0;transition:opacity .15s;color:var(--red)}
.ts:hover .i{opacity:1}

/* ===== episodes list ===== */
.episodes .glow{width:800px;height:600px;left:-200px;bottom:-100px;opacity:.35}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;position:relative;z-index:2}
.chip{padding:10px 18px;border-radius:0;border:1px solid var(--rule-2);font-family:var(--display);font-size:12.5px;font-weight:500;color:var(--ink-3);cursor:pointer;transition:all .15s;letter-spacing:.04em;text-transform:uppercase}
.chip:hover{border-color:var(--ink-3);color:var(--ink-2)}
.chip.active{background:var(--ink);color:#000;border-color:var(--ink)}
.ep-grid{border-top:1px solid var(--ink-4);position:relative;z-index:2}
.ep{display:grid;grid-template-columns:80px 96px 1fr auto auto;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--rule);cursor:pointer;transition:all .22s;position:relative}
.ep::before{content:"";position:absolute;left:-24px;top:0;bottom:0;width:2px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .22s}
.ep:hover::before{transform:scaleY(1)}
.ep:hover{padding-left:8px}
.ep-num{font-family:var(--mono);font-size:12px;color:var(--ink-4);letter-spacing:.12em}
.ep-img{width:96px;height:96px;background:#0a0a0a;position:relative;overflow:hidden;flex:0 0 auto;border:1px solid var(--rule-2)}
.ep-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3)}
.ep-title{font-family:var(--display);font-size:23px;line-height:1.15;letter-spacing:-.018em;font-weight:500;color:var(--ink)}
.ep-title .it{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--red-2);font-size:1.08em;letter-spacing:-.015em}
.ep:hover .ep-title{color:var(--red-3)}
.ep-meta{display:flex;gap:12px;font-family:var(--mono);font-size:10.5px;color:var(--ink-4);margin-top:8px;letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap}
.ep-meta .tag{color:var(--red)}
.ep-duration{font-family:var(--mono);font-size:12px;color:var(--ink-3);letter-spacing:.1em}
.ep-play{width:46px;height:46px;border-radius:50%;border:1px solid var(--rule-2);display:grid;place-items:center;transition:all .15s;background:transparent}
.ep-play svg{fill:var(--ink);margin-left:2px}
.ep:hover .ep-play{background:var(--red);border-color:var(--red);box-shadow:0 0 28px -4px rgba(255,42,11,.8)}
@media (max-width:820px){
  .ep{grid-template-columns:70px 1fr auto;gap:14px}
  .ep-img,.ep-duration{display:none}
  .ep-title{font-size:17px}
}

/* ===== manifesto ===== */
.manifesto{background:var(--bg)}
.manifesto .glow{width:1200px;height:800px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.4}
.manifesto-inner{display:grid;grid-template-columns:1fr;gap:64px;max-width:1100px;margin:0 auto;position:relative;z-index:2}
.manifesto-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:12px;justify-content:center}
.manifesto h2{font-family:var(--display);font-weight:300;font-size:clamp(44px,6vw,92px);line-height:1;letter-spacing:-.035em;text-align:center;color:var(--ink)}
.manifesto h2 .it{font-family:var(--serif);font-style:italic;color:var(--red);font-weight:400;letter-spacing:-.02em;font-size:1.1em}
.manifesto-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
@media (max-width:960px){.manifesto-pillars{grid-template-columns:repeat(2,1fr)}}
.pillar{padding:36px 28px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:16px;min-height:240px}
.pillar:last-child{border-right:0}
@media (max-width:960px){.pillar:nth-child(2n){border-right:0}}
.pillar .num{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:.16em}
.pillar h3{font-family:var(--display);font-size:24px;font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
.pillar h3 .it{font-family:var(--serif);font-style:italic;color:var(--red);font-weight:400}
.pillar p{font-size:14.5px;color:var(--ink-3);line-height:1.55;font-weight:300}
.tenets{display:grid;grid-template-columns:1fr 1fr;gap:48px;font-size:17px;line-height:1.5;color:var(--ink-2);font-weight:300}
@media (max-width:720px){.tenets{grid-template-columns:1fr;gap:24px}}
.tenet{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start}
.tenet .x{font-family:var(--serif);color:var(--red);font-size:22px;font-style:italic;padding-top:2px;line-height:1}
.tenet strong{color:var(--ink);font-weight:500;display:block;margin-bottom:6px;font-size:19px;font-family:var(--display);letter-spacing:-.01em}
.tenet strong em{font-family:var(--serif);font-style:italic;color:var(--red);font-weight:400}

/* ===== journal teaser (on home) ===== */
.newsletter-section{background:#050505}
.newsletter-section .glow{width:800px;height:600px;right:-200px;top:0;opacity:.3}
.letter-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;position:relative;z-index:2}
@media (max-width:960px){.letter-grid{grid-template-columns:1fr}}
.letter-intro h2{font-family:var(--display);font-size:clamp(46px,6vw,88px);line-height:1;letter-spacing:-.035em;font-weight:300;color:var(--ink)}
.letter-intro h2 .it{font-family:var(--serif);font-style:italic;color:var(--red);font-weight:400;letter-spacing:-.02em;font-size:1.1em}
.letter-intro p{color:var(--ink-3);font-size:16px;line-height:1.55;max-width:44ch;margin-top:20px;font-weight:300}
.letter-intro .form{margin-top:32px;display:flex;flex-direction:column;gap:14px;max-width:440px}
.input-row{display:flex;border-bottom:1px solid var(--rule-2);padding:14px 0;transition:border-color .15s}
.input-row:focus-within{border-color:var(--red)}
.input-row input{flex:1;background:transparent;border:0;outline:none;color:var(--ink);font-family:var(--sans);font-size:17px;padding:0}
.input-row input::placeholder{color:var(--ink-4);font-style:italic;font-family:var(--serif)}
.input-row button{font-family:var(--display);font-size:12.5px;font-weight:500;color:var(--ink);padding:0 12px;display:flex;align-items:center;gap:6px;letter-spacing:.04em;text-transform:uppercase}
.input-row button:hover{color:var(--red)}
.letter-intro .micro{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);letter-spacing:.12em;text-transform:uppercase;display:flex;gap:14px;align-items:center}
.success-msg{color:var(--red-2);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-top:6px;min-height:16px}

.posts{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.post{padding:26px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:70px 1fr auto;gap:24px;align-items:center;cursor:pointer;transition:padding .2s}
.post:hover{padding-left:8px}
.post:hover .post-title{color:var(--red-3)}
.post-num{font-family:var(--mono);font-size:11px;color:var(--ink-4);letter-spacing:.12em}
.post-title{font-size:21px;font-weight:500;letter-spacing:-.015em;color:var(--ink);transition:color .2s;font-family:var(--display);line-height:1.2}
.post-title .it{font-family:var(--serif);font-style:italic;color:var(--red-2);font-weight:400;font-size:1.08em}
.post-meta{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);letter-spacing:.12em;text-transform:uppercase;margin-top:6px}
.post-meta .tag{color:var(--red)}
.post-arrow{color:var(--ink-4);transition:color .2s,transform .2s;font-size:20px}
.post:hover .post-arrow{color:var(--red);transform:translateX(4px)}

/* ===== hosts ===== */
.hosts .glow{width:900px;height:700px;left:-250px;top:100px;opacity:.35}
.hosts-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;position:relative;z-index:2}
@media (max-width:720px){.hosts-grid{grid-template-columns:1fr}}
.host-portrait{aspect-ratio:4/5;background:#050505;border:1px solid var(--rule-2);position:relative;overflow:hidden}
.host-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.host-portrait .tag{position:absolute;top:20px;left:20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,240,230,.9);z-index:2;padding:5px 10px;background:rgba(0,0,0,.4);backdrop-filter:blur(6px)}
.host-portrait .name-overlay{position:absolute;bottom:22px;left:22px;right:22px;font-family:var(--display);font-size:clamp(38px,4.2vw,56px);line-height:.94;color:var(--ink);letter-spacing:-.025em;z-index:2;font-weight:400}
.host-portrait .name-overlay .it{font-family:var(--serif);font-style:italic;color:var(--red);font-weight:400;font-size:1.05em}
.host-bio{font-family:var(--display);font-weight:400;font-size:23px;letter-spacing:-.015em;line-height:1.35;color:var(--ink);margin-top:22px}
.host-bio em{font-family:var(--serif);font-style:italic;color:var(--red-2);font-weight:400;font-size:1.05em}
.host-kv{margin-top:20px}

/* ===== listen strip ===== */
.listen{padding:56px 0;background:var(--bg);border-bottom:1px solid var(--rule);position:relative;overflow:hidden}
.listen .glow{width:600px;height:400px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.3}
.listen-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;position:relative;z-index:2}
.listen-label{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.listen-label em{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:-.01em;color:var(--red-2);font-size:14px}
.listen-logos{display:flex;gap:40px;align-items:center;flex-wrap:wrap}
.listen-logos a{font-family:var(--display);font-size:17px;font-weight:500;color:var(--ink-2);transition:color .15s;display:flex;align-items:center;gap:10px;letter-spacing:-.01em}
.listen-logos a:hover{color:var(--red)}

/* ===== footer ===== */
footer{padding:72px 0 36px;background:#000;color:var(--ink-2);position:relative;overflow:hidden}
footer .glow{width:1200px;height:500px;left:50%;bottom:-400px;transform:translateX(-50%);opacity:.55}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--rule);position:relative;z-index:2}
@media (max-width:960px){.foot-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:640px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-disclaimer{padding:22px 0;border-bottom:1px solid var(--rule);color:var(--ink-3);font-size:12.5px;line-height:1.55;position:relative;z-index:2}
.foot-disclaimer strong{color:var(--ink-2);font-weight:600}
.foot-disclaimer a{color:var(--red-2);text-decoration:underline;text-underline-offset:3px}
.foot-disclaimer a:hover{color:var(--red-3)}
.foot-col h5{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);margin-bottom:18px}
.foot-col a{display:block;padding:6px 0;font-size:14px;color:var(--ink-2);transition:color .15s}
.foot-col a:hover{color:var(--red)}
.foot-brand{font-family:var(--display);font-weight:300;font-size:52px;line-height:1;letter-spacing:-.03em;margin-bottom:14px;color:var(--ink)}
.foot-brand .it{font-family:var(--serif);font-style:italic;color:var(--red);font-weight:400}
.foot-tag{font-size:14.5px;color:var(--ink-3);max-width:38ch;line-height:1.55;font-weight:300}
.foot-tag em{font-family:var(--serif);font-style:italic;color:var(--red-2)}
.foot-bar{display:flex;justify-content:space-between;align-items:center;padding-top:28px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);flex-wrap:wrap;gap:12px;position:relative;z-index:2}

/* tweaks panel */
.tweaks{position:fixed;right:20px;bottom:20px;width:320px;background:var(--bg-1);border:1px solid var(--rule-2);padding:18px;z-index:100;box-shadow:0 24px 60px -10px rgba(0,0,0,.8);display:none;font-size:13px;color:var(--ink)}
.tweaks.open{display:block}
.tweaks h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;color:var(--ink-2)}
.tweaks .row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--rule)}
.tweaks .row:first-of-type{border-top:0}
.tweaks .row label{font-size:12px;color:var(--ink-3)}
.tweaks .opts{display:flex;gap:4px}
.tweaks .opts button{padding:5px 9px;border:1px solid var(--rule-2);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);background:transparent}
.tweaks .opts button.on{background:var(--red);color:#fff;border-color:var(--red)}
.tweaks .swatches{display:flex;gap:6px}
.tweaks .swatch{width:22px;height:22px;border-radius:50%;border:1px solid var(--rule-2);cursor:pointer;padding:0}
.tweaks .swatch.on{box-shadow:0 0 0 2px var(--bg-1), 0 0 0 3px var(--ink)}

/* theme variants */
body[data-accent="amber"]{--red:#ff8a2a; --red-2:#ffa855; --red-3:#ffc47a; --red-4:#ffdaa8}
body[data-accent="white"]{--red:#f5f0e6; --red-2:#e8e0d0; --red-3:#cfc7b4; --red-4:#aaa395}
body[data-accent="cyan"]{--red:#18d2ff; --red-2:#4cdfff; --red-3:#7aeaff; --red-4:#a8f1ff}
body[data-density="compact"] .section{padding:72px 0}
body[data-density="compact"] .hero{padding:40px 0 64px}
body[data-density="compact"] .hero-title{font-size:clamp(44px,8vw,128px)}

/* ===== journal subpage ===== */
.j-hero{padding:88px 0 72px;border-bottom:1px solid var(--rule);position:relative;overflow:hidden}
.j-hero .glow{width:1000px;height:700px;right:-250px;top:-100px;opacity:.5}
.j-hero .eyebrow{margin-bottom:24px}
.j-hero h1{font-family:var(--display);font-weight:300;font-size:clamp(64px,10vw,168px);line-height:.95;letter-spacing:-.04em;color:var(--ink);max-width:12ch}
.j-hero h1 .it{font-family:var(--serif);font-style:italic;color:var(--red);font-weight:400;letter-spacing:-.025em;font-size:1.1em}
.j-hero p{font-size:20px;color:var(--ink-2);max-width:52ch;margin-top:40px;line-height:1.5;font-weight:300;position:relative;z-index:2}
.j-hero p em{font-family:var(--serif);font-style:italic;color:var(--red-2);font-size:1.1em}

.j-section{padding:80px 0;border-bottom:1px solid var(--rule);position:relative;overflow:hidden}
.j-section .glow{width:700px;height:500px;left:-200px;top:0;opacity:.25}
.j-featured{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:stretch;margin-bottom:72px;position:relative;z-index:2}
@media (max-width:960px){.j-featured{grid-template-columns:1fr}}
.j-feat-card{background:linear-gradient(180deg,#0a0505 0%,#000 100%);border:1px solid var(--rule-2);padding:40px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden;min-height:480px}
.j-feat-card::after{content:"";position:absolute;right:-120px;bottom:-120px;width:360px;height:360px;background:radial-gradient(circle, rgba(255,42,11,.4), transparent 70%);filter:blur(40px)}
.j-feat-card > *{position:relative;z-index:1}
.j-feat-card h2{font-family:var(--display);font-size:clamp(36px,4.2vw,58px);line-height:1.02;letter-spacing:-.03em;font-weight:400;color:var(--ink);margin-top:auto}
.j-feat-card h2 .it{font-family:var(--serif);font-style:italic;color:var(--red);font-weight:400;letter-spacing:-.02em;font-size:1.08em}
.j-feat-meta{display:flex;gap:16px;font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase}
.j-feat-meta .tag{color:var(--red)}
.j-feat-lede{font-size:17px;color:var(--ink-2);line-height:1.5;max-width:50ch;font-weight:300}
.j-feat-lede em{font-family:var(--serif);font-style:italic;color:var(--red-2);font-size:1.08em}
.j-feat-cta{font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:10px;margin-top:12px;align-self:flex-start}

.j-feat-img{border:1px solid var(--rule-2);background:#050505;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.j-feat-img img{width:100%;height:100%;object-fit:cover}

.j-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule);position:relative;z-index:2}
@media (max-width:900px){.j-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.j-grid{grid-template-columns:1fr}}
.j-card{padding:28px 24px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:14px;min-height:280px;transition:background .2s;cursor:pointer}
.j-card:hover{background:rgba(255,42,11,.04)}
.j-card:nth-child(3n){border-right:0}
.j-card .num{font-family:var(--mono);font-size:11px;color:var(--ink-4);letter-spacing:.14em}
.j-card .cat{font-family:var(--mono);font-size:10.5px;color:var(--red);letter-spacing:.14em;text-transform:uppercase}
.j-card h3{font-family:var(--display);font-size:22px;line-height:1.15;letter-spacing:-.018em;font-weight:500;color:var(--ink);margin-top:auto}
.j-card h3 .it{font-family:var(--serif);font-style:italic;color:var(--red-2);font-weight:400;font-size:1.08em}
.j-card:hover h3{color:var(--red-3)}
.j-card .meta{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);letter-spacing:.12em;text-transform:uppercase;display:flex;gap:10px;margin-top:6px}

.j-nav{display:flex;gap:24px;margin-top:40px;padding:28px 0;border-top:1px solid var(--rule);position:relative;z-index:2}
.j-nav a{font-family:var(--display);font-size:13px;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}
.j-nav a:hover{color:var(--red)}

/* ===== host cards on index ===== */
.hosts-grid .host-card{position:relative;display:flex;flex-direction:column;color:inherit;transition:transform .25s ease}
.hosts-grid .host-card:hover{transform:translateY(-3px)}
.hosts-grid .host-card .host-portrait{transition:box-shadow .25s ease}
.hosts-grid .host-card:hover .host-portrait{box-shadow:0 12px 60px rgba(255,42,11,.18)}
.hosts-grid .host-card-overlay{position:absolute;inset:0;z-index:1;cursor:pointer}
.hosts-grid .host-card .host-portrait,
.hosts-grid .host-card .host-bio,
.hosts-grid .host-card .host-kv{position:relative;z-index:0}
.hosts-grid .host-card .host-kv a{position:relative;z-index:2}
.host-kv a{color:var(--ink-2);border-bottom:1px solid var(--rule-2);transition:color .15s,border-color .15s}
.host-kv a:hover{color:var(--red-2);border-color:var(--red-2)}

/* ===== dedicated host pages ===== */
.host-page{position:relative;z-index:2;padding:40px 0 80px}
.host-hero{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:start;margin-bottom:48px}
.host-hero-img{width:100%;border-radius:12px;border:1px solid var(--rule-2);filter:grayscale(.15)}
.host-hero h2{font-family:var(--display);font-size:clamp(36px,4vw,56px);font-weight:200;letter-spacing:-.02em;line-height:1.05;margin-bottom:22px}
.host-hero p{color:var(--ink-2);font-size:17px;line-height:1.65;margin-bottom:14px;max-width:60ch}
.host-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}
.host-link{display:flex;flex-direction:column;gap:4px;padding:14px 22px;border:1px solid var(--rule-2);border-radius:10px;background:var(--bg-1);transition:border-color .18s,transform .18s}
.host-link:hover{border-color:var(--red-2);transform:translateY(-1px)}
.host-link-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.host-link-v{font-family:var(--display);font-size:16px;color:var(--ink);font-weight:500}
@media (max-width:900px){.host-hero{grid-template-columns:1fr}.host-hero-img{max-width:280px}}

/* ===== episode detail page ===== */
.ep-page{position:relative;z-index:2;padding:20px 0 80px;max-width:820px;margin:0 auto}
.ep-page .ep-hero{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:start;margin-bottom:48px}
.ep-page .ep-hero img{width:100%;border-radius:12px;border:1px solid var(--rule-2)}
.ep-page .ep-hero h1{font-family:var(--display);font-size:clamp(32px,3.4vw,48px);font-weight:200;letter-spacing:-.02em;line-height:1.08;margin-bottom:18px}
.ep-page .ep-hero .meta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--ink-3);font-size:13px;margin-bottom:22px}
.ep-page .ep-hero .meta-row .tag{color:var(--red-2)}
.ep-page .ep-hero .intro{color:var(--ink-2);font-size:17px;line-height:1.65;margin-bottom:20px}
.ep-page .ep-hero .ep-cta{display:inline-flex;gap:10px;align-items:center;padding:12px 20px;background:var(--red);color:#fff;border-radius:999px;font-weight:600;font-size:14px;transition:background .18s}
.ep-page .ep-hero .ep-cta:hover{background:var(--red-2)}
.ep-page .guest-callout{padding:22px 26px;background:var(--bg-1);border:1px solid var(--rule-2);border-left:3px solid var(--red);border-radius:10px;margin-bottom:42px;color:var(--ink-2);font-size:15.5px;line-height:1.6}
.ep-page .guest-callout strong{color:var(--ink);font-weight:600}
.ep-page .ep-section{margin-bottom:36px}
.ep-page .ep-section h2{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-.01em;margin-bottom:14px;color:var(--ink)}
.ep-page .ep-section p{color:var(--ink-2);font-size:16.5px;line-height:1.68;margin-bottom:12px}
.ep-page .ep-section strong{color:var(--ink);font-weight:600}
.ep-page .takeaways{padding:28px 32px;background:var(--bg-2);border:1px solid var(--rule-2);border-radius:12px;margin:48px 0}
.ep-page .takeaways h2{font-family:var(--display);font-size:22px;font-weight:500;margin-bottom:12px;color:var(--ink)}
.ep-page .takeaways p{color:var(--ink-2);font-size:15.5px;line-height:1.65}
.ep-page .tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0}
.ep-page .tag-list span{padding:5px 12px;border:1px solid var(--rule-2);border-radius:999px;font-size:12px;color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em}
.ep-page .related h3{font-family:var(--display);font-size:26px;font-weight:300;letter-spacing:-.01em;margin:56px 0 20px}
.ep-page .related-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ep-page .related-card{display:flex;gap:14px;padding:16px;border:1px solid var(--rule-2);border-radius:10px;background:var(--bg-1);transition:border-color .18s}
.ep-page .related-card:hover{border-color:var(--red-2)}
.ep-page .related-card img{width:72px;height:72px;border-radius:8px;flex-shrink:0;object-fit:cover}
.ep-page .related-card .t{font-family:var(--display);font-size:14.5px;color:var(--ink);font-weight:500;line-height:1.35;margin-bottom:6px}
.ep-page .related-card .m{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em}
@media (max-width:720px){.ep-page .ep-hero{grid-template-columns:1fr}.ep-page .related-grid{grid-template-columns:1fr}}

/* ===== legal pages ===== */
.legal{max-width:780px;margin:0 auto;padding:20px 0 40px;position:relative;z-index:2}
.legal section{margin-bottom:36px}
.legal h2{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--ink);margin-bottom:14px}
.legal h3{font-family:var(--display);font-size:16px;font-weight:500;color:var(--ink);margin:18px 0 8px}
.legal p{color:var(--ink-2);font-size:16px;line-height:1.68;margin-bottom:12px}
.legal ul{margin:6px 0 14px 20px;color:var(--ink-2);font-size:16px;line-height:1.68}
.legal li{margin-bottom:4px}
.legal a{color:var(--red-2);text-decoration:underline;text-underline-offset:3px}
.legal a:hover{color:var(--red-3)}
.legal strong{color:var(--ink);font-weight:600}

/* ===== featured episode — Spotify embed ===== */
.spotify-embed{margin:24px 0 20px;border-radius:12px;overflow:hidden;border:1px solid var(--rule-2);background:var(--bg-2)}
.spotify-embed iframe{display:block;width:100%;border:0}
.player-platforms{display:flex;flex-wrap:wrap;gap:18px;padding-top:14px;border-top:1px solid var(--rule-2);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.player-platforms a{color:var(--ink-3);transition:color .15s}
.player-platforms a:hover{color:var(--red-2)}
.card-cta{display:inline-block;margin:14px 8px 6px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red-2);transition:color .15s}
.card-cta:hover{color:var(--red-3)}
.timestamps .ts{cursor:default}
