/* Continuous editorial photo stories, inspired by Nordica's visual rhythm. */
.story-index,.story-chapter{background:#fff}
.story-index{padding:116px 0 122px}
.story-index__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:8vw;align-items:end}
.story-index h2{font-size:clamp(4.3rem,7vw,8rem);margin:0 0 28px;max-width:850px}
.story-index__inner>div>p:last-child{max-width:440px;color:var(--muted);line-height:1.8;margin:0}
.story-index__nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.story-index__nav a{display:flex;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line);font-family:Italiana,Georgia,serif;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.1;transition:padding-left .22s ease,color .22s ease}
.story-index__nav a span{font:600 .65rem 'DM Sans',Arial,sans-serif;letter-spacing:.12em;color:var(--muted)}
.story-index__nav a:hover,.story-index__nav a:focus-visible{padding-left:8px;color:var(--sage-text)}
.story-chapter{position:relative;scroll-margin-top:0;isolation:isolate}
.story-anchor{position:absolute;top:0;left:0}
.story-hero{position:sticky;top:0;z-index:0;height:100vh;overflow:hidden;background:#403c35;color:#fff;isolation:isolate}
@supports(height:100dvh){.story-hero{height:100dvh}}
.story-content{position:relative;z-index:1;background:#fff}
.story-hero__image,.story-cover__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center 33%}
.story-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.62) 31%,rgba(0,0,0,.62) 69%,rgba(0,0,0,.28))}
.story-hero__copy{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px;text-shadow:0 1px 20px rgba(0,0,0,.28)}
.story-hero__copy h2{font-family:Italiana,Georgia,serif;letter-spacing:-.045em;font-size:clamp(5.5rem,12vw,13rem);line-height:.95;margin:.12em 0 .2em;font-weight:400;color:#fff;text-wrap:balance}
.story-hero__copy>p:last-child{max-width:38ch;margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:clamp(.8rem,1vw,.9rem);font-weight:600;line-height:1.6;text-wrap:balance}
.story-hero__number{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600;margin:0}
.story-editorial{padding:clamp(90px,10vw,175px) 32px clamp(95px,11vw,190px);background:#fff}
.story-editorial__inner{width:min(100%,680px);margin:0 auto}
.story-editorial .eyebrow{text-align:center;color:var(--muted);margin-bottom:20px}
.story-editorial h3{font-family:Italiana,Georgia,serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(3rem,5.2vw,5.8rem);line-height:1.04;text-align:center;margin:0 0 48px;color:#4b4d49;text-wrap:balance}
.story-editorial__inner>p:not(.eyebrow){font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.95;color:#41443e;margin:0 0 1.3em}
.story-images{position:relative;isolation:isolate;background:#fff}
.story-series{position:relative;isolation:isolate;background:#fff}
.story-gallery-panel{position:relative;z-index:1;background:#fff;padding:clamp(60px,8vw,135px) 0}
.story-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2.2vw,34px);align-items:start}
.story-pair figure,.story-single,.story-cover{margin:0;min-width:0}
.story-pair figure:nth-child(even){margin-top:clamp(45px,8vw,145px)}
.story-pair__image{display:block;width:100%;height:auto}
.story-chapter img[id^="foto-"]{scroll-margin-top:24px}
.story-cover{position:sticky;top:0;z-index:0;width:100%;height:100vh;overflow:hidden;background:#ddd8d0}
@supports(height:100dvh){.story-cover{height:100dvh}}
.story-single{display:flex;justify-content:center}
.story-single__image{display:block;width:min(100%,740px);height:auto}
.story-footer-panel{position:relative;z-index:1;background:#fff}
.story-chapter__footer{display:flex;justify-content:space-between;gap:24px;padding-top:clamp(75px,10vw,160px);padding-bottom:clamp(85px,10vw,160px);font-size:.69rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.story-chapter__footer a{border-bottom:1px solid currentColor;padding-bottom:6px;transition:color .2s ease}
.story-chapter__footer a:hover{color:var(--sage-text)}
.session-return{position:fixed;right:81px;bottom:24px;z-index:20;display:flex;background:transparent;color:#fff;border:1px solid currentColor;mix-blend-mode:difference;visibility:hidden;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.session-return.is-visible{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .22s ease,transform .22s ease}
.session-return a{position:relative;display:grid;place-items:center;min-height:48px;padding:0 18px;font-size:.75rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.session-return a::after,.back-to-menu::after{content:"";position:absolute;inset:4px;border:1px solid currentColor;opacity:.42;pointer-events:none;transition:opacity .2s ease}
.session-return a:hover::after,.session-return a:focus-visible::after,.back-to-menu:hover::after,.back-to-menu:focus-visible::after{opacity:1}
.back-to-menu{position:fixed;right:24px;bottom:24px;z-index:21;display:grid;place-items:center;width:48px;height:48px;border:1px solid currentColor;background:transparent;color:#fff;mix-blend-mode:difference;visibility:hidden;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.back-to-menu.is-visible{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .22s ease,transform .22s ease,background .2s ease,color .2s ease}
.back-to-menu.with-session-return{bottom:24px}
.back-to-menu svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter}
@media(max-width:900px){
  .story-index{padding:88px 0 94px}
  .story-index__inner{grid-template-columns:1fr;gap:42px}
  .story-index h2{font-size:clamp(4rem,10vw,7rem)}
}
@media(max-width:600px){
  .story-index{padding:74px 0 82px}
  .story-index h2{font-size:clamp(3.7rem,14vw,5.8rem)}
  .story-index__nav{gap:0 15px}
  .story-index__nav a{gap:8px;font-size:1.36rem;padding:12px 0}
  .story-hero__copy{padding:24px}
  .story-hero__copy h2{max-width:100%;font-size:clamp(3rem,13vw,6rem);overflow-wrap:anywhere}
  .story-hero__copy>p:last-child{font-size:.8rem}
  .story-editorial{padding:83px 24px 95px}
  .story-editorial h3{font-size:clamp(3.1rem,12vw,5rem);margin-bottom:36px}
  .story-gallery-panel{padding:68px 0}
  .story-pair{width:min(100% - 32px,480px);grid-template-columns:1fr;gap:28px}
  .story-pair figure:nth-child(even){margin-top:0}
  .story-single{width:min(100% - 32px,480px)}
  .story-chapter__footer{padding-top:75px;padding-bottom:90px;align-items:start;line-height:1.6}
  .session-return{right:66px;bottom:12px;left:auto;justify-content:flex-start}
  .session-return a{flex:none;min-height:44px;text-align:center;padding:0 12px;font-size:.72rem;line-height:1.5}
  .back-to-menu,.back-to-menu.with-session-return{right:12px;top:auto;bottom:12px;width:44px;height:44px}
  body{padding-bottom:58px}
}
@media(max-width:420px){.story-index__nav{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.story-index__nav a,.session-return,.back-to-menu{transition:none}}
