/* ─── TOKENS & THEMING ────────────────────────────────────────── */
:root {
  --brand-navy:   #0F1E3A; 
  --brand-navy2:  #162B54;
  --brand-gold:   #D4AF37; 
  --brand-cyan:   #00CED1; 
  --brand-white:  #FFFFFF;
  --bg-base:      #F8F8F6; 
  --bg-alt:       #EFEFEA; 
  --bg-card:      #E5E5DF; 
  --text-main:    #1A1714; 
  --text-muted:   #7C7670; 
  --border-subtle: rgba(26,23,20,.1);
}
:root[data-theme="dark"] {
  --bg-base:      #0B1528; 
  --bg-alt:       #101C33; 
  --bg-card:      #162645; 
  --text-main:    #F8F8F6; 
  --text-muted:   #A8B2C1; 
  --border-subtle: rgba(255,255,255,.08);
}

/* ─── RESET & GLOBALS ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body { 
  font-family: 'Inter', sans-serif; 
  background: var(--bg-base); 
  color: var(--text-main); 
  overflow-x: hidden; 
  -webkit-font-smoothing: antialiased; 
  transition: background 0.3s ease, color 0.3s ease; 
}
a { text-decoration: none; color: inherit; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
::selection { background: rgba(0, 206, 209, .22); }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--bg-base); }
::-webkit-scrollbar-thumb { background: var(--brand-cyan); }
em { font-style: italic; color: var(--brand-gold); }
.img-fluid { max-width: 100%; height: auto; border-radius: 0; display: block; }

/* ─── TYPOGRAPHY SYSTEM ───────────────────────────────────────── */
/* Playfair Display (Serif Headings) */
.hero-h1, .s-h2, .q-title, .hub-card-head h3, .problem-pull p, .stat-n, 
.pg-h1, .h3, .pod-feat-text h2, .pod-plat-title { 
  font-family: 'Playfair Display', Georgia, serif; 
  font-weight: 400; 
  letter-spacing: normal; 
  text-transform: none; 
}

/* Source Serif 4 (Serif Body/Prose) */
.hero-body, .prose-body, .thinking-block p, .hub-card-text, .sub-body, 
.q-body, .pod-desc, .ep-title, .pg-lead, .prose, .ep-dd, .pod-now-title { 
  font-family: 'Source Serif 4', Georgia, serif; 
  font-weight: 300; 
  line-height: 1.88; 
}
.hero-body strong, .prose-body strong, .prose strong { font-weight: 400; }

/* DM Mono (Monospace Labels, Eyebrows, Buttons, Metadata) */
.hero-eyebrow, .eyebrow, .hub-card-label, .btn-primary, .nav-cta, .btn-ghost, 
.sub-btn, .sub-note, .link-arrow, .sub-input, .ticker-item, .q-num, .q-label, 
.pod-plat, .ep-num, .ep-dur, .pod-now-sub, .all-eps-label, .pod-t, .stat-l, 
.disclaimer-label, .disclaimer-text, .foot-brand-tag, .foot-col h4, .foot-copy, 
.foot-em, .ep-n, .pod-plat-sub, .plat { 
  font-family: 'DM Mono', monospace; 
}

/* ─── SHARED UTILITIES & TEXTURES ─────────────────────────────── */
.section-pad { padding: 6.5rem 2.8rem; }
.gold-rule { width: 56px; height: 2px; background: var(--brand-gold); margin: 1.4rem 0; }
.border-gold { border-bottom: 2px solid var(--brand-gold); }
.border-cyan { border-bottom: 2px solid var(--brand-cyan); }

.circuit-bg { position: relative; }
.circuit-bg::before { 
  content: ''; position: absolute; inset: 0; 
  background-image: radial-gradient(circle at 15% 50%, rgba(0, 206, 209, 0.06) 0%, transparent 40%), 
                    radial-gradient(circle at 85% 30%, rgba(212, 175, 55, 0.04) 0%, transparent 40%), 
                    linear-gradient(rgba(0, 206, 209, 0.04) 1px, transparent 1px), 
                    linear-gradient(90deg, rgba(0, 206, 209, 0.04) 1px, transparent 1px); 
  background-size: 100% 100%, 100% 100%, 40px 40px, 40px 40px; 
  pointer-events: none; z-index: 0; opacity: 0.5; 
}

/* Shared two-column layout */
.about-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.eyebrow { font-size: 9px; color: var(--brand-gold); letter-spacing: .26em; text-transform: uppercase; margin-bottom: .8rem; font-weight: 600; }

/* ─── SHARED BUTTONS & LINKS ──────────────────────────────────── */
.btn-primary, .nav-cta, .sub-btn { 
  font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; 
  background: var(--brand-gold); color: var(--brand-navy) !important; 
  font-weight: 600; padding: 14px 32px; cursor: pointer; display: inline-flex; 
  align-items: center; justify-content: center; border: 1px solid var(--brand-gold); 
  transition: all .2s; height: 52px; white-space: nowrap; 
}
.btn-primary:hover, .nav-cta:hover, .sub-btn:hover { 
  background: var(--brand-navy) !important; color: var(--brand-cyan) !important; 
  border-color: var(--brand-cyan) !important; box-shadow: 0 0 15px rgba(0,206,209,0.3); 
  transform: translateY(-1px); 
}

.btn-ghost { 
  font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; 
  color: rgba(255,255,255,.5); cursor: pointer; font-weight: 600; 
  display: inline-flex; align-items: center; gap: 10px; transition: color .18s, gap .18s; 
}
.btn-ghost:hover { color: var(--brand-cyan); gap: 14px; }

.link-arrow { 
  font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: var(--brand-gold); 
  display: inline-flex; align-items: center; gap: 8px; transition: gap .18s, color .18s; font-weight: 600; cursor: pointer; 
}
.link-arrow::after { content: '→'; font-family: 'Inter', sans-serif; font-size: 14px; }
.link-arrow:hover { gap: 13px; color: var(--brand-cyan); }

/* ─── NAV & THEME TOGGLE ──────────────────────────────────────── */
#nav { 
  position: fixed; top: 0; left: 0; right: 0; z-index: 200; height: 64px; 
  display: flex; align-items: center; justify-content: space-between; 
  padding: 0 2.8rem; background: rgba(248,248,246,.94); backdrop-filter: blur(18px); 
  border-bottom: 1px solid var(--border-subtle); transition: height .25s ease, background .25s; 
}
[data-theme="dark"] #nav { background: rgba(11,21,40,.94); }
#nav.scrolled { height: 54px; }

.nav-brand { display: flex; align-items: center; gap: 12px; }
.nav-brand-img { height: 36px; width: 36px; border-radius: 4px; object-fit: cover; box-shadow: 0 0 8px rgba(212,175,55,0.3); }
.nav-brand-text { display: flex; flex-direction: column; line-height: 1; }
.nav-brand-name { font-size: 14px; font-weight: 700; color: var(--text-main); letter-spacing: .06em; text-transform: uppercase; transition: color .2s; }
.nav-brand-sub { font-size: 8px; color: var(--brand-gold); letter-spacing: .22em; text-transform: uppercase; margin-top: 4px; }

.nav-links { display: flex; align-items: center; gap: 2.4rem; list-style: none; }
.nav-links a { font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--text-muted); transition: color .18s; position: relative; font-weight: 600; }
.nav-links a::after { content: ''; position: absolute; bottom: -4px; left: 0; right: 0; height: 1px; background: var(--brand-cyan); transform: scaleX(0); transform-origin: right; transition: transform .24s ease; }
.nav-links a:hover, .nav-links a.active { color: var(--text-main); }
.nav-links a:hover::after, .nav-links a.active::after { transform: scaleX(1); transform-origin: left; }

#theme-toggle { color: var(--text-muted); padding: 8px; border-radius: 4px; transition: color 0.2s; display: flex; align-items: center; justify-content: center; }
#theme-toggle:hover { color: var(--brand-cyan); }
#theme-toggle svg { width: 18px; height: 18px; }
[data-theme="dark"] .sun-icon { display: block; }
[data-theme="dark"] .moon-icon { display: none; }
:root:not([data-theme="dark"]) .sun-icon { display: none; }
:root:not([data-theme="dark"]) .moon-icon { display: block; }

.hamburger { display: none; flex-direction: column; gap: 5px; padding: 4px; cursor: pointer; }
.hamburger span { display: block; width: 22px; height: 1.5px; background: var(--text-main); transition: all .28s; }
#mob-menu { display: none; position: fixed; inset: 0; z-index: 190; background: var(--bg-base); flex-direction: column; align-items: center; justify-content: center; gap: 1rem; }
#mob-menu.open { display: flex; }
#mob-menu a { font-size: 2.1rem; font-weight: 400; color: var(--text-main); transition: color .18s; min-height: 54px; display: flex; align-items: center; justify-content: center; width: 100%; }
#mob-menu a:hover { color: var(--brand-cyan); }

/* ─── FOOTER (Global - Locked to Navy) ────────────────────────── */
footer { background: var(--brand-navy); padding: 4.5rem 2.8rem 2.2rem; border-top: 1px solid rgba(212, 175, 55, 0.25); }
.foot-grid { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; gap: 3rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,.07); margin-bottom: 2rem; }
.foot-brand-name { font-family: 'Inter', sans-serif; font-size: 1.05rem; font-weight: 700; color: var(--brand-white); margin-bottom: .3rem; text-transform: uppercase; letter-spacing: 0.05em; }
.foot-brand-tag { font-size: 8px; color: var(--brand-gold); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; margin-bottom: .5rem; }
.foot-brand-desc { font-size: .82rem; color: rgba(255,255,255,.5); line-height: 1.78; max-width: 255px; margin-bottom: 1rem;}
.foot-col h4 { font-size: 8.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--brand-cyan); margin-bottom: 1.1rem; font-weight: 600; }
.foot-col ul { list-style: none; }
.foot-col li { margin-bottom: .55rem; }
.foot-col a { font-size: .83rem; color: rgba(255,255,255,.6); transition: color .18s; }
.foot-col a:hover { color: var(--brand-white); }
.foot-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .8rem; }
.foot-copy { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.4); font-weight: 500; }
.foot-em { font-weight: 400; font-size: .88rem; color: rgba(212,175,55,.6); font-style: italic; }
.foot-social { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: .4rem; }
.foot-icon { height: 24px; width: auto; display: block; opacity: .7; transition: opacity .18s; }
.foot-social a:hover .foot-icon { opacity: 1; }

.disclaimer { border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); padding: 1.4rem 1.8rem; margin-bottom: 2rem; }
.disclaimer-label { font-size: 10px; color: var(--brand-gold); letter-spacing: .2em; text-transform: uppercase; margin-bottom: .6rem; }
.disclaimer-text { font-size: 10px; color: rgba(255,255,255,.4); line-height: 1.75; letter-spacing: .02em; }

/* ─── PAGE: HOME SPECIFIC ─────────────────────────────────────── */
.hero { min-height: 100vh; background: var(--brand-navy); display: flex; flex-direction: column; justify-content: flex-end; padding: 0 2.8rem 5.5rem; position: relative; overflow: hidden; }
.hero-top-rule { position: absolute; top: 0; left: 2rem; right: 2rem; height: 1px; background: rgba(212,175,55,0.2); top: 64px; z-index: 1; }
.hero-gold-line { position: absolute; left: 2rem; top: 64px; bottom: 5.5rem; width: 2px; z-index: 1; background: linear-gradient(to bottom, transparent 0%, var(--brand-gold) 30%, var(--brand-gold) 70%, transparent 100%); opacity: .25; }
.hero-content { position: relative; left: 2.1rem; z-index: 2; max-width: 1700px; animation: rise .8s ease both; }
@keyframes rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.hero-eyebrow { font-size: 9.5px; color: var(--brand-gold); letter-spacing: .26em; text-transform: uppercase; font-weight: 600; margin-top: 8rem; margin-bottom: 2rem; display: flex; align-items: center; gap: 14px; }
.hero-eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--brand-gold); }
.hero-h1 { font-size: clamp(3rem, 6.5vw, 4rem); color: var(--brand-white); line-height: 1.05; margin-bottom: 2rem; }
.hero-rule { width: 48px; height: 1px; background: var(--brand-gold); margin-bottom: 1.8rem; }
.hero-body { font-size: 1.05rem; color: rgba(255,255,255,.6); max-width: 500px; margin-bottom: 3rem; }
.hero-btns { display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; }

.ticker { height: 40px; background: var(--brand-gold); overflow: hidden; display: flex; align-items: center; border-bottom: 1px solid rgba(0,0,0,0.1); }
.ticker-track { display: flex; white-space: nowrap; animation: ticker 30s linear infinite; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker-item { font-size: 10px; font-weight: 600; color: var(--brand-navy); letter-spacing: .18em; text-transform: uppercase; padding: 0 2.6rem; display: flex; align-items: center; gap: 1.4rem; }
.ticker-dot { width: 4px; height: 4px; background: var(--brand-navy); border-radius: 0; }

#questions { background: var(--bg-base); border-bottom: 1px solid var(--border-subtle); }
.q-header { padding: 5.5rem 2.8rem 4rem; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; border-bottom: 1px solid var(--border-subtle); max-width: 1920px; margin: 0 auto; }
.q-header-right .prose-body { max-width: 400px; }
.s-h2 { font-size: clamp(1.8rem, 3.2vw, 2.8rem); color: var(--text-main); line-height: 1.1; margin-bottom: 1rem; }
.s-h2.light { color: var(--brand-white); }
.prose-body { font-size: .97rem; color: var(--text-muted); }
.prose-body + .prose-body { margin-top: 1.1rem; }
.q-cards { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1920px; margin: 0 auto; }
.q-card { padding: 3rem 2.8rem; border-right: 1px solid var(--border-subtle); position: relative; transition: background .22s; background: var(--bg-alt); }
.q-card:last-child { border-right: none; }
.q-card:hover { background: var(--bg-card); }
.q-num { font-size: 2.5rem; font-weight: 400; color: rgba(212,175,55,.15); line-height: 1; position: absolute; top: 2.4rem; right: 2.4rem; }
.q-label { font-size: 8.5px; color: var(--brand-gold); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 1rem; }
.q-title { font-size: 1.35rem; font-weight: 500; color: var(--text-main); line-height: 1.3; margin-bottom: 1rem; }
.q-body { font-size: .95rem; color: var(--text-muted); }

/* Podcast Section & Player blocks on Home */
#podcast-home { background: var(--brand-navy); padding: 6.5rem 2.8rem; }
.pod-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; position: relative; z-index: 1; max-width: 1920px; margin: 0 auto; }
.pod-desc { font-size: 1rem; color: rgba(255,255,255,.6); margin-bottom: 2rem; max-width: 480px; }
.pod-platforms { display: flex; flex-wrap: wrap; gap: 8px; }
.pod-episodes { display: flex; flex-direction: column; gap: 1px; background: rgba(255,255,255,.04); }
.ep-row { background: rgba(255,255,255,.02); display: grid; grid-template-columns: 44px 1fr 38px; gap: 1.2rem; align-items: center; padding: 1.4rem 1.6rem; border-bottom: 1px solid rgba(255,255,255,.04); transition: background .18s; }
.ep-row.feat { border-top: 1px solid var(--brand-cyan); background: rgba(0,206,209,.04); }
.ep-row:hover { background: rgba(255,255,255,.06); }
.ep-num { font-size: 1.4rem; font-weight: 500; color: rgba(212,175,55,.3); line-height: 1; }
.ep-row.feat .ep-num { color: var(--brand-cyan); }
.ep-title { font-size: .95rem; font-weight: 400; color: rgba(255,255,255,.85); line-height: 1.4; margin-bottom: .2rem; }
.ep-play-btn { width: 30px; height: 30px; border-radius: 0; background: rgba(212,175,55,.15); border: 1px solid rgba(212,175,55,.4); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all .18s; margin-left: auto; }
.ep-play-btn:hover { background: var(--brand-cyan); border-color: var(--brand-cyan); }
.ep-play-btn:hover path { fill: var(--brand-navy); }

/* Resources Hub */
#hub { background: var(--bg-base); border-top: 1px solid var(--border-subtle); }
.hub-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border-subtle); margin-top: 3.5rem; }
.hub-card { background: var(--bg-alt); display: flex; flex-direction: column; transition: background .22s; }
.hub-card:hover { background: var(--bg-card); }
.hub-card-head { background: var(--brand-navy); padding: 1.4rem 1.8rem; border-bottom: 2px solid var(--brand-gold); }
.hub-card-head h3 { font-size: 1.1rem; font-weight: 500; color: var(--brand-white); line-height: 1.2; }
.hub-card-body { padding: 2rem 1.8rem; flex: 1; display: flex; flex-direction: column; }
.hub-card-label { font-size: 8.5px; color: var(--brand-gold); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; margin-bottom: .9rem; }
.hub-card-text { font-size: .9rem; color: var(--text-muted); flex: 1; margin-bottom: 1.4rem; }

/* Subscribe / Lead Capture */
#subscribe { background: var(--brand-navy); position: relative; overflow: hidden; }
#subscribe::before { content: ''; position: absolute; top: -50%; right: -8%; width: 700px; height: 700px; border: 1px solid rgba(0,206,209,.1); border-radius: 50%; pointer-events: none; }
#subscribe::after { content: ''; position: absolute; bottom: -40%; left: -5%; width: 500px; height: 500px; border: 1px solid rgba(0,206,209,.06); border-radius: 50%; pointer-events: none; }
.sub-inner { max-width: 640px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
.sub-body { font-size: .97rem; color: rgba(255,255,255,.6); margin-bottom: 2.8rem; }
.sub-form { display: flex; border: 1px solid rgba(212,175,55,.35); background: rgba(255,255,255,.05); }
.sub-input { flex: 1; font-size: .9rem; font-weight: 500; border: none; outline: none; background: transparent; color: var(--brand-white); padding: 0 1.2rem; height: 52px; }
.sub-input::placeholder { color: rgba(255,255,255,.4); }
.sub-input:focus { background: rgba(255,255,255,.04); }
.sub-note { font-size: 8px; color: rgba(255,255,255,.4); font-weight: 500; letter-spacing: .1em; margin-top: .9rem; text-transform: uppercase; }

/* ─── PAGE: ABOUT & PODCAST (Shared Top Hero) ─────────────────── */
.pg-hero { background: var(--brand-navy); padding: 10rem 2.8rem 5rem; position: relative; overflow: hidden; }
.pg-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--brand-cyan), transparent); }
.pg-hero-in { max-width: 1920px; position: relative; z-index: 1; }
.pg-h1 { font-size: clamp(2.3rem, 4.8vw, 4.2rem); color: var(--brand-white); line-height: 1.07; margin: .9rem 0 1.4rem; }
.pg-lead { font-size: .98rem; color: rgba(255,255,255,.6); max-width: 500px; }

/* ─── PAGE: ABOUT SPECIFIC ────────────────────────────────────── */
.about-prose-section { padding: 6rem 2.8rem; background: var(--bg-base); border-bottom: 1px solid var(--border-subtle); }
.about-block .h3 { font-size: clamp(1.35rem, 2.4vw, 1.9rem); color: var(--text-main); line-height: 1.18; margin-bottom: 1.5rem; }
.prose { font-size: .95rem; color: var(--text-muted); }
.prose + .prose { margin-top: 1.1rem; }

/* ─── PAGE: PODCAST SPECIFIC ──────────────────────────────────── */
.pod-pg-body { background: var(--bg-base); padding: 3.5rem 2.8rem 5rem; }
.pod-feat-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; margin-bottom: 4rem; align-items: start; }
.pod-feat-text h2 { font-size: clamp(1.5rem, 2.6vw, 2.2rem); color: var(--text-main); line-height: 1.25; margin-bottom: 1.2rem; }

/* Podcast Player Panel */
.pod-panel { background: var(--brand-navy); padding: 2.4rem; border-top: 2px solid var(--brand-cyan); position: relative; }
.pod-panel-tag { position: absolute; top: -1px; right: 1.8rem; font-size: 8px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; background: var(--brand-cyan); color: var(--brand-navy); padding: 4px 10px; }
.wave { display: flex; align-items: center; gap: 2px; height: 44px; margin: 1.4rem 0; }
.wb { flex: 1; border-radius: 0; background: var(--bg); animation: wv var(--d,1.1s) ease-in-out infinite var(--dl,0s); }
@keyframes wv { 0%,100%{transform:scaleY(.22)} 50%{transform:scaleY(1); background: var(--c)} }

.pod-prog { height: 2px; background: rgba(255,255,255,.1); position: relative; margin: .4rem 0; cursor: pointer; }
.pod-fill { height: 100%; width: 0%; background: var(--brand-cyan); transition: width .1s linear; }
.pod-pip { width: 8px; height: 12px; background: var(--brand-cyan); position: absolute; top: 50%; left: 0%; transform: translate(-50%,-50%); transition: left .1s linear; }

.pod-ctrl { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; }
.play-btn { width: 56px; height: 56px; border-radius: 0; background: var(--brand-gold); border: none; display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; transition: all .18s; position: relative; }
.play-btn::after { content: ''; position: absolute; inset: -16px; }
.play-btn:hover { background: var(--brand-cyan); }
.pod-t { font-size: 11px; font-weight: 600; color: var(--brand-cyan); }
.pod-now { margin-top: 1.2rem; }
.pod-now-sub { font-size: 8.5px; color: var(--brand-cyan); font-weight: 600; letter-spacing: .15em; text-transform: uppercase; margin-bottom: .4rem; }
.pod-now-title { font-size: .95rem; color: rgba(255,255,255,.85); font-weight: 300; line-height: 1.5; }

/* Episode List */
.all-eps-label { font-size: 9px; color: var(--brand-cyan); font-weight: 600; letter-spacing: .24em; text-transform: uppercase; margin-bottom: 1.2rem; display: flex; align-items: center; gap: 10px; }
.all-eps-label::before { content: ''; width: 24px; height: 1px; background: var(--brand-cyan); }
.ep-list { display: flex; flex-direction: column; gap: 1px; background: var(--border-subtle); }
.ep-item { display: grid; grid-template-columns: 52px 1fr auto; gap: 1.2rem; align-items: center; padding: 1.4rem 1.6rem; background: var(--bg-alt); transition: background .18s; border-left: 2px solid transparent; }
.ep-item:hover { background: var(--bg-card); border-left-color: var(--brand-cyan); }
.ep-n { font-size: 1.6rem; font-weight: 500; color: rgba(212,175,55,.4); line-height: 1; }
.ep-tt { font-size: .98rem; color: var(--text-main); margin-bottom: .2rem; }
.ep-dd { font-size: .88rem; color: var(--text-muted); font-weight: 300; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.ep-side { display: flex; align-items: center; gap: .9rem; }
.ep-dur { font-size: 9px; font-weight: 600; color: var(--text-muted); white-space: nowrap; }
.ep-btn { width: 36px; height: 36px; border-radius: 0; background: var(--brand-navy); border: 1px solid var(--brand-navy); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all .18s; flex-shrink: 0; position: relative; }
.ep-btn::after { content: ''; position: absolute; inset: -16px; }
.ep-btn:hover { background: var(--brand-cyan); border-color: var(--brand-cyan); }
.ep-btn:hover path { fill: var(--brand-navy); }

/* Platform Links */
.pod-plat-block { margin-top: 3rem; background: var(--brand-navy2); padding: 2.5rem; border-top: 2px solid var(--brand-gold); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; }
.pod-plat-title { font-size: 1.35rem; color: var(--brand-white); font-weight: 400; }
.pod-plat-sub { font-size: 8.5px; color: var(--brand-cyan); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; margin-bottom: .4rem; }
.plat, .pod-plat { font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); border: 1px solid rgba(255,255,255,.2); font-weight: 600; padding: 6px 13px; transition: all .18s; cursor: pointer; display: inline-block; }
.plat:hover, .pod-plat:hover { color: var(--brand-cyan); border-color: var(--brand-cyan); }
.pod-plat { font-size: 8.5px; }

/* ─── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 960px) {
  #nav { padding: 0 1.4rem; }
  .nav-links, .nav-cta, #theme-toggle { display: none; }
  .hamburger { display: flex; }
  
  .hero, .pg-hero, .about-prose-section, footer, .q-header, .q-card, 
  #podcast-home, .pod-pg-body { padding-left: 1.4rem; padding-right: 1.4rem; }
  
  .hero { padding-bottom: 3rem; padding-right: 3rem; }
  
  /* Fallback mobile gap logic */
  .about-cols { grid-template-columns: 1fr; gap: 0.5rem; }
  
  .section-pad { padding: 5rem 1.4rem; }
  .q-header { grid-template-columns: 1fr; gap: 1.5rem; }
  .q-cards { grid-template-columns: 1fr; }
  .q-card { border-right: none; border-bottom: 1px solid var(--border-subtle); }
  
  .pod-layout, .pod-feat-layout { grid-template-columns: 1fr; gap: 3rem; }
  .hub-grid { grid-template-columns: 1fr; }
  .foot-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

@media (max-width: 580px) {
  .hero-btns { flex-direction: column; align-items: flex-start; }
  .sub-form { flex-direction: column; }
  .foot-grid { grid-template-columns: 1fr; }
  .pod-plat-block { flex-direction: column; align-items: flex-start; }
}