/* Walkthrough page specific styles — minimal, leveraging base.css */
.hero {
  padding-block: var(--space-14);
}
.hero__text p { max-width: var(--measure); }
.hero__media { max-height: 520px; }

/* Table of contents */
.toc .toc__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-3);
  padding: 0;
}
.toc a[data-toc] {
  display: block;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface-2);
  color: var(--color-text);
  transition: background var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);
}
.toc a[data-toc][aria-current="true"] {
  border-color: color-mix(in oklab, var(--color-accent), transparent 30%);
  background: color-mix(in oklab, var(--color-surface-2), var(--color-accent) 8%);
  text-shadow: 0 0 10px rgba(255,184,77,0.25);
}

/* Responsive grid helpers */
@media (min-width: 900px) {
  .hero__grid { grid-template-columns: 1fr 1fr !important; }
}

/* Video embed with 16:9 aspect */
.video-embed { aspect-ratio: 16 / 9; }
.video-embed iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Minor spacing tweaks */
#combat .card ul, #bosses .card ul { margin: 0; }

/* Visual polish for section figures */
figure.media-frame img { object-fit: cover; }
