/* The Accidental Analyst episodes: simple, editorial, scan-first. */
.aa-episodes-body main { overflow: clip; }
.aa-episodes-hero {
  background: var(--aa-ink);
  color: #fff;
  border-bottom: 3px solid var(--aa-red);
  padding: 96px 0 88px;
}
.aa-episodes-hero .new-kicker { color: #9FB4FF; }
.aa-episodes-hero h1 {
  margin: 0;
  max-width: 860px;
  color: #fff;
  font-size: clamp(2.6rem, 5.2vw, 4.4rem);
  line-height: .98;
  letter-spacing: -.062em;
  font-weight: 800;
}
.aa-episodes-hero p {
  max-width: 760px;
  margin: 18px 0 0;
  color: #D9DDF5;
  font-size: 1.22rem;
  line-height: 1.65;
}
.aa-episodes-index { padding: 96px 0 112px; background: var(--aa-canvas); }
.aa-episodes-index-head {
  display: grid;
  grid-template-columns: 185px minmax(0, 1fr);
  gap: 36px;
  padding-bottom: 38px;
  border-bottom: 1px solid rgba(24,24,51,.20);
}
.aa-episodes-index-head h2 {
  margin: 0;
  color: var(--aa-ink);
  font-size: clamp(2rem, 3.1vw, 3.1rem);
  line-height: 1.04;
  letter-spacing: -.05em;
}
.aa-episodes-list { margin-top: 0; }
.aa-episode-entry {
  display: grid;
  grid-template-columns: 185px minmax(0, 1fr) minmax(280px, 420px);
  gap: 36px;
  align-items: center;
  padding: 56px 0;
  border-bottom: 1px solid rgba(24,24,51,.18);
}
.aa-episode-meta {
  align-self: start;
  padding-top: 5px;
  color: var(--aa-blue-dark);
  font: 700 .78rem/1.55 "IBM Plex Mono", monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.aa-episode-meta span { display: block; }
.aa-episode-copy h3 {
  margin: 0;
  color: var(--aa-ink);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.07;
  letter-spacing: -.046em;
}
.aa-episode-copy p {
  max-width: 680px;
  margin: 13px 0 0;
  color: var(--aa-muted);
  font-size: 1.04rem;
  line-height: 1.62;
}
.aa-episode-status {
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  color: var(--aa-red);
  font: 700 .76rem/1 "IBM Plex Mono", monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.aa-episode-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: var(--aa-ink);
  font: 800 .78rem/1 "IBM Plex Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}
.aa-episode-link::after { content: "→"; color: var(--aa-red); font-size: 1.1rem; }
.aa-episode-thumb-link {
  display: block;
  border: 1px solid rgba(44,90,255,.26);
  background: var(--aa-ink);
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(24,24,51,.10);
}
.aa-episode-thumb-link:hover { border-color: var(--aa-red); }
.aa-episode-thumb-link img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.aa-episodes-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 42px 0 0;
  color: var(--aa-muted);
  font-size: .92rem;
  line-height: 1.55;
}
.aa-episodes-note a { color: var(--aa-ink); font-weight: 800; }
.aa-book-band { background: var(--aa-cream-soft); padding: 104px 0 112px; border-top: 1px solid var(--aa-line-soft); }
.aa-book-band-grid { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 64px; align-items: center; }
.aa-book-cover-link { display: block; width: 190px; max-width: 100%; border: 1px solid rgba(24,24,51,.18); background: #000; box-shadow: 0 20px 55px rgba(24,24,51,.14); }
.aa-book-cover-link img { width: 100%; height: auto; }
.aa-book-band h2 { margin: 0; max-width: 720px; font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.06; letter-spacing: -.05em; }
.aa-book-band p { max-width: 700px; color: var(--aa-muted); font-size: 1.12rem; line-height: 1.63; }
.aa-episode-page-hero { padding: 64px 0 54px; background: var(--aa-ink); color: #fff; }
.aa-episode-page-hero h1 { color:#fff; max-width: 980px; margin: 10px 0 0; font-size: clamp(2.4rem, 5vw, 4.1rem); line-height: 1; letter-spacing: -.06em; }
.aa-episode-page-hero p { max-width: 760px; color:#D9DDF5; font-size:1.18rem; line-height:1.62; }
.aa-episode-frame-section { padding: 58px 0 68px; background: var(--aa-canvas); }
.aa-episode-frame { position: relative; aspect-ratio: 16/9; background: var(--aa-ink); border: 1px solid var(--aa-line); box-shadow: 0 20px 60px rgba(24,24,51,.12); }
.aa-episode-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.aa-video-placeholder { display:flex; min-height:100%; align-items:center; justify-content:center; flex-direction:column; gap:8px; padding:34px; text-align:center; color:#fff; }
.aa-video-placeholder span { color:#9FB4FF; font:700 .82rem/1 "IBM Plex Mono", monospace; letter-spacing:.12em; text-transform:uppercase; }
.aa-video-placeholder strong { font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.08; }
.aa-video-placeholder p { max-width:620px; margin:0; color:#D9DDF5; }
.aa-resource-band { padding: 64px 0 72px; background: var(--aa-cream-soft); }
.aa-resource-grid { display:grid; grid-template-columns:minmax(0, .9fr) minmax(320px, .78fr); gap:46px; align-items:start; }
.aa-resource-grid h2 { margin:0; font-size:clamp(2rem,3.2vw,3rem); line-height:1.06; letter-spacing:-.05em; }
.aa-resource-grid p { color:var(--aa-muted); font-size:1.1rem; line-height:1.62; }
.aa-resource-form { display:grid; gap:14px; padding:26px; border:1px solid var(--aa-line); background:#fff; box-shadow:0 18px 48px rgba(24,24,51,.08); }
.aa-resource-form label { display:grid; gap:7px; color:var(--aa-ink); font-weight:800; }
.aa-resource-form input { width:100%; padding:13px 14px; border:1px solid var(--aa-line); background:#fff; color:var(--aa-ink); font:inherit; }
.aa-episode-final { padding: 92px 0 104px; background: var(--aa-ink); color:#fff; }
.aa-episode-final h2 { color:#fff; margin:0 0 12px; }
.aa-episode-final p { color:#D9DDF5; max-width:760px; }
.aa-episode-final .button { margin-top:14px; }
@media(max-width:900px){
  .aa-episodes-index-head{grid-template-columns:1fr;gap:8px}
  .aa-episode-entry{grid-template-columns:130px minmax(0,1fr);gap:24px}
  .aa-episode-thumb-link{grid-column:2}
  .aa-book-band-grid,.aa-resource-grid{grid-template-columns:1fr}
  .aa-book-cover-link{width:190px;max-width:190px}
}
@media(max-width:640px){
  .aa-episodes-hero{padding:68px 0 62px}
  .aa-episodes-index{padding:68px 0 80px}
  .aa-episode-entry{grid-template-columns:1fr;gap:20px;padding:42px 0}
  .aa-episode-meta{padding-top:0;display:flex;gap:10px;flex-wrap:wrap}
  .aa-episode-meta span{display:inline}
  .aa-episode-thumb-link{grid-column:auto;grid-row:2}
  .aa-episode-copy{grid-row:3}
  .aa-episodes-note{align-items:flex-start;flex-direction:column;gap:8px}
}
