/* Direction D: full-width scenery moving with the document, with continuous upward reveals. */
.services-panorama{position:relative;isolation:isolate;overflow:clip}
.services-panorama .service-stage{position:static;height:auto;overflow:visible}
.panorama-chapter{position:relative;isolation:isolate;height:clamp(800px,56.25vw,120svh);min-height:800px;margin-top:0;color:#fff;overflow:clip;background:var(--forest)}
.panorama-chapter:first-child{margin-top:0;z-index:1}
.panorama-chapter:nth-child(2){z-index:2}
.panorama-chapter:nth-child(3){z-index:3}
.panorama-visual{position:absolute;inset:0;z-index:-2;overflow:hidden}
.panorama-visual img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;transform:translate3d(0,var(--panorama-drift,0px),0) scale(1.045);will-change:transform}
.panorama-chapter[data-scene="1"] .panorama-visual img{object-position:52% 50%;transform-origin:100% 50%}
.panorama-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 48% 46% at 8% 10%,rgba(9,24,17,.48),rgba(9,24,17,.23) 50%,transparent 88%),radial-gradient(ellipse 38% 27% at 11% 77%,rgba(9,24,17,.56),rgba(9,24,17,.44) 56%,transparent 100%)}
.panorama-heading{position:absolute;top:clamp(75px,10svh,110px);left:var(--gutter);right:var(--gutter);transform:translate3d(0,var(--heading-drift,0px),0);will-change:transform;max-width:1100px}
.panorama-heading>.eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:26px;line-height:1.8}
.panorama-heading h3{font:400 clamp(66px,5.25vw,108px)/1.04 var(--serif);letter-spacing:-.045em;margin:0;text-shadow:0 1px 24px #09181117}
.panorama-heading h3 em{font-weight:400}
.panorama-description{position:absolute;left:var(--gutter);bottom:clamp(155px,18svh,210px);max-width:455px;transform:translate3d(0,var(--copy-drift,0px),0);will-change:transform}
.panorama-description>p{font-size:18px;line-height:1.8;text-shadow:0 1px 12px #09181128}
.panorama-description>.text-link{margin-top:26px}
.panorama-index{display:none}

/* A single human moment, followed by an editorial row of assurances. */
.concierge-values{padding:clamp(110px,11vw,210px) 0 clamp(105px,10vw,190px);background:#fff;position:relative;z-index:4}
.values-opening{text-align:center;max-width:1150px;margin:0 auto clamp(65px,6vw,115px);padding:0 24px}
.values-opening>.eyebrow{margin-bottom:30px;font-size:10px;letter-spacing:.17em}
.values-opening h2{font:400 clamp(58px,5.5vw,108px)/1.09 var(--serif);letter-spacing:-.045em;margin:0}
.values-opening h2 em{font-weight:400}
.values-opening>.values-lead{font-size:18px;line-height:1.85;max-width:570px;margin:35px auto 0}
.concierge-panorama{margin:0 var(--gutter);clip-path:inset(0 var(--values-inset,2.8%) 0);will-change:clip-path}
.concierge-panorama>.image-window{aspect-ratio:2.05/1;max-height:850px}
.concierge-panorama img{object-position:50% 61%;will-change:auto;transform:none}
.concierge-panorama figcaption{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding-top:20px;line-height:1.8}
.concierge-panorama figcaption span:last-child{opacity:.6}
.values-assurances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6vw;max-width:1700px;margin:clamp(70px,6vw,115px) auto 0;padding:0 var(--gutter)}
.value-assurance{border-top:1px solid #20392c30;padding-top:24px}
.value-number{display:block;font-size:10px;letter-spacing:.13em;color:#7d714c;margin-bottom:34px}
.value-assurance h3{font:400 clamp(35px,2.65vw,52px)/1.16 var(--serif);letter-spacing:-.035em;margin:0 0 25px;min-height:2.32em}
.value-assurance h3 em{font-weight:400}
.value-assurance>p{font-size:18px;line-height:1.85;max-width:365px}
.values-invitation{text-align:center;margin-top:clamp(55px,5vw,95px)}
.values-invitation>.text-link{margin:0 auto}

@media(max-width:1200px) and (min-width:901px){
 .panorama-heading h3{font-size:64px}
 .panorama-description{max-width:410px}
 .values-assurances{gap:4vw}
 .value-assurance h3{font-size:35px}
}
@media(max-width:900px),(max-height:600px){
 .panorama-chapter{height:auto;min-height:0;margin:0;color:var(--forest);background:#fff;overflow:visible;padding:0 24px 80px}
 .panorama-visual{position:relative;inset:auto;z-index:auto;width:calc(100% + 48px);margin-left:-24px;aspect-ratio:16/9}
 .panorama-visual img{transform:none;object-position:50% 50%;will-change:auto}
 .panorama-shade{display:none}
 .panorama-heading{position:static;margin-top:34px;transform:none;will-change:auto}
 .panorama-heading>.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:22px}
 .panorama-heading h3{font-size:clamp(44px,8.8vw,66px);line-height:1.09;text-shadow:none}
 .panorama-description{position:static;max-width:580px;margin-top:26px;transform:none;will-change:auto}
 .panorama-description>p{font-size:18px;line-height:1.8;text-shadow:none}
 .panorama-description>.text-link{border-color:var(--forest)}
 .panorama-chapter:last-child{padding-bottom:30px}
 .concierge-values{padding:80px 0}
 .values-opening{margin-bottom:45px;max-width:680px}
 .values-opening h2{font-size:clamp(44px,7.8vw,70px)}
 .values-opening>.values-lead{margin-top:27px}
 .concierge-panorama{margin:0 24px;clip-path:none}
 .concierge-panorama>.image-window{aspect-ratio:4/3;max-height:none}
 .values-assurances{gap:28px;padding:0 24px;margin-top:60px}
 .value-assurance h3{font-size:32px;min-height:0}.value-number{margin-bottom:24px}
 .value-assurance>p{line-height:1.8}
 .values-invitation{margin-top:55px}
}
@media(max-width:650px){
 .values-opening{text-align:left}
 .values-opening>.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:25px}
 .values-opening h2{font-size:clamp(42px,10vw,58px)}
 .concierge-panorama{margin:0}
 .concierge-panorama figcaption{padding:17px 24px 0;display:block;font-size:8px}
 .concierge-panorama figcaption span{display:block}
 .values-assurances{display:block;margin-top:45px}
 .value-assurance{margin-bottom:38px;padding-top:22px;display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:20px}
 .value-number{grid-column:1;grid-row:1;margin:7px 0 0}
 .value-assurance h3{grid-column:2;grid-row:1;font-size:37px;margin-bottom:20px}
 .value-assurance h3 br{display:none}
 .value-assurance>p{grid-column:2;grid-row:2}
 .values-invitation{text-align:left;margin:45px 24px 0 70px}
}
@media(prefers-reduced-motion:reduce){
 .panorama-visual img,.panorama-heading,.panorama-description{transform:none!important;will-change:auto}
 .concierge-panorama{clip-path:none!important;will-change:auto}
}
