.story-page { color:var(--ink); }
.story-breadcrumb { margin:0 0 26px; font-size:12px; color:var(--muted); }
.story-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.story-hero,.story-teaser { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,58px); padding:clamp(24px,4vw,52px); border-radius:12px; background:var(--warm); }
.story-hero .eyebrow,.story-teaser .eyebrow { color:#9a4b26; }
.story-hero h1 { max-width:760px; font-size:clamp(30px,3.5vw,46px); line-height:1.14; letter-spacing:-.035em; color:var(--navy); }
.story-hero .story-lead { margin:24px 0 16px; font-size:18px; line-height:1.7; color:var(--navy); }
.story-byline { margin:0; color:var(--muted); font-size:13px; }
.story-photo { min-width:0; margin:0; }
.story-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:9px; }
.story-photo-placeholder { display:flex; flex-direction:column; justify-content:center; align-items:center; aspect-ratio:4/3; padding:24px; border:1px dashed #b9b1a2; border-radius:9px; text-align:center; background:#f0ebe1; color:#5d605b; }
.story-photo-placeholder>span { font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.story-photo-placeholder p { max-width:260px; margin:20px 0; font-size:19px; line-height:1.45; }
.story-photo-placeholder small { font-size:12px; }
.story-photo figcaption { margin-top:10px; color:var(--muted); font-size:12px; line-height:1.6; }
.story-intro,.story-chapter,.story-closing { max-width:740px; margin:44px auto; font-size:17px; line-height:1.85; }
.story-page p { margin-top:0; }
.story-chapter h2 { margin:0 0 24px; font-size:clamp(25px,3vw,33px); line-height:1.28; letter-spacing:-.025em; color:var(--navy); text-wrap:balance; }
.story-chapter { padding-top:38px; border-top:1px solid var(--line); }
.story-chapter .story-photo { margin:32px 0; }
.story-portraits,.story-work { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:980px; margin:48px auto; }
.story-closing { padding:30px; border-radius:10px; background:var(--warm); }
.story-closing a { color:var(--navy); text-decoration:underline; text-underline-offset:3px; }
.story-teaser-wrap { max-width:1320px; margin:auto; padding:30px 28px 45px; background:var(--shop-content,#fff); }
.story-teaser h2 { margin:0 0 20px; max-width:560px; font-size:clamp(27px,3vw,36px); line-height:1.2; letter-spacing:-.025em; color:var(--navy); }
.story-teaser p:not(.eyebrow) { color:var(--muted); line-height:1.85; margin-bottom:24px; }
.story-teaser .button { gap:18px; padding:13px 20px; border-radius:6px; background:var(--navy); }
.story-teaser .button:hover { background:#254e70; }
@media(max-width:750px) {
  .story-teaser-wrap { padding:24px 16px 32px; }
  .story-hero,.story-teaser { grid-template-columns:1fr; padding:24px; }
  .story-intro,.story-chapter,.story-closing { margin:32px auto; font-size:16px; }
  .story-portraits,.story-work { gap:20px; }
  .story-photo-placeholder { padding:18px; }
  .story-photo-placeholder p { font-size:16px; }
}
@media(max-width:480px) {
  .story-portraits,.story-work { grid-template-columns:1fr; }
  .story-hero,.story-teaser,.story-closing { padding:22px 18px; }
  .story-hero .story-lead { font-size:17px; }
  .story-teaser .button { width:100%; }
}
