/* Story page specific styles (kept minimal and complementary to base.css) */
.hero-story {
  position: relative;
  background: radial-gradient(1200px 600px at 10% 10%, rgba(232, 116, 59, 0.08), transparent 60%),
              radial-gradient(1000px 500px at 90% 70%, rgba(61, 110, 77, 0.08), transparent 60%);
  padding: var(--space-16) 0 var(--space-12) 0;
}
.hero-inner {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: var(--space-8);
  align-items: center;
}
.hero-copy h1 { font-family: Cinzel, var(--font-display); }
.hero-copy p { color: var(--color-text-secondary); }
.hero-actions { margin-top: var(--space-4); display: flex; gap: var(--space-3); flex-wrap: wrap; }
.hero-media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-xl); }

@media (max-width: 1024px) {
  .hero-inner { grid-template-columns: 1fr; }
}

.toc-section { padding: var(--space-8) 0; }
.toc-search .search-row { display: flex; gap: var(--space-3); align-items: center; }
.toc-nav { margin-top: var(--space-6); }
.toc-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.toc-list a { display: block; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background-color: var(--color-background-elevated); transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.toc-list a:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }

@media (max-width: 1024px) {
  .toc-list { grid-template-columns: 1fr; }
}

.section-block { padding: var(--space-12) 0; }
.section-block:nth-child(even) { background: rgba(37, 40, 55, 0.35); }

/* CTA bottom */
.cta-bottom .card { border-color: rgba(232, 116, 59, 0.3); }

/* Utilities for images within content */
figure img { border-radius: var(--radius-lg); }
