.story-page .header { position:relative; background:var(--paper); border-bottom:1px solid var(--line); }
.story-page .header nav a[aria-current] { color:var(--wine); border-color:var(--wine); }
.story-cover { max-width:1320px; margin:auto; padding:64px 6% 72px; display:grid; grid-template-columns:1.05fr 1fr; gap:8%; align-items:center; }
.cover-copy { min-width:0; }
.return-link { display:inline-block; color:var(--muted); padding:10px 0; margin-bottom:40px; font-size:15px; }
.return-link:hover { color:var(--wine); }
.cover-copy .eyebrow { font-size:12px; letter-spacing:1.5px; margin-bottom:20px; }
.cover-copy h1 { font-size:clamp(56px,6.5vw,90px); letter-spacing:-3px; }
.cover-motto { font:italic clamp(24px,2.6vw,34px)/1.4 var(--serif); color:var(--wine); margin-top:18px; }
.cover-intro { margin:28px 0; font-size:18px; line-height:1.85; }
.article-photo { margin:36px 0; }
.cover-photo { margin:0; }
.story-photo-button { display:block; position:relative; padding:0; border:0; background:var(--line); width:100%; border-radius:8px; overflow:hidden; }
.story-photo-button img { height:auto; }
.cover-photo .story-photo-button { border-radius:180px 180px 8px 8px; }
.photo-expand { position:absolute; right:16px; bottom:16px; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--paper-light); color:var(--wine); font-size:24px; box-shadow:0 2px 16px #0002; }
.story-photo-button:hover .photo-expand { background:var(--wine); color:white; }
.article-photo figcaption { font-size:15px; color:var(--muted); margin-top:12px; text-align:center; }
.chapter-nav { max-width:1120px; margin:0 auto 60px; padding:24px 26px; border-block:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:center; gap:8px 25px; font-size:15px; }
.chapter-nav>span { flex-basis:100%; text-align:center; font:italic 21px/1.5 var(--serif); color:var(--muted); margin-bottom:8px; }
.chapter-nav a { padding:8px 0; text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--line); }
.chapter-nav a:hover { color:var(--wine); text-decoration-color:var(--wine); }
.story-reading { max-width:780px; padding:0 28px; margin:auto; }
.story-chapter { padding:25px 0 55px; font-size:19px; line-height:1.9; }
.story-chapter+.story-chapter { border-top:1px solid var(--line); padding-top:55px; }
.story-chapter h2 { font-size:clamp(35px,4vw,48px); margin-bottom:30px; letter-spacing:-1.2px; line-height:1.2; text-wrap:balance; }
.story-chapter .story-emphasis { font:italic 28px/1.5 var(--serif); color:var(--wine); margin-block:28px; }
.future-note { padding:18px 22px; border-left:2px solid var(--line); margin-top:30px; color:var(--muted); font-size:15px; line-height:1.7; }
.story-end { text-align:center; padding:30px 24px 100px; }
.story-end>.heart { display:block; font-size:34px; margin-bottom:12px; }
.story-end p { font:28px/1.4 var(--serif); margin-bottom:25px; }
.story-end .text-link { display:block; width:fit-content; margin:22px auto 0; }
@media(max-width:1000px) { .story-page .header { gap:20px; } .story-page .header nav { gap:22px; } .story-page .header-line { display:none; } .story-cover { gap:6%; } .cover-intro { font-size:17px; } }
@media(max-width:760px) {
  .story-page .header { height:auto; min-height:110px; flex-wrap:wrap; padding:20px 6%; gap:8px 16px; }
  .story-page .header nav { width:100%; margin:0; justify-content:space-between; gap:12px; font-size:17px; }
  .story-page .header .brand { font-size:26px; }
  .story-cover { display:block; padding:28px 6% 42px; }
  .return-link { margin-bottom:28px; }
  .cover-copy h1 { letter-spacing:-2px; }
  .cover-photo { max-width:460px; margin:38px auto 0; }
  .cover-photo .story-photo-button { border-radius:140px 140px 8px 8px; }
  .chapter-nav { margin:0 6% 28px; padding:22px 0; gap:3px 22px; }
  .story-reading { padding:0 6%; }
  .story-chapter { font-size:17px; line-height:1.85; padding-bottom:38px; }
  .story-chapter+.story-chapter { padding-top:38px; }
  .story-chapter h2 { font-size:35px; margin-bottom:25px; }
  .story-chapter .story-emphasis { font-size:25px; }
  .article-photo { margin-block:28px; }
  .story-end { padding-bottom:65px; }
}
