/* ============================================
   HOMEPAGE-SPECIFIC STYLES
   ============================================ */

.section-title{
  font-size: var(--fs-h2);
  max-width: 20ch;
  margin-top: .5rem;
}

/* ---- Hero ---- */
.hero{
  position: relative;
  padding-block: var(--sp-8) var(--sp-9);
  overflow: hidden;
}
.hero__canvas{
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; opacity: .8;
}
.hero__grid{
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: var(--sp-8);
  align-items: center;
}
@media (max-width: 940px){
  .hero__grid{ grid-template-columns: 1fr; }
}
.hero__title{
  font-size: var(--fs-hero);
  margin-top: var(--sp-4);
}
.hero__title-accent{ color: var(--path); font-style: italic; }
.hero__sub{
  margin-top: var(--sp-5);
  max-width: 46ch;
  color: var(--ink-soft);
  font-size: 1.1rem;
}
.hero__actions{
  display: flex; flex-wrap: wrap; gap: var(--sp-4);
  margin-top: var(--sp-6);
}

.countdown{
  margin-top: var(--sp-7);
  display: flex; align-items: baseline; gap: var(--sp-4); flex-wrap: wrap;
}
.countdown__unit{
  display: flex; flex-direction: column; align-items: center;
  min-width: 54px;
}
.countdown__unit span{
  font-family: var(--font-display);
  font-size: 1.9rem; font-weight: 600;
  line-height: 1;
}
.countdown__unit small{
  font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-faint);
  margin-top: .3rem;
}
.countdown__label{
  font-size: var(--fs-small); color: var(--ink-faint);
  border-left: 1px solid var(--line); padding-left: var(--sp-4); margin-left: var(--sp-2);
}
@media (max-width: 480px){ .countdown__label{ border-left:none; padding-left:0; margin-left:0; width:100%; } }

.hero__visual{ position: relative; height: 460px; }
@media (max-width: 940px){ .hero__visual{ height: 380px; margin-top: var(--sp-6); } }
.hero__blob{
  position: absolute; border-radius: 50% 45% 55% 50% / 55% 50% 50% 45%;
  filter: blur(0px);
}
.hero__blob--lavender{ width: 300px; height: 300px; top: 0; right: 20px; background: var(--accent-lavender); }
.hero__blob--blush{ width: 260px; height: 260px; top: 10px; left: 10px; background: var(--accent-blush); }
.hero__art{
  position: absolute; top: 20px; right: 30px;
  width: 260px; height: 320px;
}
@media (max-width: 500px){ .hero__art{ width: 190px; height: 240px; right: 10px; } }
.hero__waveform{
  position: absolute; bottom: 40px; left: 0; width: 200px; height: 60px;
}
/* ---- Premise cards ---- */
.premise__head{ max-width: 46ch; }
.premise__grid{
  margin-top: var(--sp-7);
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
}
@media (max-width: 860px){ .premise__grid{ grid-template-columns: 1fr; } }
.path-card{
  padding: var(--sp-6);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  transition: transform var(--dur-fast) var(--ease-out);
}
.path-card:hover{ transform: translateY(-6px); }
.path-card--lavender{ background: var(--accent-lavender); }
.path-card--mint{ background: var(--accent-mint); }
.path-card--butter{ background: var(--accent-butter); }
.path-card--blush{ background: var(--accent-blush); }
.path-card--sky{ background: var(--accent-sky); }
.path-card__icon{
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(32,26,22,.08); font-size: 1.3rem; margin-bottom: var(--sp-4);
}
.path-card h3{ font-size: 1.2rem; margin-bottom: var(--sp-3); }
.path-card p{ color: var(--ink-soft); font-size: .95rem; }

/* ---- Format strip ---- */
.host-strip{ background: var(--paper-alt); }
.host-strip__grid{
  display: grid; grid-template-columns: .5fr 1fr; gap: var(--sp-8); align-items: center;
}
@media (max-width: 780px){ .host-strip__grid{ grid-template-columns: 1fr; } }
.host-strip__art{
  position: relative; height: 280px; width: 100%;
}
.host-strip__art .hero__blob{ z-index: -1; top: -24px; left: -24px; }
.host-strip__text{ margin-top: var(--sp-4); margin-bottom: var(--sp-5); color: var(--ink-soft); max-width: 60ch; }

/* ---- Episodes teaser ---- */
.ep-grid{
  margin-top: var(--sp-7);
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-5);
}
@media (max-width: 860px){ .ep-grid{ grid-template-columns: 1fr; } }
.ep-card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--sp-5);
  box-shadow: var(--shadow-card);
  transition: transform var(--dur-fast) var(--ease-out);
}
.ep-card:hover{ transform: translateY(-6px); }
.ep-card__art{
  height: 100px; border-radius: var(--radius-md);
  margin-bottom: var(--sp-4);
  display: flex; align-items: center; justify-content: center;
  padding: var(--sp-3);
}
.ep-card__art canvas{ width: 100%; height: 100%; }
.ep-card__art--lavender{ background: var(--accent-lavender); }
.ep-card__art--mint{ background: var(--accent-mint); }
.ep-card__art--butter{ background: var(--accent-butter); }
.ep-card__num{ font-size: .75rem; font-weight: 700; letter-spacing: .08em; color: var(--path); text-transform: uppercase; }
.ep-card h3{ font-size: 1.15rem; margin-block: .5rem .5rem; }
.ep-card p{ color: var(--ink-soft); font-size: .92rem; margin-bottom: var(--sp-4); }
.ep-card__status{
  display: inline-block; font-size: .78rem; font-weight: 600;
  color: var(--ink-faint); border-top: 1px dashed var(--line); padding-top: var(--sp-3); width: 100%;
}
.episodes-teaser__cta{ margin-top: var(--sp-7); text-align: center; }

/* ---- Notify / newsletter section ---- */
.notify{ background: var(--night); color: var(--night-ink); text-align: center; }
.notify__inner{ max-width: 640px; margin-inline: auto; }
.notify__title{ color: var(--night-ink); margin-inline: auto; }
.notify__sub{ margin-top: var(--sp-4); color: rgba(243,236,223,.75); }
.notify__form{ margin-top: var(--sp-6); justify-content: center; }

/* ---- Guest teaser ---- */
.guest-teaser__inner{
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-6); flex-wrap: wrap;
  background: var(--accent-sky);
  border-radius: var(--radius-lg);
  padding: var(--sp-7);
}
.guest-teaser__inner > div{ max-width: 60ch; }
