.story-page { overflow-x: hidden; background: var(--paper); }

.story-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--white);
  background: var(--cobalt);
}

.story-hero-inner,
.story-intro-inner,
.story-chapters {
  width: min(calc(100% - 64px), 1080px);
  margin-inline: auto;
}

.story-hero-inner { padding: 3.5rem 0 5.5rem; text-align: center; }
.story-hero-inner h1 { margin: 0; color: var(--white); font-size: clamp(3.4rem, 7vw, 6.2rem); font-weight: 740; letter-spacing: -.07em; line-height: .96; }

/* Intro: text left, avatar right. */
.story-intro { padding: clamp(4.5rem, 8vw, 7rem) 0 clamp(3rem, 6vw, 5rem); }
.story-intro-inner { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); align-items: center; gap: clamp(2.5rem, 7vw, 6rem); }
.story-intro-copy h2 { margin: 0; color: var(--lavender-ink); font-size: clamp(2.3rem, 4vw, 3.6rem); font-weight: 720; letter-spacing: -.06em; line-height: 1.02; }
.story-intro-copy p { max-width: 34rem; margin: 1.3rem 0 0; color: var(--muted-ink); font-size: clamp(1.1rem, 1.5vw, 1.25rem); line-height: 1.65; letter-spacing: -.018em; }
/* Brand badge in place of a founder photo. */
.story-avatar { position: relative; display: grid; place-items: center; width: min(100%, 280px); aspect-ratio: 1; margin-inline: auto; border-radius: 50%; background: radial-gradient(circle at 32% 26%, var(--cobalt-light), var(--cobalt) 55%, var(--cobalt-deep)); box-shadow: 0 30px 70px rgba(36, 81, 198, .26), inset 0 1px 0 rgba(255, 255, 255, .22); }
.story-avatar::before { position: absolute; inset: 11%; border: 1px solid rgba(255, 255, 255, .16); border-radius: 50%; content: ''; }
.story-avatar::after { position: absolute; inset: -14px; border: 1px solid rgba(255, 199, 101, .45); border-radius: 50%; content: ''; }
.story-avatar img { position: relative; width: 52%; height: auto; filter: drop-shadow(0 14px 22px rgba(9, 20, 72, .35)); }

/* Chapters: centered heading, one paragraph, one image. */
.story-chapters { max-width: 820px; padding-bottom: clamp(6rem, 10vw, 9rem); }
.story-chapter { padding: clamp(3.5rem, 6vw, 5rem) 0; border-top: 1px solid #27345c14; text-align: center; }
.story-chapter h2 { margin: 0; color: var(--lavender-ink); font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 710; letter-spacing: -.055em; line-height: 1.05; }
.story-chapter > p { max-width: 42rem; margin: 1.3rem auto 0; color: var(--muted-ink); font-size: clamp(1.08rem, 1.5vw, 1.22rem); line-height: 1.7; letter-spacing: -.016em; }

.story-figure { max-width: 42rem; margin: clamp(2rem, 4vw, 3rem) auto 0; }
.story-figure img { display: block; width: 100%; height: auto; }
.story-figure-plain { max-width: 34rem; }
.story-figure-dark { overflow: hidden; border-radius: 1.2rem; background: #0b0e14; box-shadow: 0 28px 70px rgba(9, 20, 72, .2), 0 5px 15px rgba(9, 20, 72, .1); }
.story-figure-shot { overflow: hidden; border: 1px solid #d6dcef; border-radius: 18px; background: #e6eafb; box-shadow: 0 26px 56px -24px rgba(36, 81, 198, .28); }

.story-chapter .story-signoff { margin: clamp(2.5rem, 5vw, 3.5rem) 0 0; color: var(--cobalt); font-size: 1rem; font-weight: 650; }

@media (max-width: 760px) {
  .story-intro-inner { grid-template-columns: 1fr; }
  .story-avatar { width: min(60%, 220px); margin-inline: 0; }
}

@media (max-width: 520px) {
  .story-hero-inner,
  .story-intro-inner,
  .story-chapters { width: min(calc(100% - 40px), 1080px); }
  .story-hero-inner { padding: 3rem 0 4rem; text-align: left; }
  .story-hero-inner h1 { font-size: clamp(3rem, 14vw, 4.2rem); }
  .story-chapter { text-align: left; }
  .story-chapter > p { margin-inline: 0; }
}
