/* Lightweight first paint; the approved house-assembly component takes over as soon as its small module loads. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.world-loading{position:absolute;inset:0;z-index:30;display:grid;place-items:center;overflow:hidden;background:#f3cedf;color:var(--ink);opacity:1;visibility:visible;isolation:isolate}
.world-loading[hidden]{display:none}
.world-viewport[data-world-ready=true] .world-loading:not(.girlipop-loader){opacity:0;visibility:hidden;pointer-events:none}
.loading-stage{display:flex;flex-direction:column;align-items:center;width:min(94%,460px);padding-bottom:24px;text-align:center}
.loading-initial-house{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.loading-initial-brand{display:block;width:104px;height:auto;margin-top:-28px;position:relative}
.loading-status{margin:13px 0 0;color:#715365;font-size:11px;line-height:1.6;letter-spacing:.035em}
.world-viewport:not([data-world-ready=true]) .house-room-nav{visibility:hidden}
.world-canvas-host canvas{opacity:0}
.world-canvas-host.is-ready canvas{opacity:1}
/* The entire journey starts here; no negative offset from the removed type intro. */
.world-travel{margin-top:0}
.world-viewport{min-height:0}
.scene-fallback .world-viewport{background:#f3cedf}
.scene-fallback .world-canvas-host{opacity:0;pointer-events:none}
.scene-fallback .world-loading{inset:0 0 auto;height:370px;opacity:1;visibility:visible;pointer-events:none}
.scene-fallback .loading-stage{padding:75px 0 10px;width:min(90%,400px)}
.scene-fallback .loading-initial-house{display:none}
.scene-fallback .loading-initial-brand{margin:0 0 24px}
.loading-error-title{font:900 clamp(30px,5vw,48px)/1.1 Inter,Arial,sans-serif;letter-spacing:-.05em;margin:0}
.loading-error-title[hidden]{display:none}
.scene-fallback .loading-status{max-width:300px}
.scene-fallback .house-room-nav{display:none}
@media(prefers-reduced-motion:reduce){.world-canvas-host canvas{transition:none}}

/* The first paint uses the same framing as the movie and live camera. */
.loading-stage{position:absolute;inset:0;width:100%;height:100%;padding:0;display:block}
.loading-initial-house{position:absolute;left:calc(50% - 100% * var(--villa-opening-pan-x,0));top:calc(50% - 100% * var(--villa-opening-pan-y,0));translate:-50% -50%;width:min(calc(100vw * var(--villa-opening-scale,1.4)),calc(100svh * var(--villa-opening-scale,1.4)));aspect-ratio:1}
.loading-initial-brand{position:absolute;left:50%;bottom:47px;translate:-50% 0;width:104px;margin:0}
.loading-stage>.loading-status{position:absolute;bottom:17px;left:10%;width:80%;margin:0}
.scene-fallback .loading-stage{position:relative;height:auto;display:flex}
.scene-fallback .loading-initial-brand,.scene-fallback .loading-stage>.loading-status{position:static;translate:none}
