.story-page { max-width: 760px; margin: 0 auto; padding: clamp(48px, 8vw, 96px) var(--gutter) clamp(72px, 10vw, 128px); }
.story-page .story-kicker { margin: 0 0 12px; color: var(--coral); font-size: 12px; font-weight: 800; letter-spacing: .15em; }
.story-page h1 { max-width: 720px; margin: 0 0 34px; font-size: clamp(38px, 6vw, 66px); line-height: 1.08; letter-spacing: -.055em; }
.story-page .story-lead { margin: 0 0 42px; color: var(--muted); font-size: clamp(18px, 2.4vw, 22px); line-height: 1.7; }
.story-page .story-body p { margin: 0 0 25px; font-size: 17px; line-height: 2; word-break: keep-all; }
.story-page .story-body strong { color: var(--blue); }
.story-page .story-quote { margin: 38px 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--coral); color: var(--blue); font-size: clamp(21px, 3vw, 27px); font-weight: 700; line-height: 1.6; }
.story-page .story-next { margin-top: 52px; padding: 28px 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.story-page .story-next p { margin: 0 0 14px; font-weight: 700; }
.story-page .story-next a { color: var(--blue); font-weight: 800; text-underline-offset: 3px; }
:lang(en) .story-page .story-body p { word-break: normal; }
:lang(ja) .story-page .story-body p { word-break: auto-phrase; }
@media (max-width: 600px) { .story-page { padding-top: 42px; } .story-page .story-body p { font-size: 16px; line-height: 1.9; } }
