@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(../assets/fonts/schibsted-grotesk-var-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(../assets/fonts/schibsted-grotesk-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:300 700;font-display:swap;src:url(../assets/fonts/inter-tight-var-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:300 700;font-display:swap;src:url(../assets/fonts/inter-tight-var-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:300 700;font-display:swap;src:url(../assets/fonts/inter-tight-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #07080a;--bg2: #0e0f12;--bg3: #141518;--border: rgba(255, 255, 255, .07);--border2: rgba(255, 255, 255, .12);--text: #ffffff;--text2: rgba(255, 255, 255, .55);--text3: rgba(255, 255, 255, .28);--teal: #3a8f85;--teal-l: #4fb3a8;--teal-dim: rgba(58, 143, 133, .15);--green-deep: #235650;--mint: #a1d2cc;--paper: #fafaf8;--ink: #111512;--font-display: "Schibsted Grotesk", "Inter Tight", ui-sans-serif, system-ui, sans-serif;--font-body: "Inter Tight", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--glass: rgba(14, 15, 18, .74);--glass-strong: rgba(14, 15, 18, .93);--shadow: 0 24px 64px rgba(0, 0, 0, .36);--ease: cubic-bezier(.2, .8, .2, 1);--gutter: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input{font:inherit}button{color:inherit}:focus-visible{outline:2px solid var(--teal-l);outline-offset:2px}#app{position:fixed;inset:0;isolation:isolate;background:var(--bg)}#panoCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;user-select:none;background:var(--bg)}#panoCanvas:active{cursor:grabbing}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}svg.icon-fill{fill:currentColor;stroke:none}.eyebrow,.project-title,.scene-index-label,.datum-label,.panel-help,.loading-text,.loading-credit,.welcome-kicker,.welcome-product,.view-hint,.tour-progress,.drawer-footer-note,.finish-status,.media-chip,.welcome-card figcaption,.stat-label,.film-meta,.film-duration,.debug-panel{font-family:var(--font-mono);font-weight:400}.eyebrow{margin-bottom:8px;color:var(--teal-l);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.glass-panel{background:var(--glass);border:1px solid var(--border2);box-shadow:var(--shadow);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%)}.dv-logo{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.dv-mark{flex:0 0 auto;display:inline-flex;gap:3px;transform:skew(-14deg)}.dv-mark i{display:block;width:5px;height:17px;border-radius:1px;background:var(--teal)}.dv-mark i:nth-child(2){background:var(--paper)}.dv-mark i:nth-child(3){height:13px}.dv-wordmark{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.icon-button,.control-button,.nav-button{appearance:none;border:0;background:transparent;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.icon-button,.control-button{display:inline-grid;place-items:center}.icon-button svg,.control-button svg,.nav-button svg{width:20px;height:20px}.icon-button:active,.control-button:active,.nav-button:active{transform:scale(.95)}.close-button{flex:0 0 auto;width:40px;height:40px;border-radius:50%;color:var(--text2);box-shadow:inset 0 0 0 1px var(--border2)}.close-button:hover{color:var(--text);background:#ffffff12}.close-button svg{width:18px;height:18px}.btn{appearance:none;border:0;display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:999px;cursor:pointer;font-size:15px;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;transition:transform .18s var(--ease),background .18s ease,color .18s ease,box-shadow .18s ease}.btn svg{width:17px;height:17px;transition:transform .18s var(--ease)}.btn:hover{transform:translateY(-1px)}.btn:hover svg:last-child:not(.icon-fill){transform:translate(2px)}.btn-paper{color:var(--green-deep);background:var(--paper)}.btn-paper:hover{background:#fff}.btn-ghost{color:#fff;background:transparent;box-shadow:inset 0 0 0 1px #fff6}.btn-ghost:hover{background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffffa6}.link-button{appearance:none;display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--teal-l);cursor:pointer;font-size:13.5px;font-weight:500;transition:color .16s ease}.link-button svg{width:15px;height:15px;transition:transform .18s var(--ease)}.link-button:hover{color:var(--mint)}.link-button:hover svg{transform:translate(3px)}.topbar{position:absolute;z-index:30;top:calc(var(--gutter) + var(--safe-top));left:calc(var(--gutter) + var(--safe-left));right:calc(var(--gutter) + var(--safe-right));height:60px;display:flex;align-items:center;gap:16px;padding:0 9px 0 24px;border-radius:999px}.brand-block{min-width:0;flex:1;display:flex;align-items:center;gap:11px}.brand-name{font-size:14px;font-weight:600;letter-spacing:.08em;white-space:nowrap}.brand-separator{flex:0 0 auto;width:1px;height:26px;margin:0 5px;background:var(--border2)}.brand-titles{min-width:0}.project-title{color:var(--text2);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.scene-title{max-width:min(44vw,520px);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500}.topbar-actions{flex:0 0 auto;display:flex;align-items:center;gap:2px}.nav-button{height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border-radius:999px;color:#ffffffad;font-size:13px;white-space:nowrap}.nav-button svg{width:18px;height:18px}.nav-button:hover{color:var(--text);background:#ffffff12}.nav-icon{width:42px;padding:0;justify-content:center}.nav-cta{margin-left:6px;padding:0 20px 0 16px;color:#fff;background:var(--teal);font-weight:500}.nav-cta svg{width:15px;height:15px}.nav-cta:hover{background:var(--teal-l)}.scene-card{position:absolute;z-index:25;left:calc(var(--gutter) + var(--safe-left));bottom:calc(var(--gutter) + var(--safe-bottom));width:min(384px,calc(100vw - 36px));padding:18px 22px;border-radius:20px}.scene-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.scene-index-label{color:var(--text2);font-size:11px;letter-spacing:.08em}.scene-index-label b{color:var(--teal-l);font-weight:500}.scene-card h1{margin:8px 0 6px;font-family:var(--font-display);font-size:26px;font-weight:500;line-height:1.12;letter-spacing:-.022em}.scene-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--text2);font-size:13.5px;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}.scene-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border2)}.datum-group{display:contents}.datum{min-width:0;display:grid;align-content:start;gap:5px}.datum-label{color:var(--text2);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.datum-value{font-size:13.5px;font-weight:500;line-height:1.35}.scene-card-actions{display:flex;gap:18px}.scene-card-actions .link-button{font-size:12.5px}.scene-card-actions .link-button svg{width:13px;height:13px}.tour-controls{position:absolute;z-index:28;left:50%;bottom:calc(var(--gutter) + var(--safe-bottom));transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:6px;border-radius:999px}.control-button{width:44px;height:44px;border-radius:50%;color:var(--text)}.control-button:hover{background:#ffffff14}.control-divider{width:1px;height:22px;margin:0 6px;background:var(--border2)}.tour-progress{display:none;min-width:62px;color:var(--text2);font-size:11.5px;letter-spacing:.06em;text-align:center;font-variant-numeric:tabular-nums}.tour-progress b{color:var(--text);font-weight:500}#autorotateButton.active{color:#fff;background:var(--teal)}#autorotateButton .pause-icon,#autorotateButton.active .rotate-icon{display:none}#autorotateButton.active .pause-icon{display:block}.view-hint{position:absolute;z-index:21;top:calc(96px + var(--safe-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;color:#ffffffd1;font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;transition:opacity .4s ease,transform .4s ease}.view-hint.hidden{opacity:0;transform:translate(-50%) translateY(-8px)}.hint-separator{color:var(--teal-l)}.hotspot-layer{position:absolute;z-index:20;inset:0;overflow:hidden;pointer-events:none}.hotspot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;appearance:none;background:transparent;color:var(--text);cursor:pointer;pointer-events:auto;transition:opacity .12s linear;will-change:left,top,opacity}.hotspot-ring{position:relative;width:46px;height:46px;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.92);border-radius:50%;background:#07080a47;box-shadow:0 8px 24px #00000052;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .2s var(--ease),background .2s ease,border-color .2s ease}.hotspot-ring:before{content:"";position:absolute;inset:-1.5px;border:1.5px solid var(--teal-l);border-radius:50%;pointer-events:none;animation:hotspot-pulse 2.6s var(--ease) infinite}.hotspot-dot{width:13px;height:13px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px #fffffff2;transition:transform .2s var(--ease)}.hotspot:hover .hotspot-ring,.hotspot:focus-visible .hotspot-ring{transform:scale(1.08);border-color:#fff;background:#3a8f8557}.hotspot:hover .hotspot-dot,.hotspot:focus-visible .hotspot-dot{transform:scale(1.15)}.hotspot-label{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%) translateY(4px);width:max-content;max-width:240px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px 7px 14px;border-radius:999px;color:var(--ink);background:#fafaf8f0;box-shadow:0 10px 30px #00000047;opacity:0;pointer-events:none;font-size:12.5px;font-weight:500;white-space:nowrap;transition:opacity .16s ease,transform .16s ease}.hotspot-label svg{width:13px;height:13px;color:var(--teal);stroke-width:2}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{opacity:1;transform:translate(-50%) translateY(0)}@keyframes hotspot-pulse{0%{transform:scale(1);opacity:.8}70%,to{transform:scale(1.6);opacity:0}}.scene-drawer,.map-panel,.finishes-panel{position:absolute;z-index:60;overflow:hidden;border-radius:22px;background:var(--glass-strong);opacity:0;pointer-events:none}.scene-drawer{top:calc(var(--gutter) + var(--safe-top));bottom:calc(var(--gutter) + var(--safe-bottom));left:calc(var(--gutter) + var(--safe-left));width:min(400px,calc(100vw - 36px - var(--safe-left) - var(--safe-right)));display:flex;flex-direction:column;transform:translate(calc(-100% - 42px));transition:transform .34s var(--ease),opacity .24s ease}.map-panel,.finishes-panel{right:calc(var(--gutter) + var(--safe-right));bottom:calc(var(--gutter) + var(--safe-bottom));width:min(440px,calc(100vw - 36px - var(--safe-left) - var(--safe-right)));max-height:calc(100vh - 36px - var(--safe-top) - var(--safe-bottom));transform:translateY(28px) scale(.97);transform-origin:bottom right;transition:transform .28s var(--ease),opacity .22s ease}.scene-drawer.open,.map-panel.open,.finishes-panel.open{transform:none;opacity:1;pointer-events:auto}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:24px 22px 18px 24px;border-bottom:1px solid var(--border)}.panel-header h2{margin:0;font-family:var(--font-display);font-size:24px;font-weight:500;line-height:1.1;letter-spacing:-.022em}.panel-help{margin:0;padding:4px 24px 20px;color:var(--text2);font-size:11px;line-height:1.6;letter-spacing:.02em}.scene-list{min-height:0;flex:1;overflow:auto;padding:8px 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.scene-list-button{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;text-align:left;cursor:pointer;transition:background .16s ease,border-radius .16s ease}.scene-list-button:hover{border-radius:12px;background:#ffffff0b}.scene-list-button.active{border-radius:12px;border-bottom-color:transparent;background:var(--teal-dim)}.scene-index{justify-self:start;min-width:30px;padding:3px 0;border-radius:999px;color:var(--teal-l);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-align:center}.scene-list-button.active .scene-index{color:#fff;background:var(--teal)}.scene-list-copy{min-width:0}.scene-list-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500}.scene-list-area{display:block;margin-top:3px;color:var(--text2);font-family:var(--font-mono);font-size:11px}.scene-list-arrow{display:grid;color:var(--text3);transition:transform .18s var(--ease),color .18s ease}.scene-list-arrow svg{width:16px;height:16px}.scene-list-button:hover .scene-list-arrow,.scene-list-button.active .scene-list-arrow{color:var(--teal-l)}.scene-list-button:hover .scene-list-arrow{transform:translate(3px)}.drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px 20px;border-top:1px solid var(--border);color:var(--text);text-decoration:none}.drawer-footer[href]:hover .dv-wordmark{color:var(--mint)}.drawer-footer-note{color:var(--text2);font-size:11px;letter-spacing:.02em}.drawer-footer .dv-wordmark{font-size:13px;transition:color .16s ease}.finishes-list{display:grid;gap:20px;max-height:min(58vh,520px);overflow:auto;padding:18px 20px 10px 24px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.finish-group-title{margin-bottom:4px;font-size:15px;font-weight:500}.finish-group-note{color:var(--text2);font-size:13px;line-height:1.5}.finish-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}.finish-option{appearance:none;display:grid;grid-template-rows:auto 1fr;gap:11px;padding:8px 8px 12px;border:1px solid var(--border2);border-radius:16px;background:#ffffff08;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.finish-option:hover{border-color:#4fb3a88c}.finish-option:active{transform:scale(.98)}.finish-option.active{border-color:var(--teal);background:var(--teal-dim)}.finish-swatch{display:block;width:100%;aspect-ratio:4 / 3;border-radius:10px;background:#222 center / cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff14}.finish-text{display:grid;align-content:space-between;gap:5px;padding:0 4px}.finish-label{font-size:13.5px;font-weight:500;line-height:1.3}.finish-status{display:inline-flex;align-items:center;gap:7px;color:var(--text2);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.finish-option.active .finish-status{color:var(--teal-l)}.finish-option.active .finish-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.floorplan-wrap{position:relative;margin:18px 20px 12px 24px;max-height:min(64vh,600px);overflow:hidden;border-radius:14px;background:var(--paper)}.floorplan-wrap img{width:100%;height:auto;display:block;user-select:none}.map-markers{position:absolute;inset:0}.map-marker{position:absolute;width:26px;height:26px;transform:translate(-50%,-50%);display:grid;place-items:center;padding:0;border:1.5px solid #ffffff;border-radius:50%;color:#fff;background:var(--ink);box-shadow:0 4px 12px #1115124d;cursor:pointer;font-family:var(--font-mono);font-size:10px;font-weight:500;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.map-marker:hover{transform:translate(-50%,-50%) scale(1.15);background:var(--green-deep)}.map-marker.active{background:var(--teal);box-shadow:0 0 0 6px #3a8f854d,0 6px 16px #1115124d}.map-marker:after{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%) translateY(4px);width:max-content;max-width:190px;padding:6px 10px;border-radius:8px;color:#fff;background:var(--ink);opacity:0;pointer-events:none;font-family:var(--font-body);font-size:12px;font-weight:500;transition:opacity .15s ease,transform .15s ease}.map-marker:hover:after,.map-marker:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.loading-screen,.welcome-screen{position:absolute;inset:0;color:#fff;background:var(--teal);transition:opacity .65s ease,visibility .65s ease}.loading-screen.hidden,.welcome-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-screen .dv-mark i,.welcome-screen .dv-mark i{background:var(--paper)}.loading-screen .dv-mark i:nth-child(2),.welcome-screen .dv-mark i:nth-child(2){background:var(--ink)}.loading-screen{z-index:100;display:grid;place-content:center;justify-items:center;gap:22px}.loading-lockup{display:flex;align-items:center;gap:16px}.dv-mark-lg{gap:5px}.dv-mark-lg i{width:9px;height:30px;border-radius:2px;animation:bar-breathe 1.4s ease-in-out infinite}.dv-mark-lg i:nth-child(2){animation-delay:.15s}.dv-mark-lg i:nth-child(3){height:23px;animation-delay:.3s}@keyframes bar-breathe{0%,to{opacity:1}50%{opacity:.35}}.loading-brand{font-size:24px;font-weight:600;letter-spacing:.08em}.loading-text{color:#ffffffd1;font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-align:center}.loading-text a{color:var(--paper)}.loading-progress{width:min(260px,64vw);height:2px;overflow:hidden;border-radius:2px;background:#ffffff3d}.loading-progress span{display:block;width:0;height:100%;background:var(--paper);transition:width .26s ease}.loading-credit{position:absolute;left:0;right:0;bottom:calc(30px + var(--safe-bottom));color:#ffffffb8;font-size:11px;letter-spacing:.08em;text-align:center;text-transform:uppercase}.welcome-screen{z-index:90;display:flex;flex-direction:column;overflow-y:auto;padding:calc(30px + var(--safe-top)) calc(48px + var(--safe-right)) calc(36px + var(--safe-bottom)) calc(48px + var(--safe-left))}.welcome-top{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1240px,100%);margin:0 auto}.welcome-top .dv-wordmark{color:#fff}.welcome-top .dv-logo[href]:hover .dv-wordmark{color:var(--mint)}.welcome-product{color:#fffc;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.welcome-grid{flex:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(36px,5vw,84px);width:min(1240px,100%);margin:0 auto;padding:40px 0 8px}.welcome-kicker{margin-bottom:22px;color:#ffffffd1;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.welcome-content h1{margin:0 0 24px;color:var(--paper);font-family:var(--font-display);font-size:clamp(2.6rem,6.4vw,5.1rem);font-weight:500;line-height:.98;letter-spacing:-.038em}.welcome-content p{max-width:520px;margin:0 0 34px;color:#fff;font-size:clamp(16px,1.3vw,18px);line-height:1.6}.welcome-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.film-duration{color:#ffffffc7;font-size:12px;font-variant-numeric:tabular-nums}.welcome-stats{display:flex;flex-wrap:wrap;gap:20px 56px;max-width:560px;margin-top:46px;padding-top:28px;border-top:1px solid rgba(255,255,255,.24)}.stat-value{font-family:var(--font-display);font-size:clamp(28px,2.6vw,34px);font-weight:500;line-height:1;letter-spacing:-.02em}.stat-label{margin-top:8px;color:#fffc;font-size:11px;letter-spacing:.02em}.welcome-card{margin:0;padding:14px;border-radius:22px;background:#235650b8;box-shadow:0 30px 80px #07080a38}.welcome-media{position:relative;overflow:hidden;aspect-ratio:16 / 10;border-radius:14px;background:var(--green-deep)}.welcome-media img{width:100%;height:100%;display:block;object-fit:cover}.media-chip{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);overflow:hidden;padding:7px 14px;border-radius:999px;color:var(--ink);background:#fafaf8e6;font-size:11.5px;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.welcome-card figcaption{padding:14px 6px 2px;color:#ffffffbf;font-size:11px;letter-spacing:.02em}.film-panel{position:absolute;z-index:110;inset:0;display:grid;place-items:center;padding:calc(var(--gutter) + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) calc(var(--gutter) + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left));background:#07080af2;opacity:0;visibility:hidden;transition:opacity .32s ease,visibility .32s ease}.film-panel.open{opacity:1;visibility:visible}.film-stage{width:min(100%,calc((100vh - 120px) * 16 / 9),1600px);display:grid;gap:16px;transform:scale(.985);transition:transform .32s var(--ease)}.film-panel.open .film-stage{transform:scale(1)}.film-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:20px;background:#000;box-shadow:0 0 0 1px var(--border2),0 30px 90px #0000008c}.film-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#000}.film-end-card{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;background:#07080a80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.film-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}.film-caption-text{min-width:0}.film-caption .eyebrow{margin-bottom:6px}.film-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.film-caption strong{font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.02em}.film-meta{color:var(--text2);font-size:11px;letter-spacing:.02em}.transition-overlay{position:absolute;z-index:50;inset:0;opacity:0;pointer-events:none;background:var(--bg);transition:opacity .23s ease}.transition-overlay.active{opacity:1}.modal-backdrop{position:absolute;z-index:55;inset:0;opacity:0;visibility:hidden;background:#07080a80;transition:opacity .22s ease,visibility .22s ease}.modal-backdrop.active{opacity:1;visibility:visible}.toast{position:absolute;z-index:120;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translate(-50%,12px);max-width:calc(100vw - 32px);display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 14px;border:1px solid var(--border2);border-radius:999px;background:var(--glass-strong);opacity:0;pointer-events:none;font-size:13px;font-weight:500;white-space:nowrap;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:opacity .18s ease,transform .18s ease}.toast:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--teal-l)}.toast.show{opacity:1;transform:translate(-50%)}.debug-panel{position:absolute;z-index:75;right:calc(var(--gutter) + var(--safe-right));top:calc(96px + var(--safe-top));display:grid;gap:5px;padding:12px 16px;border-radius:14px;color:var(--text2);font-size:11px}.debug-panel strong{color:var(--teal-l);font-weight:500}.guide{position:absolute;z-index:80;inset:0;pointer-events:none}.guide-blocker{position:absolute;pointer-events:auto}.guide.passthrough .guide-blocker,.guide.click-through .guide-blocker[data-side=hole]{pointer-events:none}.guide-spotlight{position:absolute;border-radius:999px;box-shadow:0 0 0 1.5px var(--teal-l),0 0 0 200vmax #07080a99;opacity:0;transition:left .42s var(--ease),top .42s var(--ease),width .42s var(--ease),height .42s var(--ease),opacity .26s ease}.guide.open .guide-spotlight.on{opacity:1}.guide-spotlight:after{content:"";position:absolute;inset:-1.5px;border-radius:inherit;box-shadow:0 0 #4fb3a88c;animation:guide-pulse 1.8s ease-out infinite}@keyframes guide-pulse{to{box-shadow:0 0 0 14px #4fb3a800}}.guide-card{position:absolute;left:50%;top:50%;width:min(360px,calc(100vw - 20px));padding:16px 18px 14px 20px;border-radius:20px;background:var(--glass-strong);pointer-events:auto;opacity:0;transform:translateY(8px);transition:opacity .26s ease,transform .26s var(--ease),left .42s var(--ease),top .42s var(--ease)}.guide.open .guide-card{opacity:1;transform:none}.guide-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.guide-step{color:var(--teal-l);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.guide-skip{appearance:none;border:0;padding:4px 0;background:transparent;color:var(--text2);font-size:12.5px;cursor:pointer}.guide-skip:hover{color:var(--text)}.guide-card h2{margin:0 0 6px;font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.01em}.guide-card p{margin:0;color:#ffffffc7;font-size:14px;line-height:1.55}.guide-actions{display:flex;align-items:center;gap:8px;margin-top:16px}.guide-dots{display:flex;gap:5px;margin-right:auto}.guide-dots i{width:6px;height:6px;border-radius:50%;background:#ffffff38;transition:background .2s ease,width .2s var(--ease)}.guide-dots i.past{background:#ffffff8c}.guide-dots i.on{width:16px;border-radius:3px;background:var(--teal-l)}.guide-button{appearance:none;border:0;height:38px;padding:0 16px;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px var(--border2);color:var(--text);font-size:13.5px;font-weight:500;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.guide-button:hover{background:#ffffff14}.guide-button:active{transform:scale(.97)}.guide-primary{box-shadow:none;color:var(--green-deep);background:var(--paper)}.guide-primary:hover{background:#fff}.guide-card.done .guide-primary{color:#fff;background:var(--teal)}.guide-gesture{position:absolute;left:50%;top:50%;width:132px;height:56px;margin:-28px 0 0 -66px;color:var(--paper);opacity:0;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45));transition:opacity .3s ease}.guide.open .guide-gesture.on{opacity:1}.guide-gesture svg{width:100%;height:100%;stroke-width:2.4}.guide-finger{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#fafaf8eb;box-shadow:0 0 0 8px #fafaf838;animation:guide-swipe 2s var(--ease) infinite}@keyframes guide-swipe{0%{opacity:0;transform:translate(-30px) scale(.85)}15%{opacity:1;transform:translate(-30px) scale(1)}65%{opacity:1;transform:translate(30px) scale(1)}to{opacity:0;transform:translate(30px) scale(.85)}}@media(max-width:900px){:root{--gutter: 10px}.scene-card{display:none}.tour-progress{display:block}.topbar{height:56px;gap:10px;padding:0 7px 0 18px}.nav-label{display:none}.nav-button{width:40px;height:40px;padding:0;justify-content:center}.nav-cta{margin-left:4px}.scene-title{max-width:40vw;font-size:13px}.view-hint{top:calc(80px + var(--safe-top))}.view-hint .hint-separator,.view-hint span:last-child{display:none}.map-panel,.finishes-panel{left:calc(var(--gutter) + var(--safe-left));width:auto;transform-origin:bottom center}.scene-drawer{width:calc(100vw - 20px - var(--safe-left) - var(--safe-right))}.welcome-screen{padding:calc(22px + var(--safe-top)) calc(20px + var(--safe-right)) calc(28px + var(--safe-bottom)) calc(20px + var(--safe-left))}.welcome-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:36px;padding-top:36px}.welcome-content h1{font-size:clamp(2.8rem,13vw,4.2rem)}.welcome-stats{gap:18px 36px;margin-top:36px}.film-frame{border-radius:12px}.film-caption strong{font-size:17px}.hotspot-ring{width:42px;height:42px}}@media(max-width:600px){.brand-name,.brand-separator,#fullscreenButton,.welcome-product{display:none}.topbar-actions{gap:0}.scene-title{max-width:44vw}.welcome-actions .btn{flex:1 1 auto;justify-content:center}}@media(max-height:650px)and (orientation:landscape){:root{--gutter: 8px}.view-hint,.scene-card{display:none}.tour-progress{display:block}.scene-drawer,.map-panel,.finishes-panel{top:8px;bottom:8px;max-height:calc(100vh - 16px)}.map-panel,.finishes-panel{overflow-y:auto}}@media(hover:none){.hotspot-label{opacity:1;transform:translate(-50%);padding:5px 10px 5px 12px;font-size:11.5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
