/* Inner pages are photographic chapters. The approved homepage remains independent. */
.immersive-page{background:#1d2521;color:#f5f2e9;--im-muted:#d4d7cc;--im-line:#ffffff38;--im-ease:cubic-bezier(.16,1,.3,1)}
.immersive-page .site-header.overlay{background:linear-gradient(#17231ed9,transparent);border-bottom-color:#ffffff20}
.immersive-page .site-header.overlay.scrolled,.immersive-page .site-header.overlay.menu-open{background:#1d2521}
.immersive-page main{overflow:clip}
.immersive-page .text-link{color:inherit}
.im-scene{position:relative;isolation:isolate;display:flex;align-items:center;min-height:86svh;overflow:hidden;background:#1d2521}
.im-picture,.im-shade{position:absolute;inset:0;z-index:-2;overflow:hidden}
.im-picture img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;transform:translateY(var(--scene-y,0px)) scale(1.06);transform-origin:center}
.im-shade{z-index:-1;background:linear-gradient(90deg,#102018b0 0%,#13211a52 46%,#1220190d 80%),linear-gradient(0deg,#101d19a3,transparent 45%,#15201b26)}
.im-content{width:100%;padding:100px var(--gutter);position:relative;z-index:1}
.im-opening{min-height:max(680px,100svh)}
.im-opening .im-content{padding-top:180px;padding-bottom:120px}
.im-kicker{font-size:.6875rem;letter-spacing:.16em;line-height:1.7;color:#f2f0e6;margin:0 0 30px}
.im-scene h1,.im-scene h2{font-size:clamp(3rem,5.3vw,5.75rem);font-weight:400;line-height:1.28;letter-spacing:.025em;margin:0;text-wrap:balance}
.im-opening h1{max-width:14em}
.im-opening .im-brand-title{font-family:var(--serif);font-size:clamp(5rem,11vw,11rem);letter-spacing:-.05em;line-height:1.1}
.im-sub{font-size:1.125rem;line-height:1.8;letter-spacing:.045em;margin-top:28px;max-width:30em}
.im-link{display:inline-flex;align-items:center;gap:48px;min-height:48px;font-size:.875rem;border-bottom:1px solid #f5f2e98c;padding:12px 0;margin-top:40px}
.im-link .ui-arrow{width:26px;height:26px;transition:transform .35s var(--im-ease)}
.im-link:hover .ui-arrow{transform:translate(4px,-4px)}
.im-scroll{position:absolute;bottom:32px;right:var(--gutter);font-size:.5625rem;letter-spacing:.18em;display:flex;align-items:center;gap:18px;color:#eceee3}
.im-scroll i{height:44px;width:1px;background:#eeeee080}
.im-intro,.im-rhythm{padding:52px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.im-intro h2,.im-rhythm h2{font-size:1.375rem;line-height:1.5;font-weight:400;margin-top:12px}
.im-intro-details{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.im-detail{max-width:640px;min-width:0;color:inherit;margin:0}
.im-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:32px;list-style:none;cursor:pointer;min-height:48px;border-bottom:1px solid var(--im-line);padding:10px 0;font-size:.875rem;color:inherit}
.im-detail>summary::-webkit-details-marker,.im-filmstrip>summary::-webkit-details-marker{display:none}
.im-detail>summary>span{font-size:1.125rem;transition:transform .3s var(--im-ease)}
.im-detail[open]>summary>span{transform:rotate(45deg)}
.im-detail-body{padding-top:24px;font-size:1rem;line-height:1.9;color:var(--im-muted);max-width:40em}
.im-detail-body>p+p{margin-top:16px}
.im-detail-body h3{font-size:1.125rem;line-height:1.5;color:#f5f2e9;font-weight:400;margin:24px 0 12px}
.im-detail-body h3:first-child{margin-top:0}
.im-detail-body .text-link{margin-top:24px;font-size:.875rem}
.im-detail-body .im-entity{font-size:.8125rem}
.im-detail-body dl{margin:20px 0 0}
.im-detail-body dl>div{display:grid;grid-template-columns:6em 1fr;gap:20px;padding:16px 0;border-top:1px solid #ffffff26;font-size:.875rem;line-height:1.85}
.im-detail-body dt{color:#f5f2e9}
.im-detail-body dd{margin:0}
.im-paths{display:grid;grid-template-columns:1fr 1fr}
.im-path{display:block;position:relative;overflow:hidden;min-height:78svh;isolation:isolate}
.im-path>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--im-ease);z-index:-2}
.im-path-shade{position:absolute;inset:0;background:linear-gradient(0deg,#12221bc2,transparent 70%);z-index:-1;transition:background .5s}
.im-path-copy{position:absolute;inset:auto 9% 10%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px}
.im-path-copy>span:first-child{grid-column:1/-1;font-size:.625rem;letter-spacing:.2em}
.im-path-copy h2{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:400;line-height:1.4}
.im-path-arrow .ui-arrow{width:44px;height:44px;transition:transform .5s var(--im-ease)}
@media(hover:hover) and (pointer:fine){.im-path:hover>img{transform:scale(1.04)}.im-path:hover .im-path-arrow .ui-arrow{transform:translate(6px,-6px)}}
.im-path:focus-visible{outline:2px solid var(--gold);outline-offset:-8px}
.im-values{min-height:94svh}
.im-values .im-content{max-width:880px}
.im-values .im-mark{width:40px;height:40px;object-fit:contain;margin-bottom:32px}
.im-values .im-detail{margin-top:36px;max-width:440px}
.im-scene:has(.im-detail[open]) .im-shade{background:linear-gradient(90deg,#132019ed,#132019b5 55%,#13201933)}
.im-scene .im-detail[open]{padding-bottom:20px}
/* Collection: photographs occupy the stage; controls stay at its edge. */
.immersive-page .hotel-tools{background:#1d2521;color:#f5f2e9;max-width:none;padding-block:22px;border-bottom:1px solid var(--im-line);gap:24px;scroll-margin-top:104px}
.immersive-page .hotel-filters button{color:#d4d7cc}
.immersive-page .hotel-filters button[aria-pressed=true]{color:#fffdf5;border-bottom-color:var(--gold)}
.immersive-page .hotel-picker>summary{color:#f5f2e9;border-color:#ffffff38}
.immersive-page .picker-panel{color:var(--ink)}
.immersive-page .im-hotel-collection{padding:0;max-width:none;margin:0}
.immersive-page .im-hotel-story{--hotel-image-height:clamp(480px,82svh,960px);position:relative;display:block;padding:0 0 48px;margin:0;border:0;scroll-margin-top:104px;background:#1d2521}
.immersive-page .im-hotel-story[hidden]{display:none}
.immersive-page .im-hotel-story .hotel-story-copy{display:block;position:absolute;z-index:3;top:calc(var(--hotel-image-height) - 158px);left:var(--gutter);right:var(--gutter);pointer-events:none;padding:0;max-width:calc(100% - var(--gutter)*2);color:#f5f2e9}
.im-hotel-index{font-size:.625rem;letter-spacing:.14em;line-height:1.6;margin-bottom:10px;color:#e2e4d8}
.immersive-page .im-hotel-story h2{font-size:clamp(1.75rem,3vw,3.25rem);line-height:1.4;margin:0;max-width:100%;color:inherit}
.immersive-page .im-hotel-story .hotel-location{font-size:.75rem;line-height:1.7;color:#e2e4d8;margin:10px 0 0}
.immersive-page .im-hotel-story .hotel-story-media{width:100%;min-width:0}
.immersive-page .im-hotel-story .gallery-stage{height:var(--hotel-image-height);aspect-ratio:auto;max-height:none;display:block;background:transparent;width:100%}
.immersive-page .im-hotel-story .gallery-open{height:100%;width:100%;padding:0;position:relative;display:block;background:transparent}
.immersive-page .im-hotel-story .gallery-main{width:100%;height:100%;object-fit:cover;object-position:center 55%;transform:none}
.immersive-page .im-hotel-story .gallery-open:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#101e19d9,transparent 46%)}
.immersive-page .im-hotel-story .zoom-hint{background:transparent;border:1px solid #ffffff66;bottom:40px;right:var(--gutter);padding:12px 20px;font-size:.75rem;color:#f5f2e9;z-index:2}
.immersive-page .im-hotel-story .zoom-hint .ui-arrow{width:26px;height:26px}
.immersive-page .im-hotel-story.has-portrait .gallery-main{object-fit:contain}
.immersive-page .im-hotel-story.has-portrait .gallery-open:after{background:none}
.immersive-page .im-hotel-story.has-portrait .hotel-story-copy{position:relative;top:auto;left:auto;right:auto;padding:28px var(--gutter);max-width:none}
.immersive-page .im-hotel-story .gallery-meta{margin:0;padding:14px var(--gutter);display:flex;align-items:center;gap:24px;color:#e2e4d8}
.immersive-page .im-hotel-story .gallery-caption{font-size:.75rem;line-height:1.6;flex:1;max-width:none;color:inherit}
.immersive-page .im-hotel-story .gallery-controls{margin-left:auto;gap:12px}
.immersive-page .im-hotel-story .gallery-count{font-size:.75rem;margin-right:12px;color:inherit}
.immersive-page .im-hotel-story .gallery-controls button{width:44px;height:44px;border-color:#ffffff38;color:#f5f2e9;background:transparent}
.immersive-page .im-hotel-story .gallery-controls button:hover{background:#ffffff12}
.im-filmstrip{margin-inline:var(--gutter)}
.im-filmstrip>summary{list-style:none;cursor:pointer;display:flex;gap:32px;align-items:center;justify-content:space-between;font-size:.75rem;min-height:44px;border-top:1px solid var(--im-line);width:100%}
.im-filmstrip[open]>summary>span{transform:rotate(45deg)}
.immersive-page .im-hotel-story .gallery-thumbnails{padding:8px 0 18px;gap:12px}
.immersive-page .im-hotel-story .gallery-thumb{flex-basis:calc((100% - 84px)/8);min-width:90px;background:transparent}
.immersive-page .im-hotel-story .hotel-info{margin:0 var(--gutter);max-width:none}
.immersive-page .im-hotel-story .hotel-info>summary{font-size:.75rem;border-bottom:0;border-top:1px solid var(--im-line);min-height:44px}
.immersive-page .next-page{padding-block:48px;border-top:1px solid var(--im-line);color:inherit}
.immersive-page .next-page>p{color:#d4d7cc;font-size:.75rem}
.immersive-page .next-page h2{font-size:clamp(1.5rem,2.5vw,2.5rem)}
/* Operations: three independently navigable scenes, with detail available on demand. */
.immersive-page .im-approach-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0 var(--gutter);margin:0;background:#1d2521;max-width:none;border:0}
.immersive-page .im-approach-nav>a{display:flex;align-items:center;gap:20px;padding:28px 28px 28px 0;font-size:.875rem;color:#f5f2e9;border:0}
.immersive-page .im-approach-nav>a>span:first-child{font-family:var(--serif);color:#c1a16b;font-size:.75rem}
.immersive-page .im-approach-nav>a>span:last-child{margin-left:auto}
.immersive-page .im-operating-groups{padding:0;margin:0;max-width:none}
.immersive-page .im-operating-groups .operating-group{display:flex;position:relative;min-height:94svh;padding:0;border:0;scroll-margin-top:104px}
.immersive-page .im-operating-groups .operating-group-heading{display:block;position:static}
.immersive-page .im-operating-groups .im-content{max-width:940px;padding-block:96px}
.immersive-page .im-operating-groups .group-number{display:block;font-family:var(--serif);font-size:1rem;color:#e1c595;margin:0 0 28px}
.immersive-page .im-operating-groups h2{font-size:clamp(3rem,5vw,5rem);line-height:1.25;color:#f5f2e9;margin:0}
.immersive-page .im-operating-groups .operating-group-heading>p{font-size:1rem;color:#e2e4d8;margin-top:24px;line-height:1.85}
.immersive-page .im-operating-groups .im-detail{margin-top:32px;max-width:540px}
.immersive-page .im-operating-groups .operating-capabilities{margin:0;padding-top:24px}
.immersive-page .im-operating-groups .operating-capabilities>article{padding:0;margin:0;border:0}
.immersive-page .im-operating-groups .operating-capabilities>article+article{margin-top:32px;padding-top:24px;border-top:1px solid var(--im-line)}
.immersive-page .im-operating-groups .operating-capabilities h3{font-size:1.25rem;margin:0 0 12px;color:#f5f2e9}
.immersive-page .im-operating-groups .operating-capabilities p{font-size:1rem;line-height:1.85;color:#d4d7cc}
.im-scene-note{position:absolute;right:var(--gutter);bottom:32px;font-size:.625rem;letter-spacing:.1em;color:#e2e4d8}
.immersive-page .site-footer{border-top:1px solid #ffffff20}
@media(max-width:900px){.im-opening{min-height:max(660px,100svh)}.im-picture img{transform:none}.im-intro,.im-rhythm{gap:28px;grid-template-columns:1fr}.im-intro-details{gap:28px}.im-path{min-height:64svh}.immersive-page .im-hotel-story{--hotel-image-height:clamp(430px,76svh,800px)}.immersive-page .im-hotel-story .hotel-story-copy{top:calc(var(--hotel-image-height) - 146px)}.im-content{padding-inline:max(var(--gutter),env(safe-area-inset-left))}.im-scene h1,.im-scene h2{font-size:clamp(2.5rem,6vw,4rem)}}
@media(max-width:700px){
 .im-opening{min-height:max(620px,100svh)}.im-opening .im-content{padding-top:150px;padding-bottom:116px}
 .im-kicker{font-size:.625rem;margin-bottom:24px;letter-spacing:.12em}
 .im-opening .im-brand-title{font-size:clamp(3.25rem,14.5vw,5.5rem)}
 .im-scene h1,.im-scene h2{font-size:clamp(2.25rem,10vw,3.5rem);line-height:1.35}
 .im-sub{font-size:.9375rem;letter-spacing:0;max-width:21em;margin-top:24px}
 .im-link{margin-top:30px;font-size:.8125rem;gap:32px}
 .im-scroll{bottom:26px;font-size:.5rem;gap:12px}.im-scroll i{height:32px}
 .im-intro,.im-rhythm{padding:30px var(--gutter);gap:20px}.im-intro h2,.im-rhythm h2{font-size:1.125rem;margin:0}
 .im-intro-details{grid-template-columns:1fr;gap:4px}.im-detail-body{font-size:1rem;line-height:1.85}
 .im-detail-body dl>div{grid-template-columns:1fr;gap:6px}.im-detail-body dl{margin-top:12px}
 .im-paths{grid-template-columns:1fr}.im-path{min-height:64svh}.im-path-copy{inset:auto var(--gutter) 44px}.im-path-copy h2{font-size:2rem}.im-path-arrow .ui-arrow{width:32px;height:32px}
 .im-values{min-height:84svh}.im-content{padding:64px var(--gutter)}.im-values .im-detail{max-width:none}
 .immersive-page .hotel-tools{padding-block:14px;gap:10px;scroll-margin-top:72px}
 .immersive-page .hotel-filters{gap:20px}.immersive-page .hotel-filters button{font-size:.8125rem}.immersive-page .hotel-filters button span{font-size:.625rem}
 .immersive-page .im-hotel-story{--hotel-image-height:clamp(390px,70svh,720px);padding-bottom:24px;scroll-margin-top:72px}
 .immersive-page .im-hotel-story .hotel-story-copy{top:calc(var(--hotel-image-height) - 132px)}
 .immersive-page .im-hotel-story h2{font-size:clamp(1.375rem,5.8vw,2rem);line-height:1.45}
 .immersive-page .im-hotel-story .hotel-location{font-size:.6875rem;margin-top:8px}
 .im-hotel-index{font-size:.5625rem;margin-bottom:8px}
 .immersive-page .im-hotel-story .gallery-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding:12px var(--gutter)}
 .immersive-page .im-hotel-story .gallery-caption{grid-column:1/-1;font-size:.6875rem}
 .immersive-page .im-hotel-story .gallery-expand{color:#f5f2e9;font-size:.75rem;min-height:44px}
 .immersive-page .im-hotel-story .gallery-controls{gap:6px}.immersive-page .im-hotel-story .gallery-controls button{border:0}
 .immersive-page .im-hotel-story .gallery-count{margin-right:6px;font-size:.6875rem}
 .immersive-page .im-hotel-story.has-portrait .hotel-story-copy{padding:24px var(--gutter)}
 .immersive-page .im-hotel-story .gallery-thumb{flex-basis:28%;min-width:76px}
 .immersive-page .im-approach-nav{grid-template-columns:1fr;padding-block:12px}
 .immersive-page .im-approach-nav>a{padding:12px 0;min-height:48px;border-bottom:1px solid #ffffff26;font-size:.8125rem}
 .immersive-page .im-approach-nav>a:last-child{border:0}
 .immersive-page .im-operating-groups .operating-group{min-height:84svh;scroll-margin-top:72px}
 .immersive-page .im-operating-groups .im-content{padding:64px var(--gutter) 80px}
 .immersive-page .im-operating-groups h2{font-size:clamp(2.5rem,11vw,3.5rem)}
 .immersive-page .im-operating-groups .group-number{font-size:.875rem;margin-bottom:22px}
 .immersive-page .im-operating-groups .operating-group-heading>p{font-size:.9375rem;margin-top:22px}
 .im-scene-note{font-size:.5625rem;bottom:22px}
 .im-scene .im-shade{background:linear-gradient(90deg,#112018ab,#11201833),linear-gradient(0deg,#112018ad,transparent 80%)}
 .immersive-page .next-page{padding-block:36px}
}
@media(max-height:500px) and (max-width:1000px){.im-opening{min-height:640px}.im-scene{min-height:600px}.im-path{min-height:500px}}
@media(prefers-reduced-motion:reduce){.im-picture img{transform:none!important}.im-link .ui-arrow,.im-path>img,.im-path-arrow .ui-arrow,.im-detail>summary>span{transition:none}.im-path:hover>img,.im-path:hover .im-path-arrow .ui-arrow{transform:none}}

/* On phones, preserve the complete hotel photograph; the quiet caption sits above it. */
.immersive-page .im-hotel-story .hotel-info p{font-size:1rem;line-height:1.85;color:var(--im-muted);padding:0}
@media(max-width:700px){
 .immersive-page .im-hotel-story .hotel-story-copy{display:block;position:relative;inset:auto;padding:26px var(--gutter) 22px;max-width:none}
 .immersive-page .im-hotel-story .gallery-stage{height:auto;aspect-ratio:var(--photo-ratio);max-height:74svh;position:relative}
 .immersive-page .im-hotel-story .gallery-open{position:absolute;inset:0}
 .immersive-page .im-hotel-story .gallery-main{object-fit:contain}
 .immersive-page .im-hotel-story .gallery-open:after{display:none}
 .immersive-page .im-hotel-story .is-portrait .gallery-stage{height:70svh;aspect-ratio:auto}
 .immersive-page .im-hotel-story .hotel-story-media{margin-bottom:0}
}
@media(max-width:700px){.im-scene:has(.im-detail[open]) .im-shade{background:#132019e8}}
.im-opening h1,.immersive-page .im-hotel-story h2{overflow-wrap:anywhere}
