/* Large service photographs; natural flow is the no-JS and reduced-motion baseline. */
.service-story{background:#fafaf8;color:var(--forest);padding:85px 0 0}
.service-story-heading{padding:0 5vw 65px;max-width:1800px;margin:auto}
.service-story-heading h2{font-size:clamp(54px,7.8vw,140px);line-height:1.03;letter-spacing:-.05em;margin:0}
.service-story-heading h2 span,.service-story-heading h2 em{display:block}
.service-story-heading h2 em{text-align:right;margin-top:.04em;padding-right:4vw}
.service-story-heading>p{margin:30px 0 0;max-width:480px;font-size:16px;line-height:1.8;color:#586456}
.service-story-chapters{position:relative}
.service-scene{padding:0 4vw 65px;scroll-margin-top:105px}
.service-scene-stage{position:relative;max-width:1800px;margin:auto;display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,1fr);gap:30px 6vw;align-items:start;padding:30px 0 10px}
.service-scene h3{grid-column:1/-1;font-size:clamp(50px,7.1vw,130px);line-height:1.04;letter-spacing:-.045em;margin:0 0 10px;position:relative;z-index:2}
.service-scene h3 span,.service-scene h3 em{display:block}
.service-mobile-break{display:none}
.service-scene h3 em{margin-left:7vw}
.service-scene figure{margin:0;overflow:hidden;background:#e9e9df}
.service-scene figure img{display:block;width:100%;height:100%;object-fit:cover}
.service-scene-main{grid-column:2;grid-row:2;aspect-ratio:1.42}
.service-scene-aside{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:center;align-self:stretch;padding:0}
.service-scene-aside>p{font-size:clamp(15px,1.18vw,18px);line-height:1.8;max-width:38ch;color:#4d5a4d;text-wrap:pretty;margin:0}
.service-scene-reverse .service-scene-stage{grid-template-columns:minmax(0,1fr) minmax(0,.46fr)}
.service-scene-reverse h3{text-align:right}
.service-scene-reverse h3 em{margin-left:0;margin-right:7vw}
.service-scene-reverse .service-scene-main{grid-column:1}
.service-scene-reverse .service-scene-aside{grid-column:2}
.service-story-note{margin:0 4vw;padding:26px 0 35px;font-size:11px;line-height:1.75;color:#61705f;border-top:1px solid #20392c24;text-align:center}
/* A fixed photographic aperture and one aligned copy block hold through the sequence. */
.service-scene-copy{display:contents}
.service-visual{display:none}
@media(min-width:880px) and (min-height:560px) and (prefers-reduced-motion:no-preference){
 .service-story.is-cinematic{--photo-width:min(44vw,calc((100svh - 110px) * .88));padding-top:60px}
 .service-story.is-cinematic .service-story-heading{padding-bottom:32px}
 .service-story.is-cinematic .service-story-chapters{height:360svh}
 .service-story.is-cinematic .service-theater{position:sticky;top:88px;height:calc(100svh - 104px);overflow:hidden;isolation:isolate}
 .service-story.is-cinematic .service-visual{display:block;position:absolute;right:4vw;top:50%;width:var(--photo-width);height:var(--photo-height,94%);transform:translateY(-50%);overflow:hidden;background:#e9e9df;z-index:1}
 .service-story.is-cinematic .service-visual img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;visibility:hidden;will-change:transform}
 .service-story.is-cinematic .service-visual img.is-visible{visibility:visible}
 .service-story.is-cinematic .service-scene{position:absolute;inset:0;padding:0 4vw;visibility:hidden;pointer-events:none;z-index:2}
 .service-story.is-cinematic .service-scene.is-visible{visibility:visible}
 .service-story.is-cinematic .service-scene-stage{height:100%;max-width:none;display:flex;align-items:center;padding:0}
 .service-story.is-cinematic .service-scene-copy{display:flex;flex-direction:column;gap:clamp(24px,4svh,44px);width:calc(100% - var(--photo-width) - 5vw);transform:translateY(var(--copy-offset,0px));opacity:var(--copy-alpha,1);will-change:transform,opacity}
 .service-story.is-cinematic .service-scene h3{position:static;margin:0;font-size:clamp(42px,min(5.25vw,11svh),106px);line-height:1.08;letter-spacing:-.05em;text-align:left;width:auto}
 .service-story.is-cinematic .service-scene h3 span,.service-story.is-cinematic .service-scene h3 em{white-space:nowrap}
 .service-story.is-cinematic .service-scene h3 em{margin:0}
 .service-story.is-cinematic .service-scene-concierge h3{font-size:clamp(40px,min(4.8vw,10.5svh),96px)}
 .service-story.is-cinematic .service-scene-experiences h3{font-size:clamp(38px,min(4.45vw,10svh),90px)}
 .service-story.is-cinematic .service-scene-transport h3{font-size:clamp(35px,min(4vw,9.5svh),82px)}
 .service-story.is-cinematic .service-scene-main{display:none}
 .service-story.is-cinematic .service-scene-aside{position:static;display:block;padding:0;width:auto;align-self:auto}
 .service-story.is-cinematic .service-scene-aside>p{font-size:clamp(14px,1.12vw,18px);line-height:1.8;max-width:42ch;margin:0}
}
@media(max-width:1049px){
 .service-story{padding-top:65px}
 .service-story-heading{padding:0 5vw 40px}
 .service-story-heading h2{font-size:clamp(45px,7.6vw,82px)}
 .service-story-heading>p{font-size:15px;max-width:440px;margin-top:28px;margin-right:0}
 .service-scene{padding:0 5vw 55px}
 .service-scene-stage,.service-scene-reverse .service-scene-stage{grid-template-columns:1fr 1fr;gap:24px}
 .service-scene h3{font-size:clamp(44px,7.2vw,74px);grid-row:1;margin-bottom:0}
 .service-scene-main,.service-scene-reverse .service-scene-main{grid-column:1/-1;grid-row:2;aspect-ratio:.94}
 .service-scene-concierge .service-scene-main{aspect-ratio:.84}
 .service-scene-experiences .service-scene-main{margin:0 0 0 auto;width:92%;aspect-ratio:.78}
 .service-scene-aside,.service-scene-reverse .service-scene-aside{grid-column:1/-1;grid-row:3;display:block;padding:0}
 .service-scene-aside>p{font-size:15px;max-width:60ch;line-height:1.75}
}
@media(max-width:600px){
 .service-story{padding-top:52px}
 .service-story-heading{padding:0 24px 30px}
 .service-story-heading h2{font-size:clamp(39px,9vw,56px);line-height:1.12}
 .service-story-heading h2 em{padding:0;margin-top:.06em;text-align:left;margin-left:8vw}
 .service-story-heading>p{font-size:14px;margin-top:25px;max-width:36ch}
 .service-scene{padding:0 20px 40px;scroll-margin-top:95px}
 .service-scene-stage,.service-scene-reverse .service-scene-stage{gap:22px;padding-top:28px}
 .service-scene h3{font-size:40px;line-height:1.1;letter-spacing:-.04em;text-wrap:balance}
 .service-scene h3 em,.service-scene-reverse h3 em{margin-left:0;margin-right:0}
 .service-mobile-break{display:inline}
 .service-scene-main,.service-scene-reverse .service-scene-main{aspect-ratio:.94}
 .service-scene-concierge .service-scene-main{aspect-ratio:.86}
 .service-scene-experiences .service-scene-main{margin:0 auto;width:100%;aspect-ratio:.8}
 .service-scene-transport .service-scene-main{aspect-ratio:.98}
 .service-scene-aside>p{font-size:14px;line-height:1.8;max-width:42ch}
 .service-story-note{margin:0 24px;font-size:10px;text-align:left;padding:22px 0 30px}
}
@media(max-width:359px){.service-scene h3{font-size:36px}}
