/* Film at arrival, using the existing optimised interior loop. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s;pointer-events:none}
.hero-video.playing{opacity:1}
.hero .hero-photo{object-position:center;animation:none}
.hero .hero-shade{background:linear-gradient(180deg,#11090755,#11090730 30%,#1109074d 65%,#110907b3)}
.hero .video-toggle{z-index:3;bottom:82px;right:4.2vw}
.header{transition:transform .42s cubic-bezier(.22,.61,.36,1),height .35s,background .35s,box-shadow .35s;will-change:transform}
.header.hidden-by-scroll{transform:translate3d(0,-110%,0);pointer-events:none}
.header:focus-within{pointer-events:auto}
/* The reference places a small left photograph above one broad photograph. */
.intro{grid-template-columns:1fr 1fr;gap:48px 4.5vw;padding:110px 5.5vw 90px}
.intro>.eyebrow{grid-column:1;grid-row:1;align-self:start;padding-top:12px}
.intro>h2{grid-column:2;grid-row:1;font-size:clamp(54px,5.6vw,96px);max-width:690px}
.intro-copy{grid-column:2;grid-row:2;max-width:410px;align-self:start;padding-bottom:0;margin:0}
.intro-images{display:contents}
.intro .intro-small{grid-column:1;grid-row:3;margin:-48px 0 0;padding:0;align-self:end;width:100%}
.intro .intro-small img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:50% 55%}
.intro .intro-large{grid-column:1/-1;grid-row:4;margin:-28px 0 0;padding:0}
.intro .intro-large img{width:100%;height:auto;aspect-ratio:1.68;object-fit:cover;object-position:50% 48%}
.intro-images figcaption{display:none}
.intro .intro-large figcaption{margin-top:13px}
/* Four photographs rise over each other. Each copy layer counter-translates
   inside its clipped photograph, keeping its screen position unchanged. */
.experience-journey{background:var(--linen)}
.chapter-heading{text-align:center;padding:45px 24px 65px}
.chapter-heading .eyebrow{color:var(--bronze);font-size:11px;margin-bottom:22px}
.chapter-heading h2{font-size:clamp(55px,6.4vw,100px);line-height:.98;letter-spacing:-.04em}
.chapter-heading h2 em{font-size:.7em;display:inline-block;margin-bottom:5px}
.chapter-scroll{position:relative}
.chapter-stage{position:relative;isolation:isolate}
.chapter-panel{position:relative;min-height:660px;height:100svh;overflow:hidden;color:var(--linen);background:var(--ink)}
.chapter-photo,.chapter-shade,.chapter-overlay{position:absolute;inset:0;width:100%;height:100%}
.chapter-photo{object-fit:cover;object-position:50% 50%}
.chapter-panel[data-chapter="1"] .chapter-photo{object-position:50% 58%}
.chapter-panel[data-chapter="2"] .chapter-photo{object-position:50% 53%}
.chapter-shade{background:linear-gradient(180deg,#11090750,#1109072e 45%,#11090770 90%)}
.chapter-overlay{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:18svh 25px 15svh;text-align:center}
.chapter-title{font-size:clamp(50px,5vw,78px);line-height:1.03;letter-spacing:-.025em}
.chapter-title>em{display:block;font-family:var(--serif);font-style:normal;font-size:.78em;line-height:1.06;margin-bottom:3px}
.chapter-title>span{display:block}
.chapter-bottom{max-width:390px}
.chapter-bottom>p{font-family:var(--serif);font-size:clamp(21px,1.8vw,29px);line-height:1.3;text-wrap:balance;margin-bottom:26px}
.chapter-bottom .text-link{font-size:13px;gap:45px;border-bottom-color:#faf2e77a}
.chapter-number{position:absolute;bottom:40px;right:5.5vw;font-size:11px;letter-spacing:.12em}
.scroll-motion .chapter-scroll{height:430svh;min-height:2750px}
.scroll-motion .chapter-stage{position:sticky;top:0;height:100svh;min-height:660px;overflow:hidden}
.scroll-motion .chapter-panel{position:absolute;inset:0;height:100%;min-height:0;transform:translate3d(0,var(--panel-y,100%),0);will-change:transform}
.scroll-motion .chapter-panel:first-child{--panel-y:0px}
.scroll-motion .chapter-overlay{transform:translate3d(0,calc(0px - var(--panel-y,0px)),0);will-change:transform}
/* Mixed portrait and landscape photographs on a single horizontal ribbon. */
.gallery-scroll{position:relative;padding:0;background:var(--linen)}
.gallery-stage{padding:80px 0 32px}
.gallery-heading{margin:0 5.5vw 45px;gap:8vw}
.gallery-heading h2{font-size:clamp(50px,5vw,80px);line-height:1.04}
.gallery-heading .eyebrow{margin-bottom:24px}
.gallery-aside{font-size:14px;max-width:345px}
.gallery-hint{font-size:9px;margin-top:18px}
.gallery-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--bronze) var(--linen);padding:7px 0 12px}
.gallery-grid{display:flex;align-items:flex-start;gap:5vw;width:max-content;padding:0 5.5vw;transform:translate3d(var(--gallery-x,0px),0,0)}
.gallery-grid .gallery-item{flex:0 0 auto;width:clamp(210px,19vw,360px);padding:0;margin:0;overflow:visible}
.gallery-grid .gallery-item img{width:100%;height:clamp(285px,40svh,475px);object-fit:cover}
.gallery-grid .gallery-item:nth-child(even){width:clamp(285px,25vw,460px)}
.gallery-grid .gallery-item:nth-child(even) img{height:clamp(185px,25svh,300px)}
.gallery-grid .gallery-caption{font-size:11px;margin-top:14px}
.gallery-tail{margin:28px 5.5vw 0;justify-content:flex-end;font-size:12px;gap:22px}
.gallery-tail .text-link{font-size:12px}
.gallery-viewport:focus-visible{outline:2px solid var(--bronze);outline-offset:-4px}
@media(max-width:1000px){
 .intro{gap:36px 5vw}.intro>h2{font-size:55px}.intro-copy{font-size:15px;padding-bottom:24px}
 .chapter-bottom{max-width:340px}.chapter-title{font-size:60px}
 .gallery-stage{padding-top:50px}.gallery-heading{margin-bottom:35px}.gallery-heading h2{font-size:56px}
 .gallery-grid .gallery-item{width:240px}.gallery-grid .gallery-item:nth-child(even){width:320px}
}
@media(max-width:760px){
 .hero .video-toggle{right:24px;bottom:75px}
 .intro{grid-template-columns:1fr;gap:25px;padding:75px 24px 55px}
 .intro>.eyebrow{grid-column:1;grid-row:1;padding:0}
 .intro>h2{grid-column:1;grid-row:2;font-size:clamp(42px,10vw,65px);margin-left:9vw}
 .intro-copy{grid-column:1;grid-row:3;max-width:none;margin-left:9vw;font-size:14px;padding:0 0 8px}
 .intro .intro-small{grid-column:1;grid-row:4;width:64%;margin-top:8px}
 .intro .intro-small img{aspect-ratio:1.4}
 .intro .intro-large{grid-column:1;grid-row:5;margin-top:-8px}
 .intro .intro-large img{aspect-ratio:1.12}
 .intro .intro-small figcaption{font-size:9px}.intro .intro-large figcaption{font-size:8px}
 .chapter-heading{padding:35px 24px 45px}.chapter-heading h2{font-size:58px}.chapter-heading .eyebrow{font-size:9px}
 .chapter-panel{min-height:570px}.scroll-motion .chapter-scroll{height:425svh;min-height:2300px}.scroll-motion .chapter-stage{min-height:570px}
 .chapter-title{font-size:54px}.chapter-overlay{padding:17svh 28px 15svh}
 .chapter-bottom{max-width:290px}.chapter-bottom>p{font-size:24px;line-height:1.32;margin-bottom:22px}
 .chapter-bottom .text-link{font-size:12px;gap:27px}.chapter-number{bottom:30px;right:24px;font-size:10px}
 .gallery-heading{margin:0 24px 30px;display:flex;align-items:start;flex-direction:column;gap:19px}
 .gallery-heading h2{font-size:46px}.gallery-heading .eyebrow{font-size:10px;margin-bottom:16px}
 .gallery-aside{font-size:13px;max-width:320px}.gallery-hint{display:none}
 .gallery-grid{gap:24px;padding:0 24px}
 .gallery-grid .gallery-item{width:180px}.gallery-grid .gallery-item img{height:240px}
 .gallery-grid .gallery-item:nth-child(even){width:240px}.gallery-grid .gallery-item:nth-child(even) img{height:165px}
 .gallery-grid .gallery-caption{font-size:10px;gap:6px;margin-top:12px}
 .gallery-tail{display:flex;margin:24px 24px 0;justify-content:space-between;gap:15px}.gallery-tail>p{font-size:10px;max-width:110px}.gallery-tail .text-link{font-size:10px;gap:8px}
}
@media(max-height:699px){
 .chapter-overlay{padding-top:90px;padding-bottom:75px}
}
@media(prefers-reduced-motion:reduce){
 .hero-video{display:none}
 .scroll-motion .chapter-panel{position:relative;min-height:570px;height:85svh;transform:none!important}
 .scroll-motion .chapter-overlay{transform:none!important}
}

/* Automatic, seamless gallery. Each sequence includes the gap to the next. */
.gallery-marquee .gallery-stage{position:relative;height:auto;min-height:0;padding:100px 0 65px}
.gallery-marquee .gallery-viewport{overflow:hidden}
.gallery-marquee .gallery-grid{gap:0;padding:0;transform:none;animation:gallery-right var(--marquee-duration,65s) linear infinite;will-change:transform}
.gallery-sequence{display:flex;align-items:flex-start;gap:5vw;padding-right:5vw;flex:none}
@keyframes gallery-right{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.marquee-paused .gallery-grid{animation-play-state:paused}
.gallery-pause{background:none;border:0;border-bottom:1px solid currentColor;padding:7px 0;color:var(--bronze);font-size:11px;white-space:nowrap}
.gallery-tail{flex-wrap:wrap;align-items:center}
.gallery-viewport.gallery-keyboard{overflow-x:auto}
.gallery-keyboard .gallery-grid{animation:none;transform:none}
.gallery-keyboard .gallery-duplicate{display:none}
.lightbox .lightbox-arrow{width:auto;height:auto;border-radius:0;border:0;font-size:11px;letter-spacing:.02em;padding:12px}
.lightbox[open]{grid-template-columns:100px minmax(0,1fr) 100px}
@media(max-width:760px){
 .gallery-marquee .gallery-stage{padding:65px 0 40px}
 .gallery-sequence{gap:24px;padding-right:24px}
 .gallery-aside{margin-top:0}
 .gallery-pause{font-size:10px}
 .lightbox[open]{grid-template-columns:1fr 1fr;padding:75px 20px 50px;align-content:center;gap:20px}
 .lightbox figure{grid-column:1/-1;grid-row:1}
 .lightbox .prev,.lightbox .next{grid-row:2;justify-self:center}
}
@media(prefers-reduced-motion:reduce){
 .gallery-marquee .gallery-grid{animation:none}
 .gallery-marquee .gallery-viewport{overflow-x:auto}
 .gallery-duplicate,.gallery-pause{display:none}
}

/* The sticky scene must cover Safari's expanded viewport as its toolbar retracts. */
.chapter-stage{background:var(--ink)}
.chapter-heading{background:var(--linen)}
@media(max-width:760px){
 .experience-journey{background:var(--ink)}
 .scroll-motion .chapter-stage{height:100vh;height:100lvh;min-height:0;transform:none!important;opacity:1!important}
 .scroll-motion .chapter-panel{backface-visibility:hidden}
 .chapter-overlay{padding-bottom:max(15svh,calc(80px + env(safe-area-inset-bottom)))}
}
