/* ─────────────────────────────────────────────
   پالس مدیا · Pulse Media
   editorial · brand-aligned · RTL · single file
   ───────────────────────────────────────────── */

:root{
  --navy:        #2e4d80;
  --navy-deep:   #1f3a64;
  --navy-ink:    #11100e;

  /* editorial brick red — primary accent */
  --coral:       #c8412e;
  --coral-deep:  #a0331f;
  --coral-soft:  #f5cdbb;

  /* live indicators use same brick */
  --live:        #c8412e;
  --live-deep:   #a0331f;

  /* muted ochre — tertiary, used for numbers and small editorial details */
  --gold:        #9a8047;
  --gold-deep:   #7a6638;
  --gold-soft:   #e6d49b;

  --paper:       #f1ebde;
  --paper-2:     #e6dfce;
  --paper-3:     #f8f4e8;
  --line:        rgba(17,16,14,.14);
  --line-soft:   rgba(17,16,14,.07);

  --ink:         #11100e;
  --ink-mute:    #4a463e;
  --ink-soft:    #807a6e;

  --maxw:        1280px;
  --gutter:      clamp(20px, 4vw, 56px);

  --fa-display:  'Estedad', 'Vazirmatn', system-ui, sans-serif;
  --fa-body:     'Vazirmatn', 'Estedad', system-ui, sans-serif;
  --en-serif:    'Fraunces', Georgia, serif;

  --ease:        cubic-bezier(.2,.7,.2,1);
  --t-fast:      .25s var(--ease);
  --t-med:       .45s var(--ease);
}

*,*::before,*::after{ box-sizing:border-box }
html,body{ margin:0; padding:0 }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background: var(--paper);
  color: var(--ink);
  font-family: var(--fa-body);
  font-weight: 400;
  font-size: 16.5px;
  line-height: 1.75;
  letter-spacing: .002em;
  min-height: 100vh;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img,svg{ display:block; max-width:100% }
a{ color:inherit; text-decoration:none }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer }
::selection{ background: var(--coral); color:#fff }

.wrap{ max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }

/* paper grain */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.55'/></svg>");
  opacity: .035; mix-blend-mode: multiply;
}
main, header, section, footer{ position:relative; z-index: 2 }

/* ── nav ─────────────────────────────────────── */

.nav{
  position: sticky; top:0; z-index: 50;
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  background: rgba(241,235,222,.90);
  border-bottom: 1px solid var(--line-soft);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  height: 92px; gap: 16px;
}
.brand{
  display:flex; align-items:center; gap:16px;
  animation: brand-enter 1.1s var(--ease) both;
  position: relative;
}
.brand .mark{
  width: 56px; height: 56px;
  background: url('logo.png') center/contain no-repeat;
  flex-shrink: 0;
  position: relative;
  animation: mark-breathe 3.6s ease-in-out infinite;
  transition: transform var(--t-fast);
}
.brand .mark::after{
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid var(--coral);
  opacity: 0;
  pointer-events: none;
  animation: mark-pulse 3.6s ease-out infinite;
  animation-delay: 0s;
}
.brand:hover .mark{ transform: scale(1.06) }

@keyframes brand-enter{
  0%   { opacity: 0; transform: translateX(8px); }
  100% { opacity: 1; transform: none; }
}
@keyframes mark-breathe{
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.035); }
}
@keyframes mark-pulse{
  0%   { transform: scale(.92); opacity: 0; }
  18%  { opacity: .55; }
  100% { transform: scale(1.55); opacity: 0; }
}
.brand .name{ display:flex; flex-direction:column; line-height:1.02; gap: 3px; }
.brand .name .fa{
  font-family: var(--fa-display); font-weight: 900;
  font-size: 24px; color: var(--navy-ink); letter-spacing: -.012em;
  transition: color var(--t-fast);
}
.brand .name .en{
  font-family: var(--en-serif); font-style: italic; font-weight: 400;
  font-size: 13px; color: var(--ink-mute); letter-spacing: .08em;
  transition: color var(--t-fast);
  text-transform: uppercase;
}
.brand .name .slogan{
  font-family: var(--fa-body);
  font-size: 11.5px; font-weight: 400;
  color: var(--ink-soft); letter-spacing: 0;
  margin-top: 2px;
  transition: color var(--t-fast);
}
.brand:hover .name .fa{ color: var(--coral) }
.brand:hover .name .en{ color: var(--coral-deep) }
.brand:hover .name .slogan{ color: var(--coral-deep) }

@media (max-width: 720px){
  .nav-inner{ height: 76px; gap: 12px; }
  .brand{ gap: 12px; }
  .brand .mark{ width: 44px; height: 44px; }
  .brand .name .fa{ font-size: 19px; }
  .brand .name .en{ font-size: 11px; }
  .brand .name .slogan{ font-size: 10.5px; }
}

@media (prefers-reduced-motion: reduce){
  .brand,
  .brand .mark,
  .brand .mark::after{
    animation: none !important;
  }
  .brand:hover .mark{ transform: none }
}

.nav-links{
  display:flex; align-items:center; gap: clamp(14px, 2.6vw, 30px);
  font-size: 15px; color: var(--ink-mute);
}
.nav-links a{ position:relative; padding-block:8px; transition: color var(--t-fast); }
.nav-links a:not(.nav-cta):hover{ color: var(--coral) }
.nav-links a:not(.nav-cta)::after{
  content:""; position:absolute; inset-inline-start:0; bottom:2px;
  height: 2px; width: 0; background: var(--coral);
  transition: width var(--t-med);
}
.nav-links a:not(.nav-cta):hover::after{ width: 100% }

.nav-cta{
  display:inline-flex !important; align-items:center; gap:8px;
  padding: 10px 18px !important; border-radius: 999px;
  background: var(--navy-ink); color: #fff !important;
  font-weight: 600; font-size: 14px;
  transition: background var(--t-fast), transform var(--t-fast);
}
.nav-cta:hover{ background: var(--coral); transform: translateY(-1px) }
.nav-cta .live-dot{
  width:8px; height:8px; border-radius:50%; background: var(--live);
  box-shadow: 0 0 0 0 rgba(17,16,14,.6);
  animation: pulse 1.8s var(--ease) infinite;
}
.nav-cta:hover .live-dot{ background:#fff }

@keyframes pulse{
  0%   { box-shadow: 0 0 0 0 rgba(17,16,14,.55) }
  70%  { box-shadow: 0 0 0 12px rgba(17,16,14,0) }
  100% { box-shadow: 0 0 0 0 rgba(17,16,14,0) }
}

@media (max-width: 720px){
  .nav-links a:not(.nav-cta){ display:none }
  .brand .name .en{ display:none }
}

/* ── featured episode zone ──────────────────── */
.featured{
  padding-top: clamp(16px, 1.6vw, 24px);
  padding-bottom: clamp(20px, 2.4vw, 36px);
}

.featured-title{
  font-family: var(--fa-display); font-weight: 900;
  font-size: clamp(28px, 3vw, 42px);
  color: var(--ink);
  line-height: 1.18;
  letter-spacing: -.02em;
  margin: 0;
  text-align: start;
  text-wrap: balance;
  max-width: 24ch;
}
@media (max-width: 880px){
  .featured-title{
    font-size: clamp(22px, 4vw, 30px);
    max-width: none;
  }
}

.featured-grid{
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  grid-template-rows: auto auto;
  column-gap: clamp(28px, 3vw, 48px);
  row-gap: clamp(18px, 2vw, 28px);
  align-items: start;
  margin-bottom: clamp(40px, 4.5vw, 60px);
}
.featured-title{
  grid-column: 1 / -1;
  grid-row: 1;
}
.featured-package{
  grid-column: 1;
  grid-row: 2;
}
.featured-briefing{
  grid-column: 2;
  grid-row: 2;
}

/* video side — package wrapper holds the box styling */
.featured-package{
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--line-soft);
  background: var(--paper-3);
  transition: transform var(--t-med), box-shadow var(--t-med), border-color var(--t-fast);
  display: flex; flex-direction: column;
}
.featured-package:hover{
  transform: translateY(-3px);
  border-color: var(--line);
  box-shadow: 0 24px 56px -28px rgba(17,16,14,.4);
}
.featured-video{
  display: block;
  text-decoration: none;
  background: transparent;
  border: none;
  border-radius: 0;
}
.featured-thumb{
  position: relative;
  aspect-ratio: 16/9;
  background-size: cover; background-position: center;
  background-color: var(--ink);
  overflow: hidden;
}
.featured-thumb::after{
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(11,10,8,.42) 100%);
  opacity: 1;
  transition: opacity var(--t-fast);
}
.featured-package:hover .featured-thumb::after{ opacity: 1 }

.featured-tag{
  position: absolute; top: 14px; inset-inline-start: 14px;
  z-index: 3;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px; border-radius: 999px;
  background: rgba(17,16,14,.86);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-size: 12px; font-weight: 500;
  color: #fff;
  letter-spacing: .03em;
}
.featured-tag .dot{
  width: 7px; height: 7px; border-radius: 50%; background: var(--live);
  box-shadow: 0 0 0 0 rgba(200,65,46,.6);
  animation: pulse 1.8s var(--ease) infinite;
}
.featured-play{
  position: absolute; inset: 0;
  display: grid; place-items: center;
  opacity: .5;
  transition: opacity var(--t-fast), transform var(--t-fast);
  z-index: 2;
}
.featured-package:hover .featured-play{ opacity: 1; transform: scale(1.04); }
.featured-play span{
  width: 70px; height: 70px;
  border-radius: 50%; background: var(--live);
  display: grid; place-items: center;
  box-shadow: 0 12px 32px -10px rgba(200,65,46,.7);
}
.featured-play svg{
  width: 26px; height: 26px; fill: #fff;
  margin-inline-start: 4px;
}
.featured-watch{
  display: flex; justify-content: space-between; align-items: center;
  padding: 18px clamp(20px, 2.4vw, 28px);
  font-family: var(--fa-body); font-weight: 600; font-size: 15px;
  color: var(--coral-deep);
  border-top: 1px solid var(--line);
  background: var(--coral-soft);
  transition: background var(--t-fast), color var(--t-fast);
}
.featured-package:hover .featured-watch{
  background: var(--ink);
  color: var(--paper);
}
.featured-watch .arrow{
  font-size: 22px;
  color: var(--coral);
  transition: transform var(--t-fast), color var(--t-fast);
  line-height: 1;
}
.featured-package:hover .featured-watch .arrow{
  color: var(--paper);
  transform: translateX(-6px);
}

/* briefing side — Smart Brevity */
.featured-briefing{
  display: flex; flex-direction: column;
  gap: 0;
}
.briefing-section{
  font-family: var(--fa-body);
  font-size: clamp(14px, 1vw, 15.5px);
  line-height: 1.75;
  color: var(--ink);
  margin: 0;
  padding: clamp(12px, 1.3vw, 16px) clamp(10px, 1.2vw, 14px);
  border-bottom: 1px solid var(--line);
  border-radius: 6px;
  transition: background-color var(--t-fast);
}
.briefing-section:last-child{
  border-bottom: none;
  padding-bottom: clamp(12px, 1.3vw, 16px);
}
.briefing-section:hover{
  background-color: var(--coral-soft);
}
.briefing-label{
  font-family: var(--fa-display); font-weight: 800;
  font-size: clamp(14.5px, 1.05vw, 16px);
  color: var(--coral-deep);
  letter-spacing: -.005em;
  margin-inline-end: 4px;
}
.briefing-dash{
  color: var(--coral);
  font-weight: 700;
  margin-inline: 4px 8px;
  font-style: normal;
  display: inline-block;
}

/* guests — inside the package, under the video */
.featured-guests{
  border-top: 1px solid var(--line);
  display: flex; flex-direction: column;
  padding: 0;
}
.guests-label{
  align-self: flex-start;
  margin: clamp(14px, 1.6vw, 18px) clamp(20px, 2.4vw, 28px) clamp(10px, 1.2vw, 14px);
  padding: 3px 9px 4px;
  background: var(--coral-soft);
  color: var(--coral-deep);
  font-family: var(--en-serif); font-style: italic;
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  border-radius: 3px;
  display: inline-flex; align-items: center; gap: 6px;
  white-space: nowrap;
}
.guests-list{
  list-style: none; margin: 0;
  padding: 0 clamp(20px, 2.4vw, 28px) clamp(16px, 1.8vw, 22px);
  display: flex; flex-direction: column;
  gap: clamp(8px, 1vw, 12px);
}
.guests-list li{
  font-family: var(--fa-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink-mute);
  padding: 0;
  border: none;
}
.guests-list li b{
  display: inline;
  font-family: var(--fa-display); font-weight: 700;
  font-size: 13.5px; color: var(--ink);
  letter-spacing: -.005em;
}
.guests-list li .role{
  display: inline;
  font-style: italic;
  font-size: 12.5px;
  color: var(--ink-mute);
}
.guests-list li .role::before{
  content: " — ";
  color: var(--gold-deep);
  font-style: normal;
}

/* signature pulse line — anchors at bottom of package */
.featured-signature{
  margin-top: auto;
  padding: clamp(12px, 1.4vw, 18px) clamp(20px, 2.4vw, 28px);
  border-top: 1px solid var(--line-soft);
  display: flex; justify-content: center; align-items: center;
  color: var(--coral);
  opacity: .5;
  transition: opacity var(--t-fast);
}
.featured-package:hover .featured-signature{ opacity: .8 }
.featured-signature svg{
  width: 60px; height: 6px;
  display: block;
}

/* ── podcast section ─────────────────────────── */
.podcast{
  padding-block: clamp(36px, 4.5vw, 64px);
  background: var(--paper);
  border-block: 1px solid var(--line-soft);
}
.podcast-head{
  margin-bottom: clamp(20px, 2.2vw, 28px);
}
.podcast-head-text{
  display: flex; flex-direction: column;
  gap: 10px;
}
.podcast-head .kicker{
  font-family: var(--en-serif); font-style: italic; font-weight: 400;
  font-size: 13px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--ink-mute);
  display: flex; align-items: center; gap: 10px;
}
.podcast-head .kicker .bar{
  width: 28px; height: 1px; background: var(--coral);
  display: inline-block;
}
.podcast-title{
  font-family: var(--fa-display);
  font-weight: 800;
  font-size: clamp(22px, 2.6vw, 32px);
  line-height: 1.15;
  letter-spacing: -.005em;
  color: var(--ink);
  margin: 0;
}

/* empty state */
.podcast-empty{
  border: 1px dashed var(--line);
  border-radius: 11px;
  padding: clamp(40px, 6vw, 80px) clamp(28px, 4vw, 56px);
  text-align: center;
  background: var(--paper-3);
}
.podcast-empty-icon{
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--coral-soft);
  color: var(--coral-deep);
  display: grid; place-items: center;
  margin: 0 auto clamp(18px, 2vw, 26px);
}
.podcast-empty-icon svg{ width: 28px; height: 28px; }
.podcast-empty-title{
  font-family: var(--fa-display); font-weight: 800;
  font-size: clamp(20px, 2.2vw, 28px);
  color: var(--ink);
  margin: 0 0 clamp(10px, 1.2vw, 14px);
  letter-spacing: -.012em;
}
.podcast-empty-text{
  font-family: var(--fa-body);
  font-size: clamp(14.5px, 1.1vw, 16px);
  line-height: 1.85;
  color: var(--ink-mute);
  max-width: 560px;
  margin: 0 auto clamp(22px, 2.6vw, 32px);
}
.podcast-platforms{
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: clamp(8px, 1vw, 14px);
}
.platform-btn{
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px;
  font-family: var(--en-serif); font-style: italic;
  font-size: 13px; letter-spacing: .04em;
  border-radius: 4px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  text-decoration: none;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.platform-btn:hover{
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
.platform-btn-disabled{
  opacity: .55;
  cursor: default;
  border-style: dashed;
}
.platform-btn-disabled:hover{
  background: var(--paper);
  color: var(--ink);
  border-color: var(--line);
}

.podcast-list{
  display: flex; flex-direction: column;
  gap: clamp(10px, 1.1vw, 14px);
}
.pod-episode{
  border: 1px solid var(--line-soft);
  border-radius: 9px;
  background: transparent;
  padding: clamp(14px, 1.5vw, 18px) clamp(18px, 2vw, 24px);
  transition: border-color var(--t-fast), background var(--t-fast);
  position: relative;
  overflow: hidden;
}
/* gold accent stripe — right edge (RTL start) */
.pod-episode::before{
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: 3px;
  background: var(--gold);
  opacity: .55;
  transition: opacity var(--t-fast), width var(--t-fast);
}
.pod-episode:hover{
  border-color: var(--gold-soft);
  background: var(--paper-3);
}
.pod-episode:hover::before{
  opacity: 1;
  width: 4px;
}
.pod-title{
  font-family: var(--fa-display); font-weight: 700;
  font-size: clamp(14.5px, 1.15vw, 16px);
  color: var(--navy-ink);
  letter-spacing: -.005em;
  line-height: 1.4;
  margin: 0 0 clamp(10px, 1.1vw, 14px);
}

/* custom waveform player */
.pod-player{
  display: flex; align-items: center;
  gap: clamp(10px, 1.1vw, 14px);
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  position: relative;
  direction: ltr;
}

.pod-play{
  width: 34px; height: 34px;
  flex-shrink: 0;
  border: none;
  border-radius: 50%;
  background: var(--coral);
  color: var(--paper);
  display: grid; place-items: center;
  cursor: pointer;
  transition: background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
  padding: 0;
  box-shadow: 0 4px 12px -4px rgba(200,65,46,.4);
}
.pod-play:hover{
  background: var(--coral-deep);
  transform: scale(1.06);
  box-shadow: 0 6px 16px -4px rgba(200,65,46,.5);
}
.pod-play svg{
  width: 13px; height: 13px;
  margin-left: 1px;
}

.pod-wave{
  flex: 1;
  min-width: 0;
  height: 28px;
  cursor: pointer;
  position: relative;
  user-select: none;
}
.pod-player audio{ display: none; }
.pod-wave-svg{
  width: 100%;
  height: 100%;
  display: block;
}
.pod-wave-bg rect{
  fill: var(--gold);
  opacity: .35;
  transition: opacity var(--t-fast);
}
.pod-wave-fg rect{
  fill: var(--coral);
}
.pod-wave:hover .pod-wave-bg rect{
  opacity: .55;
}
.pod-clip-rect{
  transition: width .08s linear;
}

.pod-time{
  font-family: var(--en-serif);
  font-size: 11.5px;
  letter-spacing: .04em;
  color: var(--ink-mute);
  display: flex; align-items: center; gap: 6px;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.pod-time .pod-current{ color: var(--coral); font-weight: 600; }
.pod-time .pod-total::before{
  content: "/";
  margin-right: 6px;
  color: var(--gold);
  opacity: .6;
}

@media (max-width: 540px){
  .pod-player{ flex-wrap: wrap; }
  .pod-wave{ flex-basis: 100%; order: 3; }
  .pod-time{ margin-left: auto; }
}

.podcast-platforms-strip{
  margin-top: clamp(28px, 3vw, 40px);
  padding-top: clamp(20px, 2.4vw, 28px);
  border-top: 1px solid var(--line-soft);
  display: flex; flex-wrap: wrap; align-items: center;
  gap: clamp(8px, 1vw, 14px);
}
.platforms-label{
  font-family: var(--en-serif); font-style: italic;
  font-size: 13px; letter-spacing: .08em;
  color: var(--ink-mute);
  margin-inline-end: 8px;
}

.satellite-section{
  padding-block: clamp(28px, 3vw, 50px);
  background: var(--paper-3);
  border-block: 1px solid var(--line-soft);
}
/* satellite info — thin top strip */
.satellite-top{
  padding-block: 0;
  background: var(--paper-2);
  border-bottom: 1px solid var(--line-soft);
}
.sat-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding-block: 8px;
  font-size: 12px;
  line-height: 1;
  color: var(--ink-mute);
  white-space: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.sat-strip::-webkit-scrollbar{ display: none; }

.sat-cluster{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.sat-strip-icon{
  display: inline-flex;
  width: 16px; height: 16px;
  color: var(--coral);
  flex-shrink: 0;
}
.sat-strip-icon svg{ width: 100%; height: 100%; }

/* outward-traveling pulse on the satellite waves */
@keyframes sat-wave-pulse {
  0%   { opacity: 0; }
  18%  { opacity: 1; }
  70%  { opacity: 0; }
  100% { opacity: 0; }
}
.sat-strip-icon .sat-w{
  animation: sat-wave-pulse 1.8s ease-out infinite;
}
.sat-strip-icon .sat-w:nth-of-type(2){ animation-delay: .3s; }
.sat-strip-icon .sat-w:nth-of-type(3){ animation-delay: .6s; }

@media (prefers-reduced-motion: reduce){
  .sat-strip-icon .sat-w{ animation: none; opacity: 1; }
  .sat-strip-icon .sat-w:nth-of-type(2){ opacity: .6; }
  .sat-strip-icon .sat-w:nth-of-type(3){ opacity: .3; }
}

.sat-strip-label{
  font-family: var(--en-serif);
  font-style: italic;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--coral-deep);
  font-weight: 500;
}
.sat-strip-name{
  color: var(--ink);
  font-weight: 600;
  letter-spacing: 0;
}
.sat-strip-dot{
  opacity: .3;
  user-select: none;
  font-weight: 400;
}
.sat-cluster span:not(.sat-strip-dot):not(.sat-strip-icon){
  font-variant-numeric: tabular-nums;
}

@media (max-width: 720px){
  .sat-strip{
    justify-content: flex-start;
    gap: 16px;
    font-size: 11px;
  }
  .sat-strip-label{ font-size: 10px; }
}

/* common pill buttons */
.btn{
  display:inline-flex; align-items:center; gap: 10px;
  padding: 14px 22px; border-radius: 999px;
  font-weight: 600; font-size: 15px;
  transition: all var(--t-fast); white-space: nowrap;
  cursor: pointer;
  isolation: isolate;
  text-decoration: none;
}
.btn-primary{
  background: var(--coral); color:#fff;
  box-shadow: 0 10px 28px -12px rgba(200,65,46,.55);
}
.btn-primary:hover{
  background: var(--coral-deep); transform: translateY(-2px);
  box-shadow: 0 14px 32px -12px rgba(200,65,46,.65);
}
.btn-ghost{
  background: transparent; color: var(--navy-ink);
  border: 1px solid var(--navy-ink);
}
.btn-ghost:hover{ background: var(--navy-ink); color:#fff }
.btn .arrow{ display:inline-block; transition: transform var(--t-fast); font-size: 18px; line-height:1; }
.btn:hover .arrow{ transform: translateX(-4px) }

/* ─── archive filter chips ─────────────────── */
.filter-chips{
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: clamp(28px, 3.2vw, 40px);
}
.filter-chips .chip{
  font-family: var(--fa-body);
  font-size: 14px; font-weight: 500;
  color: var(--ink-mute);
  background: transparent;
  border: 1px solid var(--line);
  padding: 9px 18px; border-radius: 999px;
  cursor: pointer;
  transition: all var(--t-fast);
}
.filter-chips .chip:hover{
  color: var(--navy-ink);
  border-color: var(--navy-ink);
  transform: translateY(-1px);
}
.filter-chips .chip.is-active{
  background: var(--navy-ink); color: var(--paper);
  border-color: var(--navy-ink);
}
.ep.is-hidden{ display: none; }

@media (max-width: 880px){
  .featured-grid{
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    column-gap: 0;
    row-gap: 32px;
  }
  .featured-title{ grid-column: 1; grid-row: 1; }
  .featured-package{ grid-column: 1; grid-row: 2; }
  .featured-briefing{ grid-column: 1; grid-row: 3; }
}
@media (max-width: 540px){
  .featured-package{ border-radius: 12px; }
  .featured-play span{ width: 56px; height: 56px; }
  .featured-play svg{ width: 22px; height: 22px; }
  .featured-watch{ font-size: 13.5px; padding: 14px 18px; }
}

.episodes{
  background: var(--paper-3);
  border-block: 1px solid var(--line-soft);
  padding-block: clamp(50px, 5.5vw, 80px);
}
.ep-grid{
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(22px, 2.5vw, 36px);
}
@media (max-width: 920px){ .ep-grid{ grid-template-columns: repeat(2, minmax(0,1fr)) } }
@media (max-width: 600px){ .ep-grid{ grid-template-columns: 1fr } }

.ep{
  display: flex; flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--line-soft); border-radius: 14px; overflow: hidden;
  transition: transform var(--t-fast), box-shadow var(--t-med), border-color var(--t-fast);
}
.ep:hover{
  transform: translateY(-3px); border-color: var(--line);
  box-shadow: 0 18px 40px -22px rgba(17,16,14,.35);
}
.ep .ep-thumb{
  position:relative; aspect-ratio: 16/9;
  background-size: cover; background-position:center;
  background-color: var(--navy-deep);
}
.ep .ep-thumb::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 60%, rgba(17,16,14,.55) 100%);
  opacity: 0; transition: opacity var(--t-fast);
}
.ep:hover .ep-thumb::after{ opacity: 1 }
.ep .ep-play{
  position:absolute; inset:0; display:grid; place-items:center;
  opacity: 0; transition: opacity var(--t-fast);
}
.ep:hover .ep-play{ opacity: 1 }
.ep .ep-play span{
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--live); display:grid; place-items:center;
  box-shadow: 0 8px 22px -8px rgba(17,16,14,.7);
}
.ep .ep-play svg{ width: 22px; height: 22px; fill:#fff; margin-inline-start: 3px; }
.ep .ep-num{
  position: absolute; top: 12px; inset-inline-start: 12px;
  z-index: 3;
  font-family: var(--en-serif); font-style: italic;
  font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,253,247,.92);
  display: inline-flex; align-items: baseline; gap: 3px;
  padding: 5px 10px; border-radius: 999px;
  background: rgba(17,16,14,.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.ep .ep-num b{
  font-family: var(--fa-display); font-style: normal; font-weight: 800;
  font-size: 13px; letter-spacing: 0;
  color: var(--gold-soft);
}
.ep .ep-body{ padding: 22px 22px 24px; flex: 1; display:flex; flex-direction:column; gap:10px; }
.ep .ep-meta{
  display:flex; align-items:center; gap:10px;
  font-family: var(--fa-body); font-size: 12.5px;
  color: var(--ink-soft); letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.ep .ep-meta .dot{ width:3px; height:3px; border-radius:50%; background: var(--ink-soft); }
.ep .ep-meta .num{ color: var(--coral); font-weight: 600; }
.ep h3{
  font-family: var(--fa-display); font-weight: 700;
  font-size: 17.5px; line-height: 1.5; margin: 0; color: var(--navy-ink);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

.ep-footer{
  margin-top: clamp(40px, 5vw, 60px); display:flex; justify-content:center;
}

/* ── manifesto ───────────────────────────────── */
.manifesto{ position: relative; }
.manifesto::before{
  content:""; position:absolute;
  width: 320px; height: 320px;
  inset-inline-end: -100px; top: 60px;
  background: var(--coral); border-radius: 50%;
  opacity: .08; z-index: 0;
}
.manifesto-grid{
  display:grid; grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 90px); align-items: start;
}
@media (max-width: 920px){ .manifesto-grid{ grid-template-columns: 1fr } }

.manifesto-grid h2{
  font-family: var(--fa-display); font-weight: 900;
  font-size: clamp(28px, 3.6vw, 48px); line-height: 1.15;
  margin: 0 0 24px; color: var(--navy-ink); letter-spacing: -.01em;
}
.manifesto-grid p{
  font-size: clamp(16px, 1.3vw, 18.5px);
  line-height: 1.95; color: var(--ink); margin: 0 0 18px;
}
.manifesto-grid p:first-of-type::first-letter{
  font-family: var(--fa-display); font-weight: 900;
  font-size: 3.4em; line-height: .85; float: right;
  margin-inline-end: 0; margin-inline-start: 10px; margin-top: 6px;
  color: var(--coral);
}
.manifesto blockquote{
  margin: 0; padding: 28px 32px;
  border-inline-start: 3px solid var(--coral);
  background: var(--paper-3);
  border-radius: 0 12px 12px 0;
  position: relative;
}
.manifesto blockquote p{
  font-family: var(--fa-display); font-weight: 500;
  font-size: clamp(19px, 1.7vw, 24px); line-height: 1.55;
  margin: 0 0 14px; color: var(--navy-ink); font-style: normal;
}
.manifesto blockquote cite{
  display:block; font-style: normal;
  font-family: var(--en-serif); font-style: italic;
  font-size: 13px; color: var(--ink-mute); letter-spacing: .04em;
}

.facts{
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;
  margin-top: 8px;
}
.fact{
  padding: 22px; background: var(--paper-3);
  border: 1px solid var(--line-soft); border-radius: 12px;
}
.fact .label{
  font-family: var(--en-serif); font-style: italic;
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-mute); margin-bottom: 6px;
}
.fact .value{
  font-family: var(--fa-display); font-weight: 700;
  font-size: 17px; color: var(--navy-ink); line-height: 1.45;
}

/* founders card — two-person */
.founders-card{
  padding: 28px;
  background: var(--paper-3);
  border: 1px solid var(--line-soft);
  border-radius: 11px;
  margin-bottom: 24px;
  position: relative;
}
.founders-label{
  font-family: var(--en-serif); font-style: italic; font-weight: 400;
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-mute); margin-bottom: 18px;
  display: flex; align-items: center; gap: 10px;
  position: relative; z-index: 1;
}
.founders-label::before{
  content:""; width: 24px; height: 1.5px; background: var(--coral);
}
.founder-row{
  display: flex; align-items: center; gap: 16px;
  position: relative; z-index: 1;
}
.founder-divider{
  height: 1px; background: var(--line-soft);
  margin: 18px 0; position: relative; z-index: 1;
}
.founder-avatar{
  width: 84px; height: 84px;
  border-radius: 6px;
  flex-shrink: 0;
  object-fit: cover;
  display: block;
  background: var(--paper-3);
  position: relative;
  filter: contrast(1.04) saturate(0.95);
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.founder-row:hover .founder-avatar{
  transform: translateY(-2px);
}
/* removed accent rings — keep portraits clean editorial */
.founder-avatar-coral,
.founder-avatar-navy{
  box-shadow: 0 1px 1px rgba(17,16,14,.06),
              0 12px 28px -14px rgba(17,16,14,.4);
}
.founder-row:hover .founder-avatar-coral,
.founder-row:hover .founder-avatar-navy{
  box-shadow: 0 1px 1px rgba(17,16,14,.06),
              0 18px 36px -14px rgba(17,16,14,.5);
}
.founder-name{
  font-family: var(--fa-display); font-weight: 800;
  font-size: 18.5px; color: var(--navy-ink); line-height: 1.3;
}
.founder-name-row{
  display: flex; align-items: baseline; gap: 12px;
  flex-wrap: wrap; margin-bottom: 4px;
}
.founder-x{
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--en-serif); font-style: italic;
  font-size: 13.5px; color: var(--ink-mute);
  letter-spacing: .02em;
  transition: color var(--t-fast);
  white-space: nowrap;
}
.founder-x:hover{ color: var(--coral); }
.founder-x .x-icon{
  width: 11px; height: 11px; fill: currentColor; opacity: .85;
  transform: translateY(1px);
}
.founder-role{
  font-family: var(--fa-body);
  font-size: 13px; color: #9aa3b6; margin-top: 4px;
  letter-spacing: 0;
}

/* ── show feature with banner ────────────────── */
.show{
  background: var(--paper-3); border-block: 1px solid var(--line-soft);
}
.show-frame{
  position: relative; border-radius: 11px; overflow: hidden;
  aspect-ratio: 16 / 9;
  background-image: url('show-banner.jpg');
  background-size: cover; background-position: center;
  box-shadow: 0 1px 1px rgba(17,16,14,.06), 0 30px 80px -30px rgba(17,16,14,.5);
  margin-bottom: clamp(40px, 5vw, 64px);
}
.show-frame::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 55%, rgba(11,30,60,.55) 100%);
}
.show-frame .show-tag{
  position: absolute; top: 22px; inset-inline-start: 22px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px; border-radius: 999px;
  background: rgba(255,253,247,.92); backdrop-filter: blur(10px);
  font-size: 12.5px; font-weight: 600; color: var(--navy-ink);
  letter-spacing: .03em; z-index: 2;
}
.show-frame .show-tag .dot{
  width: 8px; height: 8px; border-radius: 50%; background: var(--coral);
  animation: pulse 1.8s var(--ease) infinite;
}

.show-info{
  display: grid; grid-template-columns: 1.1fr .9fr;
  gap: clamp(36px, 5vw, 80px); align-items: start;
}
@media (max-width: 920px){ .show-info{ grid-template-columns: 1fr } }
.show-info h3{
  font-family: var(--fa-display); font-weight: 900;
  font-size: clamp(28px, 3.4vw, 44px); line-height: 1.15;
  margin: 0 0 20px; color: var(--navy-ink);
}
.show-info p{
  font-size: 16.5px; line-height: 1.9; color: var(--ink); margin: 0 0 16px;
}
.host-card{
  padding: 28px; background: var(--paper); border: 1px solid var(--line-soft);
  border-radius: 11px;
}
.host-card .host-row{
  display:flex; align-items: center; gap: 16px; margin-bottom: 18px;
}
.host-card .host-avatar{
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--coral); color:#fff;
  display:grid; place-items:center;
  font-family: var(--fa-display); font-weight: 900; font-size: 22px;
  flex-shrink: 0;
}
.host-card .host-name{ font-family: var(--fa-display); font-weight: 800; font-size: 19px; color: var(--navy-ink); }
.host-card .host-role{ font-family: var(--en-serif); font-style: italic; font-size: 13.5px; color: var(--ink-mute); margin-top: 2px; }
.host-handles{ display:flex; flex-direction: column; gap: 10px; }
.host-handle{
  display:flex; align-items:center; gap:12px;
  padding: 12px 16px; border-radius: 10px;
  background: var(--paper-3); border: 1px solid var(--line-soft);
  transition: all var(--t-fast);
  font-size: 14.5px; color: var(--navy-ink);
}
.host-handle:hover{ border-color: var(--coral); background:#fff; transform: translateX(-3px) }
.host-handle .platform{
  font-family: var(--en-serif); font-style: italic; font-size: 12px;
  color: var(--ink-mute); margin-inline-end: auto; letter-spacing: .04em;
}
.host-handle .ico{ width: 18px; height: 18px; fill: var(--navy-ink); }

/* ── satellite broadcast ────────────────────── */
.satellite{ background: var(--paper-3); border-block: 1px solid var(--line-soft); }
.sat-card{
  border: 1px solid var(--line); border-radius: 14px;
  background: var(--paper); overflow: hidden;
  box-shadow: 0 1px 1px rgba(17,16,14,.04), 0 24px 60px -30px rgba(17,16,14,.28);
  position: relative;
}
.sat-card::before{
  content:""; position:absolute;
  width: 360px; height: 360px; border-radius: 50%;
  inset-inline-end: -160px; top: -160px;
  background: var(--coral); opacity: .07; z-index: 0;
}
.sat-card::after{
  content:""; position:absolute;
  width: 220px; height: 220px; border-radius: 50%;
  inset-inline-start: -100px; bottom: -100px;
  background: var(--navy); opacity: .05; z-index: 0;
}

.sat-header{
  display:flex; align-items: center; gap: 18px;
  padding: clamp(24px, 3vw, 36px) clamp(28px, 4vw, 44px);
  background: var(--navy-ink); color:#fff;
  position: relative; z-index: 1;
}
.sat-header .sat-icon{
  width: 48px; height: 48px; border-radius: 12px;
  background: var(--coral);
  display:grid; place-items:center; flex-shrink: 0;
}
.sat-header .sat-icon svg{ width: 26px; height: 26px; fill: #fff }
.sat-header .sat-meta{ flex: 1; min-width: 0; }
.sat-header .sat-name{
  font-family: var(--fa-display); font-weight: 800;
  font-size: clamp(18px, 1.8vw, 22px); color: #fff; line-height: 1.3;
}
.sat-header .sat-sub{
  font-size: 13.5px; color: rgba(255,253,247,.72);
  margin-top: 4px; font-weight: 400;
}
.sat-header .sat-tag{
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 12px; border-radius: 999px;
  background: rgba(17,16,14,.18); color: var(--coral);
  font-family: var(--en-serif); font-style: italic;
  font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase;
  white-space: nowrap;
}
.sat-header .sat-tag .dot{
  width: 7px; height: 7px; border-radius: 50%; background: var(--coral);
  animation: pulse 1.8s var(--ease) infinite;
}

.sat-grid{
  display:grid; grid-template-columns: repeat(4, 1fr);
  position: relative; z-index: 1;
}
@media (max-width: 760px){ .sat-grid{ grid-template-columns: repeat(2, 1fr) } }
@media (max-width: 420px){ .sat-grid{ grid-template-columns: 1fr } }

.sat-cell{
  padding: clamp(22px, 3vw, 32px) clamp(22px, 3vw, 32px);
  border-inline-end: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  display: flex; flex-direction: column; gap: 8px;
}
.sat-cell:last-child{ border-inline-end: 0 }
@media (max-width: 760px){
  .sat-cell{ border-inline-end: 1px solid var(--line-soft); }
  .sat-cell:nth-child(2n){ border-inline-end: 0 }
  .sat-cell:nth-last-child(-n+2){ border-bottom: 0 }
}
@media (max-width: 420px){
  .sat-cell{ border-inline-end: 0 !important }
  .sat-cell:last-child{ border-bottom: 0 }
}

.sat-cell .sat-label{
  font-family: var(--en-serif); font-style: italic; font-weight: 400;
  font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink-mute);
}
.sat-cell .sat-value{
  font-family: var(--fa-display); font-weight: 800;
  font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15;
  color: var(--navy-ink);
  font-variant-numeric: tabular-nums;
}
.sat-cell .sat-value-en{
  font-family: var(--en-serif); font-style: italic;
  font-size: 13.5px; color: var(--ink-mute); margin-top: 2px;
  letter-spacing: .03em;
}

.sat-note{
  margin-top: 24px;
  font-size: 14px; color: var(--ink-mute); line-height: 1.7;
  display:flex; align-items: flex-start; gap: 10px;
}
.sat-note .info{
  flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%;
  background: var(--coral-soft); color: var(--coral-deep);
  display:grid; place-items: center;
  font-family: var(--en-serif); font-style: italic; font-weight: 600;
  font-size: 11px; margin-top: 3px;
}

/* ── connect ─────────────────────────────────── */
.connect{ position: relative; }
.connect::before{
  content:""; position:absolute;
  width: 380px; height: 380px;
  inset-inline-start: -120px; bottom: 80px;
  background: var(--navy); border-radius: 50%;
  opacity: .05; z-index: 0;
}
.connect-grid{
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2vw, 24px);
}
@media (max-width: 880px){ .connect-grid{ grid-template-columns: repeat(2, 1fr) } }

.social-card{
  display: flex; flex-direction: column; gap: 16px;
  padding: 28px 26px; background: var(--paper-3);
  border: 1px solid var(--line-soft); border-radius: 11px;
  transition: all var(--t-fast); position: relative; overflow: hidden;
}
.social-card::after{
  content:""; position: absolute;
  width: 120px; height: 120px; border-radius: 50%;
  inset-inline-end: -50px; top: -50px;
  background: var(--coral); opacity: 0;
  transition: opacity var(--t-med), transform var(--t-med);
}
.social-card:hover{
  border-color: var(--coral); transform: translateY(-4px);
  box-shadow: 0 18px 40px -22px rgba(17,16,14,.35);
}
.social-card:hover::after{ opacity: .12; transform: scale(1.4) }

.social-card .ico-wrap{
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--navy-ink); display:grid; place-items:center;
  transition: background var(--t-fast);
}
.social-card:hover .ico-wrap{ background: var(--coral) }
.social-card .ico-wrap svg{ width: 22px; height: 22px; fill: #fff; }
.social-card .platform-name{ font-family: var(--fa-display); font-weight: 800; font-size: 18px; color: var(--navy-ink); }
.social-card .handle{ font-family: var(--en-serif); font-style: italic; font-size: 14px; color: var(--ink-mute); margin-top: 2px; }
.social-card .arrow{
  margin-top: auto; align-self: flex-start;
  font-family: var(--en-serif); font-style: italic;
  font-size: 13.5px; color: var(--coral-deep); letter-spacing: .04em;
  transition: transform var(--t-fast);
}
.social-card:hover .arrow{ transform: translateX(-6px) }

/* ── footer ──────────────────────────────────── */
footer{
  background: var(--navy-ink); color: rgba(255,253,247,.72);
  padding-block: clamp(50px, 7vw, 90px) 36px;
  border-top: 4px solid var(--gold);
}
.foot-grid{
  display:grid; grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: clamp(28px, 3.5vw, 56px); margin-bottom: 50px;
}
@media (max-width: 980px){ .foot-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .foot-grid{ grid-template-columns: 1fr } }
footer .brand .name .fa{ color: #fff }
footer .brand .name .en{ color: rgba(255,253,247,.55) }
footer .brand .mark{
  background-color: rgba(255,253,247,.95); border-radius: 50%;
  background-size: 90%;
}
.foot-manifesto{
  font-family: var(--fa-sans);
  font-weight: 400;
  font-size: 14.5px;
  color: rgba(255,253,247,.7);
  line-height: 1.85;
  margin: 18px 0 0;
  max-width: 38ch;
}
.foot-contact{
  margin: 22px 0 0;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}
.foot-contact-label{
  font-family: var(--en-serif); font-style: italic;
  font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--gold);
}
.foot-contact a{
  color: rgba(255,253,247,.92);
  font-family: var(--en-serif);
  transition: color var(--t-fast);
}
.foot-contact a:hover{ color: var(--gold); }
.foot-col h4{
  font-family: var(--en-serif); font-style: italic; font-weight: 400;
  font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--gold); margin: 4px 0 18px;
}
.foot-col ul{ list-style: none; padding: 0; margin: 0; display:flex; flex-direction:column; gap: 11px; font-size: 14.5px; }
.foot-col a{ color: rgba(255,253,247,.78); transition: color var(--t-fast); text-decoration: none; }
.foot-col a:hover{ color: var(--gold) }

.foot-bottom{
  border-top: 1px solid rgba(255,253,247,.12);
  padding-top: 28px;
  display:flex; justify-content:space-between; align-items:center;
  gap: 16px; flex-wrap: wrap;
  font-family: var(--en-serif); font-style: italic;
  font-size: 13px; color: rgba(255,253,247,.5); letter-spacing: .04em;
}
.foot-bottom .made{ color: rgba(255,253,247,.5); }
.foot-bottom .made b{ color: var(--gold); font-weight: 600; font-style: normal; }

/* ── reveal on scroll ────────────────────────── */
@media (prefers-reduced-motion: no-preference){
  .reveal{ opacity: 0; transform: translateY(18px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
  .reveal.in{ opacity: 1; transform: none; }
}
/* ── compressed about section ───────────────── */
.about{
  position: relative;
  padding-block: clamp(60px, 6.5vw, 100px);
}
.about-head{ margin-bottom: clamp(28px, 3.5vw, 48px); }
.about-head .kicker{
  display: flex; align-items: center; gap: 10px;
  font-family: var(--en-serif); font-style: italic; font-weight: 400;
  font-size: 13.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-mute); margin-bottom: 14px;
}
.about-head .kicker .bar{ width: 28px; height: 1.5px; background: var(--gold) }
.about-head h2{
  font-family: var(--fa-display); font-weight: 900;
  font-size: clamp(30px, 3.8vw, 52px);
  line-height: 1.1; letter-spacing: -.01em;
  margin: 0; color: var(--navy-ink);
}

.about-visual{
  position: relative;
  margin: 0 0 clamp(36px, 4.5vw, 60px);
  border-radius: 12px;
  overflow: hidden;
  background: var(--navy-ink);
  box-shadow: 0 1px 1px rgba(17,16,14,.05), 0 30px 70px -32px rgba(17,16,14,.5);
}
.about-visual img{
  display: block; width: 100%; height: auto;
  aspect-ratio: 21/8;
  object-fit: cover;
}
.about-visual figcaption{
  position: absolute;
  bottom: clamp(14px, 1.6vw, 22px);
  inset-inline-start: clamp(18px, 2vw, 26px);
  display: flex; flex-direction: column; gap: 2px;
  padding: 10px 16px;
  background: rgba(17,16,14,.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 999px;
  color: #fff;
}
.about-visual .cap-fa{
  font-family: var(--fa-display); font-weight: 600;
  font-size: 13.5px;
}
.about-visual .cap-en{
  font-family: var(--en-serif); font-style: italic;
  font-size: 11px; letter-spacing: .08em;
  color: rgba(255,253,247,.7);
}

.about-body{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(36px, 5vw, 80px);
  align-items: start;
}
@media (max-width: 920px){
  .about-body{ grid-template-columns: 1fr }
  .about-visual img{ aspect-ratio: 16/9 }
}

.about-text p{
  font-size: clamp(16px, 1.25vw, 18.5px);
  line-height: 1.95;
  color: var(--ink); margin: 0 0 18px;
}
.about-text p em{
  font-style: normal; color: var(--navy-ink); font-weight: 600;
}
.about-text p:first-of-type::first-letter{
  font-family: var(--fa-display); font-weight: 900;
  font-size: 3.4em; line-height: .85; float: right;
  margin-inline-start: 10px; margin-top: 6px;
  color: var(--gold);
}

/* multi-handle row inside founder card */
.founder-handles{
  display: flex; flex-wrap: wrap; gap: 6px 12px;
  margin-top: 10px;
  direction: ltr;          /* Latin handles render naturally L→R */
  text-align: left;
  justify-content: flex-start;
}
.founder-handles .founder-x{
  margin-top: 0;
  padding: 2px 0;
  direction: ltr;
}

/* ── footer additions ───────────────────────── */

.foot-brand{ display: flex; flex-direction: column; gap: 14px; }
.foot-tagline-mini{
  margin: 0;
  display: flex; flex-direction: column; gap: 2px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,253,247,.12);
  margin-top: 4px;
}
.foot-tagline-mini .fa{
  font-family: var(--fa-display); font-weight: 700;
  font-size: 18px; color: #fff; letter-spacing: -.005em;
}
.foot-tagline-mini .fa .accent{ color: var(--coral); }
.foot-tagline-mini .en{
  font-family: var(--en-serif); font-style: italic;
  font-size: 12.5px; color: rgba(255,253,247,.55);
  letter-spacing: .06em;
}

/* ── hero satellite info bar (light, paper bg) ── */
.hero-satellite{
  margin-top: 0;
}

/* ── distribution stack ─────────────────────── */
.dist-head{
  display: flex; align-items: baseline;
  margin-bottom: clamp(20px, 2.4vw, 32px);
}
.dist-head .kicker{
  font-family: var(--en-serif); font-style: italic; font-weight: 400;
  font-size: 13.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-mute);
  display: flex; align-items: center; gap: 10px;
}
.dist-head .kicker .bar{
  width: 28px; height: 1px; background: var(--coral);
  display: inline-block;
}
.dist-stack{
  display: flex; flex-direction: column;
  gap: clamp(12px, 1.4vw, 18px);
}

/* coming-soon row gets muted treatment */
.dist-soon .sat-bar-icon{
  background: var(--paper-2);
  color: var(--ink-mute);
}
.dist-soon .sat-bar-icon svg{ stroke: var(--ink-mute); }
.dist-soon .sat-bar-name{
  color: var(--ink-mute);
}

/* podcast platforms list (right side) */
.dist-platforms{
  display: flex; flex-wrap: wrap;
  gap: clamp(8px, 1vw, 14px);
  list-style: none; padding: 0; margin: 0;
}
.dist-platforms li{
  font-family: var(--en-serif); font-style: italic;
  font-size: 13px; letter-spacing: .04em;
  color: var(--ink-mute);
  padding: 6px 12px;
  border: 1px dashed var(--line);
  border-radius: 4px;
  opacity: .75;
  background: var(--paper);
}

/* youtube channel link (right side) */
.dist-channel{
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 16px;
  background: var(--ink);
  color: var(--paper);
  border-radius: 6px;
  text-decoration: none;
  font-family: var(--en-serif); font-style: italic;
  font-size: 14px; letter-spacing: .04em;
  transition: background var(--t-fast), color var(--t-fast), transform var(--t-fast);
}
.dist-channel:hover{
  background: var(--coral);
  transform: translateY(-1px);
}
.dist-channel-handle{ font-weight: 500; }
.dist-channel-arrow{
  font-size: 16px;
  color: var(--coral);
  transition: transform var(--t-fast), color var(--t-fast);
}
.dist-channel:hover .dist-channel-arrow{
  color: var(--paper);
  transform: translateX(-4px);
}

@media (max-width: 760px){
  .dist-platforms{ width: 100%; }
  .dist-channel{ width: 100%; justify-content: space-between; }
}
.sat-bar{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(20px, 3vw, 44px);
  align-items: center;
  padding: clamp(18px, 2.4vw, 28px) clamp(22px, 3vw, 36px);
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--paper-3);
  position: relative;
  overflow: hidden;
}
.sat-bar > .sat-bar-head,
.sat-bar > .sat-bar-grid{ position: relative; z-index: 2; }
.sat-bar::before{
  content: ""; position: absolute;
  width: 220px; height: 220px; border-radius: 50%;
  inset-inline-end: -100px; top: -120px;
  background: var(--navy-ink); opacity: .04; pointer-events: none;
}
@media (max-width: 760px){
  .sat-bar{ grid-template-columns: 1fr; gap: 18px; }
}

.sat-bar-head{
  display: flex; align-items: center; gap: 16px;
  position: relative; z-index: 1;
}
.sat-bar-icon{
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--coral);
  color: #fff;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.sat-bar-icon svg{ width: 24px; height: 24px; stroke: #fff; }
.sat-bar-meta{ min-width: 0; }
.sat-bar-label{
  font-family: var(--en-serif); font-style: italic; font-weight: 400;
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 4px;
}
.sat-bar-name{
  font-family: var(--fa-display); font-weight: 800;
  font-size: clamp(15px, 1.4vw, 18px);
  color: var(--navy-ink); line-height: 1.3;
  letter-spacing: -.005em;
}
.sat-bar-name .sub{
  font-family: var(--fa-body); font-weight: 400;
  color: var(--ink-mute); font-size: .82em;
  letter-spacing: 0;
}

.sat-bar-grid{
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: clamp(18px, 2.5vw, 36px);
  margin: 0;
  position: relative; z-index: 1;
}
@media (max-width: 760px){
  .sat-bar-grid{
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    gap: 16px 24px;
    padding-top: 4px;
    border-top: 1px solid var(--line-soft);
  }
}
.sat-bar-grid > div{
  display: flex; flex-direction: column; gap: 3px;
  border-inline-end: 1px solid var(--line-soft);
  padding-inline-end: clamp(18px, 2.5vw, 36px);
}
.sat-bar-grid > div:last-child{ border-inline-end: 0; padding-inline-end: 0; }
@media (max-width: 760px){
  .sat-bar-grid > div{ border-inline-end: 0; padding-inline-end: 0; }
}
.sat-bar-grid dt{
  font-family: var(--en-serif); font-style: italic;
  font-size: 11.5px; color: var(--ink-mute);
  letter-spacing: .08em; text-transform: uppercase;
  margin: 0;
}
.sat-bar-grid dd{
  font-family: var(--fa-display); font-weight: 800;
  font-size: clamp(15px, 1.5vw, 18px);
  color: var(--navy-ink);
  margin: 0;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.005em;
}
.sat-bar-grid dd .unit{
  font-family: var(--en-serif); font-style: italic;
  font-weight: 400; font-size: .78em;
  color: var(--ink-mute);
}

/* ── new dynamism layer ─────────────────────── */

/* 1. (scroll progress bar removed in editorial restructure) */

/* 2. satellite icon — internal radiating waves */
.sat-bar-icon{
  overflow: visible;
  position: relative;
}
.sat-bar-icon svg{ overflow: visible; }
.sat-bar-icon .sat-wave{
  transform-origin: 75% 75%;     /* source dot at 18/24 of viewBox */
  opacity: 0;
  animation: sat-emit 2.4s cubic-bezier(.2,.55,.4,1) infinite;
}
.sat-bar-icon .sw1{ animation-delay: 0s; }
.sat-bar-icon .sw2{ animation-delay: 0.8s; }
.sat-bar-icon .sw3{ animation-delay: 1.6s; }
.sat-bar-icon .sat-source{
  animation: sat-source-pulse 2.4s ease-in-out infinite;
  transform-origin: 75% 75%;
}
@keyframes sat-emit{
  0%   { transform: scale(.4); opacity: 0; }
  15%  { opacity: 1; }
  85%  { opacity: .15; }
  100% { transform: scale(2.6); opacity: 0; }
}
@keyframes sat-source-pulse{
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.18); }
}

/* (big box-wide satellite sweep removed in editorial restructure) */

/* 3. nav link underline reveal on hover (RTL: fills right→left) */
.nav-links a:not(.nav-cta){
  position: relative;
}
.nav-links a:not(.nav-cta)::after{
  content: "";
  position: absolute;
  inset-inline: 4px; bottom: -3px;
  height: 1.5px; background: var(--coral);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s var(--ease);
}
.nav-links a:not(.nav-cta):hover::after{ transform: scaleX(1); }

/* 4. footer link underline reveal */
.foot-col ul a{ position: relative; }
.foot-col ul a::after{
  content: "";
  position: absolute;
  inset-inline: 0; bottom: -2px;
  height: 1px; background: rgba(255,253,247,.5);
  transform: scaleX(0); transform-origin: right;
  transition: transform .35s var(--ease);
}
.foot-col ul a:hover::after{ transform: scaleX(1); }

/* 5. play button gentle pulse on hover (cover + episode cards) */
.featured-package:hover .featured-play span,
.ep:hover .ep-play span{
  animation: play-pulse 1.6s ease-in-out infinite;
}
@keyframes play-pulse{
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(17,16,14,.5); }
  50%      { transform: scale(1.08); box-shadow: 0 0 0 14px rgba(17,16,14,0); }
}

/* 6. (founder portrait shimmer removed in editorial restructure) */

/* 7. enhanced reveal — different directions for variety */
.reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .85s var(--ease), transform .85s var(--ease);
}
.reveal.in{ opacity: 1; transform: none; }

.featured-package.reveal{ transform: translateY(24px) scale(.98); }
.featured-package.reveal.in{ transform: none; }
.featured-title.reveal{ transform: translateY(20px); }
.featured-title.reveal.in{ transform: none; }

.ep.reveal{ transform: translateY(20px) scale(.985); }
.ep.reveal.in{ transform: none; }

.about-visual.reveal{ transform: translateY(28px) scale(.97); }
.about-visual.reveal.in{ transform: none; }

.about-text.reveal{ transform: translateX(-18px); }
.about-text.reveal.in{ transform: none; }

.founders-card.reveal{ transform: translateX(18px); }
.founders-card.reveal.in{ transform: none; }

.section-head.reveal{ transform: translateY(12px); }

/* 8. (hero feature thumbnail Ken Burns intro removed in editorial restructure) */

/* 9. caret arrows on links — slide on hover */
.btn-ghost .arrow,
.ep-footer .arrow{
  display: inline-block;
  transition: transform .35s var(--ease);
}
.btn-ghost:hover .arrow,
.ep-footer .arrow:hover{
  transform: translateX(-6px);
}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .sat-bar-icon .sat-wave,
  .sat-bar-icon .sat-source{ animation: none !important; }
  .ep:hover .ep-play span,
  .featured-package:hover .featured-play span{ animation: none !important; }
  .nav-links a::after,
  .foot-col ul a::after{ display: none; }
}


/* ── share button ────────────────────────────── */
.share-row{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: clamp(12px, 1.4vw, 18px);
  flex-wrap: wrap;
}
.share-label{
  font-family: var(--en-serif); font-style: italic;
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-mute);
}
.share-btn{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: transparent;
  border: 1px solid var(--line);
  color: var(--ink);
  font-family: var(--fa-body);
  font-size: 13px;
  cursor: pointer;
  transition: all var(--t-fast);
  text-decoration: none;
}
.share-btn:hover{
  border-color: var(--coral);
  color: var(--coral-deep);
  background: var(--coral-soft);
}
.share-btn svg{
  width: 14px; height: 14px;
  flex-shrink: 0;
}
.share-btn.copied{
  background: var(--gold-soft);
  border-color: var(--gold);
  color: var(--navy-ink);
}
.share-btn.copied .share-icon-default{ display: none; }
.share-btn .share-icon-check{ display: none; }
.share-btn.copied .share-icon-check{ display: inline-block; }

/* ── podcast episode head: title + anchor + share ── */
.pod-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: clamp(10px, 1.1vw, 14px);
}
.pod-head .pod-title{
  margin: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pod-anchor{
  opacity: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  color: var(--ink-soft);
  transition: opacity var(--t-fast), color var(--t-fast);
  flex-shrink: 0;
  text-decoration: none;
  margin-inline-end: 2px;
}
.pod-anchor svg{ width: 14px; height: 14px; }
.pod-episode:hover .pod-anchor{ opacity: 1; }
.pod-anchor:hover{ color: var(--gold-deep); }

.pod-share{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: transparent;
  border: 1px solid var(--line);
  color: var(--ink-mute);
  font-family: var(--fa-body);
  font-size: 12px;
  cursor: pointer;
  transition: all var(--t-fast);
  flex-shrink: 0;
  white-space: nowrap;
}
.pod-share:hover{
  border-color: var(--gold);
  color: var(--gold-deep);
  background: var(--gold-soft);
}
.pod-share svg{ width: 12px; height: 12px; }
.pod-share.copied{
  background: var(--gold-soft);
  border-color: var(--gold);
  color: var(--navy-ink);
}
.pod-share.copied .share-icon-default{ display: none; }
.pod-share .share-icon-check{ display: none; }
.pod-share.copied .share-icon-check{ display: inline-block; }

/* highlight when scrolled-to via hash */
.pod-episode{
  scroll-margin-top: 100px;
  transition: background-color .8s ease, border-color .8s ease;
}
.pod-episode-highlight{
  background-color: var(--gold-soft) !important;
  border-color: var(--gold) !important;
}

/* mobile: stack head vertically */
@media (max-width: 540px){
  .pod-head{
    flex-direction: column;
    align-items: stretch;
  }
  .pod-share{
    align-self: flex-start;
  }
}
