:root{color:#f5f2e8;font-synthesis:none;text-rendering:optimizelegibility;--accent:#ffd000;--blue:#1557c0;--scroll-progress:0%;--scene-cut-opacity:0;background:#0b0f0e;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#0b0f0e}body{min-width:320px;margin:0;overflow-x:hidden}body.walk-mode{overflow:hidden}button,a{font:inherit}button{color:inherit}canvas{touch-action:none}.progress-line{z-index:30;width:var(--scroll-progress);background:linear-gradient(90deg, var(--blue), var(--accent));height:3px;position:fixed;top:0;left:0}.scene-fade{z-index:8;pointer-events:none;opacity:var(--scene-cut-opacity);background:radial-gradient(circle at 50% 45%,#17201e,#070a09 72%);position:fixed;inset:0}body.walk-mode .scene-fade{opacity:0}.canvas-layer{z-index:0;position:fixed;inset:0}.site-header{z-index:12;background:linear-gradient(#040706d1,#0000);align-items:center;gap:16px;padding:20px clamp(20px,4vw,64px);display:flex;position:fixed;inset:0 0 auto}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand>span:last-child{line-height:1.05;display:grid}.brand strong{letter-spacing:.02em;font-size:.92rem}.brand small{color:#aeb2ac;text-transform:uppercase;letter-spacing:.12em;margin-top:5px;font-size:.68rem}.brand-mark{border:4px solid var(--accent);border-radius:5px 16px;width:28px;height:34px;position:relative;transform:skew(-5deg)}.brand-mark i{background:var(--blue);border-radius:999px;width:18px;height:8px;position:absolute;bottom:-5px;right:-5px}.header-actions{gap:8px;margin-left:auto;display:flex}main{z-index:2;position:relative}.chapter{pointer-events:none;align-items:center;min-height:116vh;padding:13vh clamp(24px,8vw,120px);display:flex}.chapter--hero{align-items:flex-end;min-height:108vh;padding-bottom:15vh;position:relative}.chapter--right{justify-content:flex-end}.chapter__content{pointer-events:auto;width:min(540px,92vw)}.chapter h1,.chapter h2,.info-panel h2,.site-plan h2{letter-spacing:-.045em;margin:0 0 20px;font-family:Arial Narrow,Segoe UI,sans-serif;line-height:.98}.chapter h1{text-wrap:balance;max-width:800px;font-size:clamp(3.3rem,8vw,7.8rem)}.chapter h1,.chapter h2{text-shadow:0 3px 28px #0000007a}.chapter h2,.info-panel h2,.site-plan h2{font-size:clamp(2.1rem,4vw,4rem)}.chapter p,.info-panel p,.site-plan p{color:#c8ccc6;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.68}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--accent)!important;font-size:.7rem!important}.model-stat{color:#d8d9d4;background:#080d0b80;border:1px solid #ffffff2e;border-radius:999px;margin-top:16px;padding:8px 12px;font-size:.74rem;display:inline-flex}.glass-card{border:1px solid #ffffff24;border-left:3px solid var(--accent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a100eba;border-radius:3px 24px 24px 3px;padding:clamp(28px,4vw,48px);box-shadow:0 26px 90px #00000042}.outline-button,.walk-button,.primary-button{cursor:pointer;background:#090f0dad;border:1px solid #ffffff4d;border-radius:999px;padding:10px 17px;transition:border-color .2s,transform .2s,background .2s}.outline-button:hover,.walk-button:hover,.primary-button:hover{border-color:var(--accent);transform:translateY(-1px)}.walk-button,.primary-button{border-color:var(--accent);background:var(--accent);color:#11150f;font-weight:750}.walk-button--exit{color:#f5f2e8;background:#090f0dd9}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.hero-actions .model-stat{margin-top:0}.scroll-hint{color:#aeb2ac;writing-mode:vertical-rl;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;position:absolute;bottom:42px;right:clamp(24px,6vw,90px)}.scroll-hint span{color:var(--accent);margin-top:9px;font-size:1.35rem}.hotspot{cursor:pointer;background:#ffd0003d;border:0;border-radius:50%;place-items:center;width:38px;height:38px;animation:2s ease-out infinite pulse;display:grid}.hotspot span{background:var(--accent);width:11px;height:11px;box-shadow:0 0 18px var(--accent);border-radius:50%}@keyframes pulse{50%{box-shadow:0 0 0 13px #ffd00000}}.info-panel{z-index:20;border:1px solid #ffffff2e;border-top:4px solid var(--accent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#0a100ef5;border-radius:6px 6px 24px 24px;width:min(460px,100vw - 48px);padding:34px;position:fixed;bottom:24px;right:24px;box-shadow:0 20px 100px #00000080}.info-panel ul{color:#e0e1db;padding-left:20px;line-height:1.7}.info-panel small{color:#929991}.close-button{color:#f5f2e8;cursor:pointer;background:0 0;border:0;font-size:1.8rem;position:absolute;top:15px;right:16px}.modal-backdrop{z-index:25;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#030605d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.site-plan{background:#111917;border:1px solid #ffffff29;border-radius:26px;width:min(860px,96vw);padding:clamp(30px,5vw,60px);position:relative}.plan-note{max-width:680px}.plan-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px;display:grid}.plan-grid button{text-align:left;cursor:pointer;background:#19221f;border:1px solid #ffffff21;border-radius:14px;align-items:center;gap:14px;min-height:110px;padding:20px;display:flex}.plan-grid button:hover{border-color:var(--accent)}.plan-grid span{color:var(--accent);font-size:.75rem;font-weight:700}.webgl-fallback{background:#0b0f0e;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.webgl-fallback img{object-fit:cover;opacity:.72;width:100%;height:100%}.webgl-fallback p{text-align:center;background:#000000c2;border-radius:12px;width:min(580px,100% - 40px);padding:16px 20px;position:absolute;bottom:24px}.story--paused{visibility:hidden;pointer-events:none}.walk-interface{z-index:10;pointer-events:none;position:fixed;inset:0}.walk-intro{border:1px solid #ffffff2b;border-top:4px solid var(--accent);pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090f0df0;border-radius:6px 6px 22px 22px;width:min(480px,100vw - 36px);padding:clamp(26px,4vw,42px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 28px 100px #00000085}.walk-intro h2{margin:0 0 12px;font-size:clamp(2rem,5vw,3.4rem);line-height:1}.walk-intro p:not(.eyebrow){color:#cdd0ca;line-height:1.65}.walk-intro .primary-button{margin-top:8px}.crosshair{background:var(--accent);border:1px solid #0b0f0e;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffffa6}.walk-help{color:#d5d7d2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070b0ac2;border:1px solid #ffffff21;border-radius:999px;padding:9px 14px;font-size:.72rem;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.walk-locations{pointer-events:auto;gap:7px;display:grid;position:absolute;top:92px;left:22px}.walk-locations button{color:#d9dcd6;text-align:left;cursor:pointer;background:#080d0bb8;border:1px solid #ffffff26;border-radius:999px;max-width:180px;padding:8px 12px;font-size:.72rem}.walk-locations button.active{border-color:var(--accent);color:#11150f;background:var(--accent)}.touch-controls,.touch-look{display:none}@media (width<=700px){.site-header{padding:15px 17px}.brand small{display:none}.outline-button,.walk-button{padding:9px 12px;font-size:.75rem}.chapter{min-height:110vh;padding-left:20px;padding-right:20px}.chapter--right{justify-content:flex-start}.chapter h1{font-size:clamp(3.2rem,16vw,5.3rem)}.glass-card{padding:25px}.scroll-hint{display:none}.info-panel{width:calc(100vw - 24px);bottom:12px;right:12px}.plan-grid{grid-template-columns:1fr}.plan-grid button{min-height:74px}.walk-locations{gap:6px;max-width:calc(100vw - 24px);display:flex;top:76px;left:12px;overflow-x:auto}.walk-locations button{flex:none}.walk-help{display:none}}@media (pointer:coarse){.walk-intro{display:none}.touch-controls{pointer-events:auto;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:5px;width:146px;height:146px;display:grid;position:absolute;bottom:22px;left:18px}.touch-controls button{color:#fff;touch-action:none;background:#080d0bb8;border:1px solid #ffffff3d;border-radius:14px;font-size:1rem}.touch-look{color:#e0e2dc;text-align:right;text-shadow:0 2px 8px #000;width:150px;margin:0;font-size:.72rem;line-height:1.45;display:block;position:absolute;bottom:24px;right:14px}.touch-up{grid-area:1/2}.touch-left{grid-area:2/1}.touch-down{grid-area:3/2}.touch-right{grid-area:2/3}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
