:root{color:#222526;background:#f2f3f1;--line:#2425261a}body{height:260vh}#stage,#loading{background:#f2f3f1}#scene-poster,.film-edge{display:none}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}#object-hotspots{position:absolute;inset:0;pointer-events:none;z-index:4}.object-hotspot{position:absolute;pointer-events:auto;min-width:44px;min-height:44px;border-radius:16px}.object-hotspot span{position:absolute;left:50%;top:100%;transform:translate(-50%,10px);background:#ffffffed;border:1px solid #2222;color:#242629;box-shadow:0 5px 20px #1720300b;border-radius:6px;padding:9px 14px;font-size:13px;letter-spacing:.03em;white-space:nowrap;opacity:0;transition:opacity .15s;pointer-events:none}.object-hotspot:hover span,.object-hotspot:focus-visible span{opacity:1}body.selected #object-hotspots{visibility:hidden}#tooltip{display:none}.topbar{height:78px;justify-content:flex-end;pointer-events:none}.topbar nav,.topbar #category-menu{pointer-events:auto}#home-nav{border:1px solid #2222;border-radius:30px;padding:10px 18px;background:#fffffff0;color:#323537;font-size:13px;min-height:40px;backdrop-filter:none}.bottom-bar{bottom:26px;gap:11px}#explore{background:#fffffff0;border:1px solid #24252620;color:#333638;border-radius:30px;padding:11px 22px;font-size:13px;letter-spacing:.08em;min-height:46px;backdrop-filter:none;text-shadow:none}.scroll-icon{border-color:#30333870}.scroll-icon i,.progress i{background:#254bcc}.progress{background:#24252616;width:56px}.works-panel{right:4%;top:12%;bottom:10%;width:39%;max-width:540px;padding:27px 30px;background:#fff;color:#242526;border:1px solid #23282e14;border-radius:8px;box-shadow:0 20px 65px #1d28300b;backdrop-filter:none;transition:opacity .24s ease,transform .3s ease}.panel-top{color:#7d8285;font-size:10px;letter-spacing:.15em;margin-bottom:15px}.works-panel h2{font-size:30px;margin:0 0 26px;font-weight:500;letter-spacing:.03em}.project-card{padding:18px 0;gap:17px}.project-cover{border-radius:0;border:0;background:#2049be;color:#fff;width:64px;height:68px;font:35px Georgia,serif}.cover-1{background:#e23825;color:#fff}.cover-2{background:#f1c52d;color:#222}.project-info h3{font-size:17px;font-weight:500;margin-bottom:7px}.project-info p{font-size:13px;line-height:1.65;color:#777c7f}.project-num{color:#979b9e;font-size:11px}.sample-note{font-size:11px;color:#999da0;line-height:1.8}#close-panel{color:#6e7477}.works-panel:not(.open){pointer-events:none}.works-panel.open{transform:none}#category-menu{position:fixed;top:auto;bottom:98px;right:50%;transform:translateX(50%);background:#fffffff8;color:#303538;backdrop-filter:none;border:1px solid #25262c19;border-radius:8px;padding:8px;min-width:225px;box-shadow:0 12px 50px #17213013}#category-menu button{font-size:14px}#category-menu button:hover{background:#2049be08}#category-menu #credits-toggle{font-size:12px;color:#93989b}dialog{background:#fff;color:#222;border:1px solid #2222;border-radius:8px;box-shadow:0 30px 90px #17213020}dialog p,.eyebrow{color:#747b80}dialog::backdrop{background:#e5e8eac7;backdrop-filter:blur(4px)}#loading{color:#676e74;background:#f2f3f1;transition:opacity .2s}#loading>div{background:#27314a16}#loading-progress{background:#2049be}.loading-mark,.loading-mark:before{border-color:#53617570}#fallback{background:#fffffff2;border:1px solid #ddd;border-radius:8px;padding:25px;color:#333}button:focus-visible,a:focus-visible{outline:2px solid #2049be;outline-offset:5px}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}
@media(max-width:900px) and (min-width:601px){.works-panel{right:3%;width:43%;padding:20px}.project-cover{width:48px;height:58px}.project-info h3{font-size:16px}}
@media(max-width:600px){body{height:235vh}.topbar{height:68px}.works-panel{left:4%;right:4%;width:92%;max-width:none;top:47%;bottom:14px;padding:18px 20px}.works-panel h2{font-size:25px;margin-bottom:16px}.panel-top{margin-bottom:8px}.project-card{padding:17px 0;gap:14px}.project-cover{width:47px;height:53px;font-size:29px}.project-info h3{font-size:16px}.project-info p{font-size:12px}.bottom-bar{bottom:24px}.sample-note{font-size:11px;margin-top:18px}.object-hotspot span{font-size:12px;padding:8px 12px}}

/* A restrained lens falloff; composited below every interactive control. */
#stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 46% 41%,transparent 35%,rgba(34,40,51,.075) 100%);z-index:2}
