:root{--ink:#eef5f8;--ink-dim:#eef5f8ad;--ink-faint:#eef5f86b;--glass:#0a121885;--glass-strong:#090f14c7;--line:#ffffff21;--accent:#7dd3fc;--radius:16px;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;background:#0a1218;margin:0;overflow:hidden}canvas#scene{touch-action:none;cursor:grab;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}canvas#scene.dragging{cursor:grabbing}canvas#scene.pointer{cursor:pointer}button{color:inherit;cursor:pointer;font-family:inherit}[hidden]{display:none!important}.glass{background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.35);backdrop-filter:blur(18px)saturate(1.35);border:1px solid var(--line);box-shadow:0 10px 40px #00000047,inset 0 1px #ffffff14}#loader{z-index:100;text-align:center;background:radial-gradient(120% 90% at 50% 20%,#12303f 0%,#0a1820 45%,#060c11 100%);place-items:center;transition:opacity .9s,visibility .9s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;visibility:hidden}.loader-inner{width:min(440px,86vw);padding:24px}.loader-mark{color:var(--accent);margin-bottom:14px;animation:3.2s ease-in-out infinite pulse}.loader-title{letter-spacing:.32em;margin:0;padding-left:.32em;font-size:clamp(30px,6vw,46px);font-weight:800}.loader-tag{color:var(--ink-dim);letter-spacing:.02em;margin:10px 0 34px;font-size:15px;font-weight:300}.loader-bar{background:#ffffff1f;border-radius:3px;height:3px;overflow:hidden}#loader-fill{background:linear-gradient(90deg,#38bdf8,#a7f3d0);border-radius:3px;width:0%;height:100%;transition:width .35s}.loader-meta{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:10px;font-size:11px;display:flex}.enter-btn{letter-spacing:.14em;text-transform:uppercase;background:#ffffff14;border:1px solid #ffffff59;border-radius:999px;margin-top:30px;padding:14px 34px;font-size:14px;font-weight:600;transition:background .25s,transform .25s,border-color .25s;animation:.7s both fadeUp}.enter-btn:hover{background:#ffffff2e;border-color:#fff;transform:translateY(-2px)}.loader-note{color:#fca5a5;margin:18px 0 0;font-size:13px;line-height:1.5}@keyframes pulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.topbar{z-index:20;top:calc(14px + var(--safe-t));border-radius:999px;align-items:center;gap:18px;width:min(1180px,100vw - 28px);padding:8px 10px 8px 18px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.brand{color:var(--ink);letter-spacing:.28em;white-space:nowrap;align-items:center;gap:10px;font-size:13px;font-weight:800;text-decoration:none;display:flex}.brand svg{color:var(--accent)}.nav{gap:4px;margin:0 auto;display:flex}.nav button{color:var(--ink-dim);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:500;transition:background .2s,color .2s}.nav button:hover{color:var(--ink);background:#ffffff17}.nav button.on{background:var(--nav-accent,#ffffff29);color:#061016;font-weight:700}.tools{align-items:center;gap:6px;display:flex}.seg{background:#ffffff14;border-radius:999px;padding:3px;display:flex}.seg button{color:var(--ink-dim);background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .2s}.seg button.on{color:#061016;background:#fff}.icon{background:#ffffff14;border:0;border-radius:50%;place-items:center;width:36px;height:36px;transition:background .2s;display:grid}.icon:hover{background:#fff3}.pins{z-index:10;pointer-events:none;position:fixed;inset:0;overflow:hidden}.pin{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);pointer-events:auto;will-change:transform, opacity;background:#080e1399;border-radius:999px;align-items:center;gap:8px;padding:5px 14px 5px 5px;font-size:12.5px;font-weight:600;transition:opacity .3s,background .2s,border-color .2s;display:flex;position:absolute;top:0;left:0;box-shadow:0 6px 24px #0000004d}.pin .dot{background:var(--pin);color:#061016;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:grid}.pin:hover,.pin.hot{border-color:var(--pin);background:#080e13e0}.pin.sel{pointer-events:none;opacity:0!important}.hint{z-index:15;bottom:calc(22px + var(--safe-b));color:var(--ink-dim);white-space:nowrap;pointer-events:none;border-radius:999px;padding:10px 20px;font-size:12.5px;transition:opacity .6s;position:fixed;left:50%;transform:translate(-50%)}.hint b{color:var(--ink);font-weight:600}.hint.faded{opacity:0}.minimap{z-index:15;left:18px;bottom:calc(18px + var(--safe-b));cursor:crosshair;border-radius:50%;width:176px;height:176px;padding:5px;position:fixed}.minimap canvas{border-radius:50%;width:100%;height:100%;display:block}.panel{z-index:30;top:calc(84px + var(--safe-t));background:var(--glass-strong);opacity:0;visibility:hidden;border-radius:22px;outline:none;flex-direction:column;width:min(430px,100vw - 36px);transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .5s,visibility .7s;display:flex;position:fixed;bottom:18px;right:18px;overflow:hidden;transform:translate(calc(100% + 30px))}.panel.open{opacity:1;visibility:visible;transform:none}.panel-close{z-index:2;background:#ffffff17;border:0;border-radius:50%;place-items:center;width:34px;height:34px;transition:background .2s;display:grid;position:absolute;top:14px;right:14px}.panel-close:hover{background:#ffffff38}.panel-scroll{scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;flex:1;padding:30px 28px 10px;overflow-y:auto}.p-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 40px 12px 0;font-size:11.5px;font-weight:700}.p-title{letter-spacing:-.01em;margin:0 0 14px;font-size:clamp(24px,3.2vw,31px);font-weight:700;line-height:1.15}.p-summary{color:var(--ink-dim);margin:0 0 22px;font-size:15px;font-weight:300;line-height:1.65}.p-facts{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-bottom:24px;display:grid}.p-fact{background:#ffffff0f;border:1px solid #ffffff12;border-radius:12px;padding:12px 14px}.p-fact b{color:var(--accent);margin-bottom:3px;font-size:14.5px;font-weight:700;display:block}.p-fact span{color:var(--ink-faint);font-size:11.5px;line-height:1.35;display:block}.p-sec{border-top:1px solid var(--line);padding:16px 0}.p-sec h3{margin:0 0 6px;font-size:14.5px;font-weight:600}.p-sec p{color:var(--ink-dim);margin:0;font-size:14px;font-weight:300;line-height:1.6}.p-tags{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:16px 0;display:flex}.p-tags span{background:#ffffff14;border-radius:999px;padding:7px 14px;font-size:13px}.p-contact{gap:10px;margin-top:4px;display:grid}.p-row{color:var(--ink);background:#ffffff0f;border:1px solid #ffffff12;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:background .2s,border-color .2s;display:flex}a.p-row:hover{border-color:var(--accent);background:#ffffff1f}.p-row svg{color:var(--accent);flex:none}.p-row small{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px;font-size:11px;display:block}.p-row span{word-break:break-word;font-size:14.5px;font-weight:500}.p-links{flex-wrap:wrap;gap:8px;display:flex}.panel-foot{border-top:1px solid var(--line);background:#00000029;align-items:center;gap:10px;padding:16px 22px 20px;display:flex}.btn{background:var(--accent);color:#061016;border:0;border-radius:12px;padding:12px 20px;font-size:13.5px;font-weight:700;transition:transform .2s,filter .2s}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.ghost{color:var(--ink);background:#ffffff17}.btn.ghost:hover{background:#fff3}.panel-foot .grow{flex:1}.p-stagger>*{opacity:0;animation:.6s cubic-bezier(.22,1,.36,1) forwards fadeUp;transform:translateY(12px)}.help{z-index:40;background:var(--glass-strong);border-radius:22px;width:min(560px,100vw - 32px);padding:26px 28px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.help h3{margin:0 0 16px;font-size:20px}.help-grid{gap:14px;margin-bottom:22px;display:grid}.help-grid div{grid-template-columns:92px 1fr;gap:12px;font-size:14px;line-height:1.5;display:grid}.help-grid b{color:var(--accent);font-weight:600}.help-grid span{color:var(--ink-dim);font-weight:300}.toast{z-index:45;top:calc(88px + var(--safe-t));color:var(--ink);border-radius:999px;padding:11px 20px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}.fade{z-index:60;opacity:0;pointer-events:none;background:#050a0e;transition:opacity .35s;position:fixed;inset:0}.fade.on{opacity:1}.debug{z-index:70;color:#b5f5c5;white-space:pre;pointer-events:none;background:#0000008c;border-radius:8px;padding:8px 10px;font:11px/1.4 ui-monospace,Consolas,monospace;position:fixed;top:70px;left:10px}.joystick{z-index:16;left:26px;bottom:calc(40px + var(--safe-b));border:1px solid var(--line);touch-action:none;background:#ffffff14;border-radius:50%;width:118px;height:118px;position:fixed}.ar-overlay{z-index:200;touch-action:none;background:0 0;position:fixed;inset:0}.ar-hint{top:calc(18px + var(--safe-t));text-align:center;pointer-events:none;border-radius:999px;max-width:calc(100vw - 84px);padding:10px 18px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}.ar-exit{top:calc(16px + var(--safe-t));background:#0a10168c;position:fixed;right:16px}body.ar-active #topbar,body.ar-active #pins,body.ar-active #minimap,body.ar-active #joystick,body.ar-active #hint,body.ar-active #debug{display:none!important}body.ar-active #panel{z-index:210}.joystick .stick{background:#ffffff59;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}@media (max-width:900px){.brand span{display:none}.nav button{padding:8px 11px;font-size:12px}.topbar{gap:8px;padding-left:12px}}@media (max-width:720px){.topbar{top:calc(8px + var(--safe-t));border-radius:22px;flex-wrap:wrap;justify-content:space-between}.nav{scrollbar-width:none;order:3;width:100%;margin:0;overflow-x:auto}.nav button{flex:none}.panel{border-radius:22px;width:auto;max-height:64vh;inset:auto 8px 8px;transform:translateY(calc(100% + 30px))}.minimap{width:118px;height:118px;left:10px;bottom:calc(10px + var(--safe-b))}.hint{bottom:calc(140px + var(--safe-b));white-space:normal;text-align:center;border-radius:18px;width:max-content;max-width:calc(100vw - 24px);padding:9px 16px;font-size:12.5px}.toast{text-align:center;width:max-content;max-width:calc(100vw - 28px);top:calc(128px + var(--safe-t));border-radius:18px;padding:10px 16px}.pin{font-size:11px}.help-grid div{grid-template-columns:1fr;gap:2px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.clients-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.clients-gallery figure{min-width:0;margin:0}.clients-gallery figure button{cursor:zoom-in;background:0 0;border:0;border-radius:12px;width:100%;padding:0;display:block;overflow:hidden}.clients-gallery figure img{object-fit:contain;width:100%;height:140px;padding:0;display:block}.clients-gallery figcaption{overflow-wrap:anywhere;margin-top:8px;font-size:14px;line-height:1.4}.clients-gallery>p{grid-column:1/-1}.client-lightbox{color:#fff;background:#080e14f5;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:60px 20px 24px;position:fixed;inset:0}.client-lightbox[open]{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.client-lightbox::backdrop{background:#080e14}.client-lightbox img{object-fit:contain;flex:1;width:100%;min-height:0}.client-lightbox p{text-align:center;overflow-wrap:anywhere;flex:none;margin:0}.client-lightbox-close{top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));color:#fff;cursor:pointer;background:#14212b;border:1px solid #fff6;border-radius:50%;width:44px;height:44px;font-size:32px;line-height:1;position:absolute}.client-lightbox-close:focus-visible,.clients-gallery figure button:focus-visible{outline-offset:3px;outline:2px solid #7dd3fc}.sight-logo{object-fit:contain;flex-shrink:0}.loader-mark .sight-logo{margin:0 auto;display:block}
