@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#282b29;--muted:#727773;--red:#c32330;--paper:#f4f1eb;--line:rgba(50,55,50,.13)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:#e8e4dc}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:4px}button{color:inherit}#stage{position:absolute;inset:0}canvas{display:block;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#f1eee8b0,transparent 18%,transparent 78%,#e8e4dcdd)}header{position:absolute;left:3.4%;right:3.4%;top:29px;height:61px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:4}.brand img{width:178px;display:block}.edition{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2.2px;font-weight:700}.live-dot{width:6px;height:6px;border-radius:50%;background:#778769}.edition-no{margin-left:30px;font-size:9px;color:#81857f}.outline{border:1px solid #afb3a8;background:#f9f7f085;padding:14px 20px;font-size:12px;border-radius:5px}.outline span{margin-left:22px}.intro{position:absolute;top:132px;left:3.8%;pointer-events:none;transition:opacity .5s,transform .5s}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:700;color:#8a5f52;margin-bottom:16px}h1{font-family:Manrope,sans-serif;font-size:clamp(25px,3vw,44px);line-height:1.16;letter-spacing:-2px;margin:0;font-weight:500}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.7px}p{line-height:1.65}.intro p{font-size:12px;color:#666b65;line-height:1.8;margin-top:15px}.exploring .intro{opacity:0;transform:translateY(-10px)}.scene-caption{position:absolute;bottom:133px;left:3.8%;display:flex;align-items:center;gap:15px;pointer-events:none}.scene-caption>span{font-size:39px;font-weight:400;letter-spacing:-3px;color:#82897a}.scene-caption strong{font-size:12px;font-weight:500;display:block}.scene-caption small{font-size:10px;color:#7b8077;display:block;margin-top:5px}.view-controls{position:absolute;right:3.5%;bottom:135px;display:flex;gap:5px}.view-controls button{border:1px solid #fff7;border-radius:6px;background:#f8f6f0cf;width:35px;height:35px;font-size:20px;backdrop-filter:blur(12px)}footer{position:absolute;left:3.5%;right:3.5%;bottom:27px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:4}.guidance{display:flex;gap:12px;font-size:10px;line-height:1.7;color:#7b8177}.guidance b{font-weight:500;color:#4e574b}.drag-icon{font-size:25px;align-self:center}.footer-right{font-size:8px;letter-spacing:1.3px;color:#68715f;line-height:2}.footer-right span{display:block;font-size:7px;letter-spacing:1.9px;color:#919687}nav{display:flex;padding:7px;background:#faf9f0ed;border:1px solid #fff;border-radius:12px;box-shadow:0 12px 40px #30302012;backdrop-filter:blur(18px);gap:3px}nav button{background:transparent;border:0;padding:12px 15px;font-size:11px;white-space:nowrap;border-radius:6px;transition:background .2s,color .2s}nav button span{font-size:9px;opacity:.55;margin-right:8px}nav button.active{background:#30392f;color:white}nav button:hover:not(.active){background:#e9ebdf}.hotspot{position:absolute;display:flex;align-items:center;gap:7px;white-space:nowrap;transform:translate(-50%,-50%);border:1px solid #fff9;border-radius:30px;padding:5px 11px 5px 5px;background:#fafaf1ed;font-size:10px;font-weight:500;box-shadow:0 3px 16px #171e171a;backdrop-filter:blur(10px);transition:opacity .3s,background .2s;z-index:2}.hotspot i{font-style:normal;width:22px;height:22px;display:grid;place-items:center;background:#fff;border:1px solid #d6dbce;border-radius:50%;color:var(--red);font-size:14px}.hotspot:hover,.hotspot.selected{background:#30392f;color:#fff}.hotspot.selected i{background:#bc2732;color:#fff;border-color:transparent}.panel{position:absolute;right:3.5%;top:115px;bottom:190px;width:360px;background:#faf8f1f2;border:1px solid #fff;border-radius:12px;padding:28px;box-shadow:0 20px 60px #28312618;backdrop-filter:blur(25px);overflow:auto;z-index:5;animation:appear .4s ease}.panel[hidden]{display:none}.close{position:absolute;right:14px;top:12px;border:0;background:#e8e9df;border-radius:50%;width:27px;height:27px;font-size:20px}.panel h2{font-family:Manrope,sans-serif;font-weight:500;font-size:27px;letter-spacing:-1px;line-height:1.18;margin:9px 20px 18px 0}.panel p{font-size:12px;color:#73796c}.panel .eyebrow{font-size:9px;margin-bottom:12px}.panel h3{font-size:14px;font-weight:500}.panel .tag{font-size:8px;letter-spacing:1.4px;background:#e7e9df;display:inline-block;padding:5px 8px;border-radius:3px;color:#6c735f}.primary{display:inline-flex;justify-content:center;gap:15px;align-items:center;background:#b52231;color:white;border:0;border-radius:5px;padding:13px 18px;font-size:11px;text-decoration:none;min-height:42px}.primary:hover{background:#931b28}.secondary{display:inline-flex;border:1px solid #c7ccb9;border-radius:5px;padding:11px 15px;background:transparent;font-size:11px;text-decoration:none;min-height:40px}.service-item{border-top:1px solid var(--line);padding:11px 0}.service-item h3{margin:0}.service-item p{margin:6px 0 0;font-size:11px}.step-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.step-list div{font-size:11px;border-top:1px solid var(--line);padding-top:8px}.step-list span{display:block;font-size:9px;color:#ab5355;margin-bottom:6px}.project-card{width:100%;padding:0;text-align:left;background:transparent;border:0;margin:12px 0;display:block}.project-card img{width:100%;height:126px;object-fit:cover;border-radius:6px;display:block}.project-card strong{display:block;font-size:12px;margin-top:8px}.project-card small{font-size:9px;color:#8b907e}.filters{display:flex;gap:5px}.filters button{border:1px solid #d8dccd;background:transparent;border-radius:4px;padding:6px 9px;font-size:10px}.filters button.active{background:#30392f;color:white}.swatches{display:flex;gap:11px;margin:20px 0}.swatches button{width:47px;height:47px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #d0d5c7}.swatches button.active{box-shadow:0 0 0 2px var(--red)}.detail-image{width:100%;border-radius:6px;margin:10px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-grid label{font-size:10px;display:block;color:#5b6554}.form-grid .full{grid-column:1/-1}input,select,textarea{display:block;width:100%;margin-top:5px;border:1px solid #d0d5c6;background:#fffff880;border-radius:4px;padding:9px;font-size:11px;color:#394331}input:focus,select:focus,textarea:focus{outline:1px solid #78836a}textarea{resize:vertical;min-height:67px}.form-actions{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}.fine{font-size:9px!important;line-height:1.55!important}.loading{position:absolute;inset:0;background:#efede6;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;transition:opacity .6s}.loader-mark{font-size:80px;color:#bb2530;font-family:Georgia}.loading strong{font-size:15px;font-weight:500}.loading span{font-size:11px;color:#7a8272}.loading progress{width:180px;height:3px;accent-color:#b52231}.loading.done{opacity:0;pointer-events:none}#notice{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);background:#30392fed;color:#fff;border-radius:6px;padding:10px 17px;font-size:11px;z-index:7;opacity:0;pointer-events:none;transition:opacity .3s}#notice.show{opacity:1}.no-webgl #stage{background:url('assets/overview.jpg') center/cover}.no-webgl .intro{opacity:1}.no-webgl .hotspot{display:none}.no-webgl .panel{background:#faf8f1}.noscript{position:absolute;inset:25%;padding:30px;background:white;z-index:10}.night header,.night .intro,.night .scene-caption{color:#f1eddf}.night .intro p,.night .scene-caption small{color:#c1c8b7}.night .vignette{background:linear-gradient(#111e2480,transparent 20%,transparent 80%,#111e2470)}.night .guidance,.night .guidance b,.night .footer-right{color:#c2cab9}@keyframes appear{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:1100px){.guidance,.footer-right{display:none}footer{justify-content:center}.edition-no{display:none}.panel{width:330px}.intro{top:120px}h1{font-size:32px}}@media(max-width:650px){header{top:17px;left:20px;right:20px;height:42px}.brand img{width:125px}.edition{display:none}.outline{padding:10px;font-size:9px}.outline span{margin-left:5px}.intro{left:22px;top:90px}h1{font-size:29px;letter-spacing:-1.2px}.intro p{font-size:10px;max-width:270px}.eyebrow{font-size:8px;margin-bottom:9px}.hotspot{font-size:9px;padding-right:8px;gap:4px}.hotspot i{width:20px;height:20px}.panel{top:auto;bottom:111px;left:12px;right:12px;width:auto;height:43%;padding:22px;background:#faf8f1f7}.panel h2{font-size:23px;margin:7px 20px 12px 0}.panel p{font-size:11px}.scene-caption{left:20px;bottom:139px}.scene-caption>span{font-size:30px}.scene-caption strong{font-size:10px}.scene-caption small{font-size:8px}.view-controls{right:16px;bottom:137px;gap:4px}.view-controls button{width:29px;height:29px;font-size:17px}footer{bottom:19px;left:10px;right:10px}nav{width:100%;justify-content:space-between;gap:0;padding:5px;border-radius:10px}nav button{font-size:9px;padding:10px 6px;display:flex;flex-direction:column;gap:5px}nav button span{margin:0;font-size:11px}.exploring .scene-caption,.exploring .view-controls{display:none}#notice{bottom:96px;width:85%;text-align:center}.loading{gap:12px}.form-grid{gap:8px}input,textarea,select{font-size:16px}body.night .panel{color:#282b29}}
