.story-page { --page-inset: clamp(24px, 5vw, 88px); }
.story-main { width: 100%; max-width: 1320px; margin: 30px auto 0; padding: 0 var(--page-inset) 76px; }
.story-back { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; text-decoration: none; }
.story-back:hover { text-decoration: underline; text-underline-offset: 6px; }
.story-heading { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 50px; margin: 52px 0 68px; }
.story-who { margin: 0 0 20px; font-size: 14px; }
.story-heading h1 { margin: 0; font-size: clamp(30px, 3.5vw, 48px); font-weight: 400; line-height: 1.7; letter-spacing: -.045em; }
.story-lead { max-width: 560px; margin: 28px 0 0; font-size: 16px; line-height: 2.1; }
.story-motif { display: block; width: 100%; height: auto; }
.story-layout { display: grid; grid-template-columns: .7fr 1.6fr; gap: 72px; padding-top: 48px; border-top: 1px solid var(--border); }
.story-facts { margin: 0; font-size: 14px; }
.story-facts div + div { margin-top: 28px; }
.story-facts dt { font-size: 12px; margin-bottom: 8px; }
.story-facts dd { margin: 0; line-height: 2; }
.story-body section + section { margin-top: 48px; }
.story-body h2 { margin: 0 0 20px; font-size: 24px; line-height: 1.7; font-weight: 400; }
.story-body p { margin: 0; font-size: 16px; line-height: 2.2; }
.story-next { margin-top: 76px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 28px 0; }
.story-next > span { font-size: 12px; }
.story-next a { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 10px; min-height: 44px; font-size: 22px; text-decoration: none; }
.story-next a:hover { text-decoration: underline; text-underline-offset: 7px; }
.story-contact { margin-top: 38px; min-height: 44px; display: flex; align-items: center; gap: 28px; font-size: 16px; text-underline-offset: 7px; }
.story-page .site-footer { padding: 20px var(--page-inset) 35px; font-size: 12px; }
@media (max-width: 700px) {
    .story-main { margin-top: 12px; padding-bottom: 44px; }
    .story-heading { grid-template-columns: 1fr; gap: 24px; margin: 32px 0; }
    .story-heading h1 { font-size: clamp(26px, 7vw, 36px); }
    .story-lead { margin-top: 20px; }
    .story-motif { width: 100%; max-width: 480px; margin: 0 auto; }
    .story-layout { grid-template-columns: 1fr; gap: 38px; padding-top: 28px; }
    .story-facts { display: grid; grid-template-columns: 1fr; gap: 20px; }
    .story-facts div + div { margin-top: 0; }
    .story-body h2 { font-size: 22px; }
    .story-body section + section { margin-top: 38px; }
    .story-next { margin-top: 44px; }
    .story-next a { font-size: 20px; }
    .story-contact { font-size: 14px; gap: 14px; }
}
