/* Story page — minimal, modular styles extending base.css */
:root {
  --story-accent: #ff7a59;
  --story-accent-2: #8a5cff;
  --story-bg: #0f1221;
  --story-grad-1: #1e2140;
  --story-grad-2: #202a63;
}

html { scroll-behavior: smooth; }

.hero-story {
  background: radial-gradient(1200px 600px at 10% -10%, rgba(255, 122, 89, 0.18), transparent 60%),
              radial-gradient(1200px 600px at 110% 10%, rgba(138, 92, 255, 0.18), transparent 60%),
              linear-gradient(180deg, var(--story-grad-2), var(--story-grad-1));
  color: #fff;
}
.hero-story .hero-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: center;
  padding: clamp(2rem, 5vw, 5rem) 1rem;
  max-width: 1200px;
  margin: 0 auto;
}
.hero-story .eyebrow {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255,255,255,0.8);
  margin: 0 0 .5rem 0;
}
.hero-story h1 { 
  font-size: clamp(1.75rem, 2.8vw, 2.75rem);
  line-height: 1.2;
  margin: 0 0 1rem 0;
}
.hero-story .lead { 
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  opacity: .95;
}
.hero-cta { display: flex; gap: .75rem; margin-top: 1.25rem; flex-wrap: wrap; }
.hero-cta .btn { padding: .75rem 1.1rem; border-radius: .75rem; }
.hero-cta .btn-primary { background: var(--story-accent); color: #1b0e0a; font-weight: 700; }
.hero-cta .btn-secondary { background: #ffffff; color: #1b1b1b; border: 1px solid rgba(0,0,0,.08); }

.hero-media { margin: 0; }
.hero-media img { width: 100%; height: auto; border-radius: 1rem; box-shadow: 0 10px 40px rgba(0,0,0,.35); }

/* Table of contents */
.toc { 
  position: sticky; top: 0; z-index: 5; 
  background: #0f1221ea; backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.toc ul { 
  list-style: none; margin: 0 auto; padding: .5rem 1rem; 
  max-width: 1200px; display: grid; gap: .5rem; grid-auto-flow: column; overflow-x: auto;
}
.toc a { 
  display: inline-block; white-space: nowrap; padding: .5rem .75rem; border-radius: 999px; 
  color: #eaeafa; text-decoration: none; border: 1px solid transparent; 
  background: rgba(255,255,255,0.06);
}
.toc a:hover { border-color: rgba(255,255,255,0.2); }
.toc a.active { background: linear-gradient(135deg, var(--story-accent), var(--story-accent-2)); color: #121212; font-weight: 700; }

/* Content sections */
.section { padding: clamp(2rem, 6vw, 4rem) 1rem; background: #0f1221; color: #e7e7f1; }
.section:nth-of-type(even) { background: #121631; }
.container { max-width: 1000px; margin: 0 auto; }
.section h2 { font-size: clamp(1.35rem, 2.2vw, 2rem); margin: 0 0 1rem 0; color: #ffffff; }
.section h3 { font-size: 1.125rem; margin: 1rem 0 .5rem; color: #ffffff; }

.checklist, .bullets { padding-left: 1.25rem; }
.checklist li { margin: .35rem 0; }
.bullets li { margin: .35rem 0; }

.level-showcase figure { margin: 1rem 0; }
.level-showcase img { width: 100%; height: auto; border-radius: .75rem; box-shadow: 0 8px 28px rgba(0,0,0,.35); }
.level-showcase figcaption { font-size: .95rem; opacity: .85; margin-top: .5rem; }

.grid { display: grid; gap: 1rem; }
.grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }

.quotes { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0,1fr)); }
.quotes blockquote { 
  margin: 0; padding: 1rem; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); 
  border-radius: .75rem; box-shadow: 0 6px 20px rgba(0,0,0,.25);
}
.quotes p { margin: 0 0 .5rem; }
.quotes cite { font-style: normal; opacity: .8; }

.wide-media img { width: 100%; height: auto; border-radius: .75rem; box-shadow: 0 8px 28px rgba(0,0,0,.35); }
.wide-media figcaption { font-size: .95rem; opacity: .85; margin-top: .5rem; }

.cta-bar { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; text-decoration: none; }
.btn-primary { background: linear-gradient(135deg, var(--story-accent), var(--story-accent-2)); color: #101010; padding: .75rem 1rem; border-radius: .75rem; font-weight: 700; }
.btn-outline { border: 1px solid rgba(255,255,255,0.2); color: #ffffff; padding: .75rem 1rem; border-radius: .75rem; }
.btn-ghost { color: #ffffff; padding: .75rem 1rem; border-radius: .75rem; background: transparent; }

/* Responsive */
@media (max-width: 960px) {
  .hero-story .hero-inner { grid-template-columns: 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
  .quotes { grid-template-columns: 1fr; }
}
