.house-tour{height:100svh;min-height:780px;max-height:none;background:#101a18;color:#fff;isolation:isolate}
.house-tour .hero-media{transform:none}.house-tour .hero-media img{position:absolute;inset:0;object-fit:cover;object-position:50% 50%;filter:none;transform:none;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .9s}
#tour-transition{opacity:0;z-index:1;pointer-events:none}.house-tour.is-travelling #hero-image{transform:scale(1.065)}.house-tour.is-travelling #tour-transition{opacity:1;transform:scale(1.025)}
.tour-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,#07130ff2 0%,#0a1514b3 16%,transparent 45%),linear-gradient(90deg,#07130f91,transparent 42%),linear-gradient(180deg,#0b151955,transparent 25%)}
.tour-location{position:absolute;z-index:3;top:135px;left:4vw;display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.12em;background:#102018ba;padding:9px 14px;max-width:70%}.location-dot{width:6px;height:6px;border-radius:100%;background:#dec59d}.location-divider{opacity:.5}.tour-map-toggle{position:absolute;right:4vw;top:135px;z-index:5;display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 16px;background:#102018e8;border:1px solid #ffffff55;border-radius:30px;font-size:12px}.tour-map-toggle svg{height:20px;width:20px}.tour-map-toggle:hover{background:#294235}.tour-map[hidden]{display:none}.tour-map{position:absolute;right:4vw;top:196px;z-index:6;background:#15271ff5;border:1px solid #7f8d7966;width:300px;padding:25px;color:#f6f1e5;box-shadow:0 15px 35px #0005}.tour-map>p{font-family:var(--serif);font-size:27px;line-height:1.2;margin-bottom:20px;letter-spacing:-.02em}.tour-map nav{border-top:1px solid #536153}.tour-map nav button{display:flex;align-items:center;width:100%;text-align:left;min-height:48px;gap:18px;border-bottom:1px solid #536153;font-size:12px}.tour-map nav button>span{font-size:14px}.tour-map nav button[aria-current=step]{color:#ecd5ae}.tour-map nav button[aria-current=step]>span:after{content:' •';color:#dfc196}.tour-map-note{display:block;font-size:12px;color:#d1d8cb;line-height:1.6;margin-top:18px}
.tour-copy{position:absolute;z-index:3;left:4vw;bottom:215px;max-width:430px;pointer-events:none}.tour-copy h1{font-size:clamp(50px,5.6vw,86px);line-height:.97;letter-spacing:-.03em}.tour-copy p{font-size:14px;line-height:1.8;margin-top:20px;max-width:345px;color:#f2f1e7;text-shadow:0 2px 5px #0a1613}.tour-copy.is-updating{opacity:0;transform:translateY(8px)}.tour-copy{transition:opacity .35s,transform .6s}
.tour-hotspots{position:absolute;inset:0;z-index:4;pointer-events:none}.tour-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:auto;padding:8px;max-width:220px}.hotspot-circle{width:57px;height:57px;border-radius:50%;border:1px solid #fff9;background:#14261dbf;display:grid;place-items:center;box-shadow:0 5px 20px #0003;transition:background .3s,transform .3s}.hotspot-circle svg{height:24px;width:24px}.hotspot-label{background:#102117f0;border:1px solid #8c99816b;padding:7px 13px;border-radius:25px;font-size:12px;white-space:nowrap;line-height:1.5;color:#fff}.tour-hotspot:hover .hotspot-circle,.tour-hotspot:focus-visible .hotspot-circle{background:#405540;transform:scale(1.1)}.door-hotspot .hotspot-circle{height:68px;width:68px}.door-hotspot .hotspot-circle svg{height:30px;width:30px}.house-tour.is-travelling .tour-hotspots{opacity:0;pointer-events:none}.house-tour.is-travelling .tour-hotspot{pointer-events:none}
.tour-toolbar{position:absolute;left:4vw;right:4vw;bottom:80px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:58px}.tour-step-controls{display:flex;gap:18px;align-items:center;min-width:285px}.tour-step-controls>button{width:48px;height:48px;border:1px solid #d1d9c48c;border-radius:50%;display:grid;place-items:center;background:#13241dbd}.tour-step-controls>button svg{width:22px;height:22px}.tour-step-controls>button:hover:not(:disabled){background:#344c3a}.tour-step-controls>button:disabled{opacity:.3;cursor:default}.tour-step-controls>span{font-size:14px;min-width:155px;text-align:center}.tour-time[hidden]{display:none}.tour-time{display:flex;background:#14251de6;padding:4px;border:1px solid #d1d9c46b;border-radius:50px}.tour-time button{min-height:44px;padding:9px 20px;border-radius:40px;font-size:12px}.tour-time button[aria-pressed=true]{background:#eee9df;color:#24382a}.tour-restart{font-size:12px;min-height:44px;border-bottom:1px solid #8c9981;padding:8px 0}.tour-restart:hover{color:#e6cda3}.tour-route{position:absolute;left:4vw;right:4vw;bottom:55px;display:flex;gap:7px;z-index:3}.tour-route>span{height:2px;flex:1;background:#f2f2dc35;transition:background .6s}.tour-route>span.visited{background:#bcbaa270}.tour-route>span.active{background:#decba9}.tour-footnote{position:absolute;left:4vw;right:4vw;bottom:16px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:#e2e8da}.tour-footnote a{display:flex;gap:12px;align-items:center;min-height:32px}.tour-footnote a svg{height:16px;width:16px}.tour-status{position:absolute;z-index:8;top:50%;left:50%;transform:translate(-50%,-50%);background:#10251cf0;max-width:85%;padding:15px 20px;font-size:14px;text-align:center}.tour-status:empty{display:none}.house-tour.is-travelling{cursor:progress}
@media(max-width:950px){.tour-copy{max-width:320px}.tour-copy h1{font-size:65px}.tour-time button{padding:9px 14px}.tour-step-controls{min-width:250px;gap:10px}.tour-step-controls>span{min-width:130px}.tour-hotspot{left:clamp(24%,var(--x),84%)}.tour-location{max-width:60%}}
@media(max-width:650px){.house-tour{height:100svh;min-height:810px}.house-tour .hero-media img{object-position:50% center}.nav .nav-cta{display:none}.nav .menu-toggle{margin-left:auto}.tour-location{left:6vw;top:108px;max-width:65%;font-size:12px;gap:8px;padding:8px 9px;letter-spacing:.06em}.tour-map-toggle{right:6vw;top:108px;min-height:40px;padding:9px}.tour-map-toggle span{display:none}.tour-map-toggle svg{width:20px;height:20px}.tour-map{right:6vw;top:160px;width:min(300px,88vw);padding:20px}.tour-copy{left:6vw;right:6vw;bottom:244px;max-width:none}.tour-copy h1{font-size:54px;max-width:295px}.tour-copy p{font-size:14px;line-height:1.65;margin-top:14px;max-width:290px}.tour-hotspot{left:clamp(22%,var(--x),79%);top:clamp(25%,var(--y),52%);max-width:175px}.hotspot-circle{width:48px;height:48px}.hotspot-label{font-size:12px;padding:6px 9px;max-width:175px;white-space:normal;text-align:center}.door-hotspot .hotspot-circle{width:59px;height:59px}.door-hotspot{top:40%}.tour-toolbar{left:6vw;right:6vw;bottom:86px;flex-wrap:wrap;gap:13px;justify-content:center}.tour-step-controls{width:100%;justify-content:space-between;min-width:0;gap:12px}.tour-step-controls>span{min-width:0;flex:1;font-size:14px}.tour-step-controls>button{height:46px;width:46px}.tour-restart{margin-left:auto;font-size:12px}.tour-time{margin-right:auto}.tour-time button{min-height:40px;padding:7px 12px}.tour-route{left:6vw;right:6vw;bottom:66px}.tour-footnote{left:6vw;right:6vw;bottom:13px;display:block;font-size:12px;line-height:1.5}.tour-footnote a{font-size:12px;position:absolute;right:0;bottom:0;gap:6px}.tour-footnote>span{display:block;max-width:170px}.tour-shade{background:linear-gradient(0deg,#081711 0%,#081711b8 24%,transparent 60%),linear-gradient(180deg,#0c161a44,transparent 35%)}.tour-status{font-size:13px}.tour-copy h1{max-width:290px}}
@media(prefers-reduced-motion:reduce){.house-tour .hero-media img,.tour-copy,.tour-route>span,.hotspot-circle{transition:none!important}.house-tour.is-travelling #hero-image,.house-tour.is-travelling #tour-transition{transform:none}.house-tour .hero-media img{will-change:auto}}

.closing>img{filter:brightness(.9) saturate(.9)}

/* Camera passage: the destination sits behind a growing architectural opening. */
#tour-portal{position:absolute;inset:0;z-index:1;overflow:hidden;opacity:0;pointer-events:none;transform-origin:50% 50%;background:#101a18}
.house-tour .hero-media #tour-transition{opacity:1;transform:none;transform-origin:50% 50%;transition:none}
.house-tour .hero-media #hero-image{transition:none}
.house-tour.is-walking .tour-hotspots{opacity:0;pointer-events:none}
.house-tour.is-walking .tour-hotspot{pointer-events:none}
.house-tour.is-walking .tour-copy{opacity:0;transform:translateY(8px)}
.house-tour.is-walking .tour-toolbar,.house-tour.is-walking .tour-map-toggle{opacity:0;pointer-events:none}
.tour-toolbar,.tour-map-toggle{transition:opacity .25s}
.house-tour.is-walking .tour-shade{opacity:.32}
.tour-shade{transition:opacity .5s}
.house-tour.is-walking{cursor:progress}
@media(prefers-reduced-motion:reduce){.house-tour.is-walking .tour-shade{opacity:1}.tour-toolbar,.tour-map-toggle,.tour-shade{transition:none}}

/* The rendered story is the primary experience. 3D remains an explicit choice. */
.tour-tools{position:absolute;z-index:7;right:4vw;top:135px;display:flex;gap:9px;align-items:center}.tour-tools .tour-map-toggle{position:static}.tour-mode-link,.tour-focus-toggle{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #ffffff55;border-radius:30px;background:#102018e8;color:#fff;min-height:44px;padding:10px 16px;font-size:12px}.tour-mode-link:hover,.tour-focus-toggle:hover{background:#294235}.tour-focus-toggle svg{height:18px;width:18px}.tour-focus-toggle[aria-pressed=true]{background:#eee7d7;color:#17291d}.tour-tools :focus-visible,.tour-route button:focus-visible{outline:2px solid #f3d8a5;outline-offset:4px}
.tour-route{bottom:40px;height:40px;z-index:5}.tour-route>button{position:relative;flex:1;min-width:0;height:40px;cursor:pointer}.tour-route>button:after{content:'';position:absolute;left:0;right:0;top:19px;height:2px;background:#f2f2dc55;transition:background .3s,transform .3s}.tour-route>button.visited:after{background:#bcbaa299}.tour-route>button.active:after,.tour-route>button:hover:after{background:#decba9;transform:scaleY(2)}.tour-route>button:disabled{cursor:progress}.house-tour.is-walking .tour-route{pointer-events:none;opacity:.5}
.house-tour .hero-media #hero-image{transform:translate3d(var(--look-x,0px),var(--look-y,0px),0) scale(var(--look-scale,1));transition:transform .7s cubic-bezier(.2,.7,.2,1)}.house-tour.is-immersed{--look-scale:1.08}.house-tour.is-immersed .tour-copy,.house-tour.is-immersed .tour-hotspots{opacity:0;visibility:hidden;pointer-events:none}.house-tour.is-immersed .tour-shade{opacity:.4}.house-tour.is-immersed .hero-media{cursor:grab;touch-action:pan-y}.house-tour.is-looking .hero-media{cursor:grabbing}.house-tour.is-looking .hero-media #hero-image{transition:none}.tour-look-hint{position:absolute;bottom:155px;left:50%;transform:translateX(-50%);z-index:5;font-size:12px;background:#102018e8;border:1px solid #ffffff33;border-radius:25px;padding:9px 16px;white-space:nowrap;pointer-events:none}.tour-look-hint[hidden]{display:none}.tour-hotspots{transition:opacity .3s}.tour-copy{transition:opacity .35s,transform .6s,visibility .35s}.house-tour:focus{outline:none}.house-tour:focus-visible{outline:2px solid #d9c7a7;outline-offset:-3px}
@media(max-width:950px){.tour-tools{gap:7px}.tour-focus-toggle>span{display:none}.tour-focus-toggle{width:44px;padding:10px}}
@media(max-width:650px){.tour-tools{top:160px;right:6vw;gap:8px}.tour-tools .tour-map-toggle{min-height:44px;width:44px;padding:10px}.tour-mode-link{padding:10px 13px}.tour-map{top:215px}.tour-location{max-width:88%}.tour-route{bottom:47px}.tour-look-hint{bottom:190px;font-size:12px;max-width:88%;white-space:normal;text-align:center}.house-tour.is-immersed .tour-toolbar{bottom:86px}.tour-focus-toggle>span{display:none}.tour-focus-toggle{width:44px;padding:10px}.tour-mode-link,.tour-focus-toggle{font-size:12px}}
@media(prefers-reduced-motion:reduce){.house-tour .hero-media #hero-image,.tour-route>button:after,.tour-hotspots{transition:none!important}.house-tour.is-immersed{--look-scale:1}.tour-look-hint{display:none}}
@media(max-width:650px){.tour-hotspot{width:160px;max-width:160px;left:clamp(25%,var(--x),75%)}.hotspot-label{max-width:158px;width:max-content}.tour-hotspot .hotspot-label{white-space:normal}.tour-hotspot.door-hotspot{width:175px;max-width:175px}}
/* Walking passages keep the photographs, with subtle camera steps and foreground thresholds. */
.house-tour.is-walking .tour-tools{opacity:0;pointer-events:none}.tour-tools{transition:opacity .3s}.house-tour.is-walking .tour-location{opacity:.55}.tour-location{transition:opacity .3s}.house-tour.is-walking .tour-look-hint{display:none}.house-tour.is-walking .hero-media #hero-image{transition:none}.house-tour.is-walking .tour-shade{opacity:.26}
@media(prefers-reduced-motion:reduce){.tour-tools,.tour-location{transition:none}}
.house-tour.is-walking .tour-hotspots{visibility:hidden}
@media(max-width:650px){.house-tour[data-scene="suite-inner"] .tour-hotspot:nth-child(n+3){top:30%}}

/* Stable exposure and quiet controls let the camera move without an unrelated lighting pulse. */
.house-tour.is-walking .tour-shade{opacity:1}
.house-tour.is-immersed.is-walking .tour-shade{opacity:.4}
.house-tour.is-walking .tour-copy,.tour-copy.is-updating{transform:none}
.tour-copy{transition:opacity .24s,visibility .24s}
.house-tour.is-walking .tour-location{opacity:1}
#tour-portal{background:transparent}
#tour-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;display:none;background:#101a18;pointer-events:none}
#tour-video.is-active{display:block}

.tour-outdoor-nav{position:absolute;z-index:5;left:4vw;right:4vw;bottom:151px;display:flex;gap:7px;justify-content:flex-end;transition:opacity .24s}.tour-outdoor-nav[hidden]{display:none}.tour-outdoor-nav button{min-height:44px;padding:9px 15px;border:1px solid #ffffff70;border-radius:28px;background:#102018ed;color:#fff;font-size:12px}.tour-outdoor-nav button[aria-current=page]{background:#eee7d7;color:#17291d}.tour-outdoor-nav button:hover{border-color:#ead5b1}.house-tour.is-walking .tour-outdoor-nav{opacity:0;pointer-events:none}.house-tour.is-walking .tour-outdoor-nav button{pointer-events:none}
@media(max-width:650px){.tour-outdoor-nav{left:6vw;right:6vw;bottom:192px;justify-content:space-between;gap:4px}.tour-outdoor-nav button{font-size:11px;padding:8px 9px;flex:1}.house-tour:has(.tour-outdoor-nav:not([hidden])) .tour-copy{bottom:270px}.house-tour:has(.tour-outdoor-nav:not([hidden])) .tour-look-hint{bottom:248px}}
@media(prefers-reduced-motion:reduce){.tour-outdoor-nav{transition:none}}

@media(max-width:650px){.house-tour:has(.tour-outdoor-nav:not([hidden])) .tour-copy h1{font-size:42px}.house-tour:has(.tour-outdoor-nav:not([hidden])) .tour-copy p{font-size:13px;line-height:1.55}.house-tour:has(.tour-outdoor-nav:not([hidden])) .tour-hotspots{display:none}.tour-outdoor-nav button{min-width:0;padding:8px 5px;line-height:1.3}}

/* Compact wayfinding: one quiet control per destination instead of a circle plus a second pill. */
.tour-hotspot{flex-direction:row;gap:7px;width:max-content;max-width:210px;padding:5px 12px 5px 5px;min-height:40px;border:1px solid #ffffff3d;border-radius:24px;background:#11231bc9;box-shadow:0 2px 10px #00000012}
.hotspot-circle,.door-hotspot .hotspot-circle{flex:0 0 28px;width:28px;height:28px;border:1px solid #ffffff42;background:transparent;box-shadow:none}
.hotspot-circle svg,.door-hotspot .hotspot-circle svg{width:16px;height:16px}
.hotspot-label{background:none;border:0;border-radius:0;padding:0;font-size:12px;line-height:1.35;white-space:normal;text-align:left;max-width:150px}
.tour-hotspot:hover,.tour-hotspot:focus-visible{background:#1e382be8;border-color:#e8d9b899}
.tour-hotspot:hover .hotspot-circle,.tour-hotspot:focus-visible .hotspot-circle{background:#ffffff12;transform:translateX(1px)}
.tour-tools{gap:6px}
.tour-mode-link,.tour-focus-toggle,.tour-tools .tour-map-toggle{min-height:36px;padding:7px 11px;font-size:12px;gap:7px;border-color:#ffffff3d;background:#102018cf;border-radius:20px}
.tour-focus-toggle{width:36px;min-width:36px;padding:8px}.tour-focus-toggle>span{display:none}
.tour-focus-toggle svg,.tour-tools .tour-map-toggle svg{width:16px;height:16px}
.tour-location{font-size:11px;padding:7px 10px;gap:9px;letter-spacing:.09em;background:#102018b8}
.tour-step-controls>button{width:38px;height:38px}.tour-step-controls>button svg{width:18px;height:18px}
.tour-outdoor-nav button{min-height:36px;padding:7px 12px;border-color:#ffffff45;background:#102018cf}
@media(min-width:651px){.nav-cta{padding:8px 16px;min-width:96px;gap:22px}}
@media(max-width:650px){
 .tour-hotspot,.tour-hotspot.door-hotspot{width:max-content;max-width:152px;min-height:44px;padding:5px 9px 5px 5px;gap:6px}
 .hotspot-circle,.door-hotspot .hotspot-circle{flex-basis:26px;width:26px;height:26px}
 .hotspot-label,.tour-hotspot .hotspot-label{width:auto;max-width:104px;font-size:12px}
 .tour-tools .tour-map-toggle,.tour-focus-toggle{width:40px;min-width:40px;padding:10px}
 .tour-mode-link,.tour-focus-toggle,.tour-tools .tour-map-toggle{min-height:44px}
 .tour-tools{gap:5px}
 .tour-step-controls>button{width:44px;height:44px}
 .tour-outdoor-nav button{min-height:44px;padding:7px 5px}
 .house-tour[data-scene="suite-inner"] .tour-hotspot:nth-child(1){left:27%}
 .house-tour[data-scene="suite-inner"] .tour-hotspot:nth-child(2){left:73%}
}
@media(pointer:coarse){.tour-hotspot,.tour-mode-link,.tour-focus-toggle,.tour-tools .tour-map-toggle,.tour-outdoor-nav button{min-height:44px}.tour-focus-toggle{min-width:44px}.tour-step-controls>button{width:44px;height:44px}}

/* Native scroll arrival: the image stays pinned until the visitor reaches the living room. */
.arrival-scroll{height:560svh;position:relative}
.arrival-scroll>.house-tour{position:sticky;top:0;height:100svh;min-height:0}
.arrival-instruction{position:absolute;z-index:6;left:50%;bottom:112px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 17px 18px;border:1px solid #ffffff40;border-radius:10px;background:#102018e6;color:#fff;font-size:12px;white-space:nowrap;pointer-events:none}
.arrival-instruction[hidden]{display:none}
.arrival-wheel{width:17px;height:25px;border:1px solid #ffffffb3;border-radius:9px;position:relative}.arrival-wheel:after{content:'';position:absolute;left:7px;top:5px;width:1px;height:6px;background:#e9d8b5}
.arrival-count{font-variant-numeric:tabular-nums;font-size:11px;color:#e9d8b5;margin-left:5px}
.arrival-track{position:absolute;left:17px;right:17px;bottom:8px;height:1px;background:#ffffff35;overflow:hidden}.arrival-track>span{display:block;height:100%;background:#ead2a5;transform-origin:left;transform:scaleX(0)}
.is-arriving .tour-hotspots,.is-arriving .tour-tools,.is-arriving .tour-route,.is-arriving .tour-step-controls,.is-arriving .tour-time{visibility:hidden!important;pointer-events:none!important}
.is-arriving .tour-restart{display:none}.is-arriving.arrival-moved .tour-restart{display:block}
.house-tour.is-walking .tour-toolbar{opacity:1;pointer-events:none}.house-tour.is-walking .tour-step-controls,.house-tour.is-walking .tour-time{opacity:0}.house-tour.is-walking .tour-restart{pointer-events:auto}
@media(max-width:650px){.arrival-instruction{bottom:140px;padding:10px 12px 18px;gap:9px;font-size:12px;max-width:90vw}.arrival-wheel{display:none}.is-arriving .tour-copy{bottom:232px}.arrival-scroll>.house-tour{min-height:0}.arrival-track{left:12px;right:12px}}

.arrival-scroll,.arrival-scroll>.house-tour{overflow-anchor:none}
/* All supplied room films are scrubbed on the same native-scroll stage. */
.journey-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:0;pointer-events:none;background:transparent}
.is-arriving .tour-outdoor-nav,.is-arriving .tour-step-controls{display:none!important}
.is-arriving .tour-copy{pointer-events:none}
.is-arriving .arrival-instruction{max-width:90vw;white-space:normal;text-align:center}
.is-arriving .tour-copy{display:none}
