/* The tour alone gets a dedicated text rail; the approved hero is untouched. */
.tour-story{position:absolute;inset:0;z-index:5;pointer-events:none;color:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tour-story[hidden],.tour-story-rail[hidden]{display:none!important}
.tour-story-diagram{position:absolute;overflow:visible}
.tour-story-diagram text{font-size:48px;font-weight:400;letter-spacing:-.025em;dominant-baseline:hanging;fill:currentColor;paint-order:stroke;stroke:var(--ink);stroke-opacity:.78;stroke-width:3.5px;stroke-linejoin:round}
.tour-story-leader{stroke:currentColor;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;filter:drop-shadow(0 1px 2px var(--ink))}
.tour-story-origin{fill:currentColor}
.tour-story-ghost{stroke:none!important}
.tour-story-rail{position:absolute;margin:0}
.tour-story-words{margin:0;max-width:52em;font-size:clamp(18px,1.5vw,22px);font-weight:400;line-height:1.5;letter-spacing:-.01em;text-wrap:pretty}
.tour-story-accessible{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.native-residence .residence-static .static-story-labels{font-size:16px;line-height:1.6;max-width:44em}
body:has(#rooms[open]) .tour-story,body:has(#site-menu[open]) .tour-story{visibility:hidden}
.tour-story-rail-layout .tour-story-diagram text{font-size:21px;letter-spacing:-.02em;stroke:none}
.tour-story-rail-layout .tour-story-leader{stroke-width:1;filter:none}
body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) #main-film,
body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) #scene-poster{top:86px;bottom:auto;height:calc(100% - 232px);object-fit:contain;object-position:50% 50%}
body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) .residence-copy{display:none!important}
@media(max-width:700px){
 body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) #main-film,
 body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) #scene-poster{top:88px;bottom:auto;height:calc(100% - 176px);object-position:50% 0}
 .tour-story-diagram text{font-size:21px;letter-spacing:-.02em;stroke:none}
 .tour-story-leader{stroke-width:1;filter:none}
 .tour-story-words{font-size:20px;line-height:1.5;max-width:none}
}
@media(max-width:700px) and (orientation:landscape){
 body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) #main-film,
 body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) #scene-poster{top:68px;height:calc(100% - 190px);object-position:50% 0}
 .tour-story-words{font-size:17px;line-height:1.35}
}
@media(max-height:549px) and (orientation:landscape){
 body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) #main-film,
 body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) #scene-poster{left:20px;right:auto;width:calc(100% - 310px);top:76px;height:calc(100% - 120px);object-position:50% 50%}
 .tour-story-words{font-size:17px;line-height:1.35}
}
@media(max-width:360px),(max-width:700px) and (max-height:700px){.tour-story-words{font-size:18px;line-height:1.45}}
@media(prefers-reduced-motion:reduce){.tour-story-text{transform:none!important}.tour-story-ghost{display:none}.tour-story-leader{stroke-dasharray:none!important}}
/* A tour's text rail must never expose the portrait landing beneath the film. */
body.entered:not(.entry-reveal).native-residence .residence:not(.at-hero) #hero-film{opacity:0;visibility:hidden;transition:none}
body.entered.main-ready:not(.entry-reveal).native-residence .residence:not(.at-hero) #scene-poster{visibility:hidden}

body.at-shore .tour-story{visibility:hidden}
/* The loaded ending loop relinquishes the stage when Home or replay owns it. */
.native-residence .residence:not(.coast-loop) #surf-film,.native-residence .residence.at-hero #surf-film{opacity:0;visibility:hidden}
/* The reduced-motion gate owns the words; the still residence remains behind it. */
body.motion-off.native-residence:not(.entered) .residence-static article>*{visibility:hidden}
