:root{--canvas: #040812;--canvas-deep: #010307;--text: #eaeff5;--muted: #919cab;--faint: #5f6a77;--blue: #319cfc;--cyan: #3bcddc;--border: rgba(120, 140, 175, .22);--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{color:var(--text);background:#02060f;font-family:Geist,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow:hidden}#root{height:100%}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.scene,.scene canvas{position:fixed;inset:0;z-index:0;display:block}.scene-failed{background:radial-gradient(60% 55% at 72% 46%,rgba(58,132,225,.42),transparent 70%),radial-gradient(45% 45% at 18% 88%,rgba(84,74,170,.3),transparent 70%),radial-gradient(50% 40% at 42% 6%,rgba(26,104,140,.24),transparent 70%),#02060f}.loader{position:fixed;inset:0;z-index:30;background:var(--canvas-deep);display:grid;place-content:center;justify-items:center;gap:26px;transition:opacity .7s var(--ease)}.loader.done{opacity:0;pointer-events:none}.lbar{width:200px;height:1px;background:#ffffff1f;position:relative;overflow:hidden}.lbar i{position:absolute;inset:0;background:linear-gradient(90deg,var(--blue),var(--cyan));transform:scaleX(0);transform-origin:left;animation:fill 1.5s var(--ease) forwards}@keyframes fill{to{transform:scaleX(1)}}.lmark{width:96px;opacity:0;animation:fade-in .8s var(--ease) .15s forwards}@keyframes fade-in{to{opacity:1}}.lmark path{stroke:var(--text);stroke-width:6;fill:var(--text);fill-opacity:0;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.1s var(--ease) .15s forwards,fill-mark .5s var(--ease) 1.05s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fill-mark{to{fill-opacity:1}}.ltxt{font-family:Geist Mono,ui-monospace,monospace;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);opacity:0;animation:fade-in .6s var(--ease) .5s forwards}.shell{position:relative;z-index:10;height:100%}.stage{height:100%;display:grid;align-content:center;width:min(1240px,calc(100% - 48px));margin-inline:auto;pointer-events:none}.stage>*{max-width:min(680px,56vw)}h1{font-size:clamp(2.5rem,5.4vw,4.6rem);font-weight:600;letter-spacing:-.045em;line-height:.96;margin:.32em 0 .28em}h1 em{font-style:normal;color:var(--blue)}.sub{color:var(--muted);max-width:48ch;font-size:1.05rem;line-height:1.6;margin:0}.cta{display:flex;gap:12px;margin-top:34px;pointer-events:auto}.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:999px;font:inherit;font-size:.9rem;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),background .3s var(--ease)}.btn:hover{transform:translateY(-2px)}.btn.p{background:var(--blue);color:#04122a}.btn.g{border-color:var(--border);color:var(--text);background:#ffffff05}.reveal{opacity:0;transform:translateY(18px)}.shell.in .reveal{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}.shell.in .reveal:nth-child(2){transition-delay:.1s}.shell.in .reveal:nth-child(3){transition-delay:.2s}.lang-switch{position:fixed;top:26px;right:max(24px,calc((100% - 1240px)/2));z-index:12;display:flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:999px;background:#0408128c;backdrop-filter:blur(8px);opacity:0;transition:opacity 1s var(--ease) .5s}.shell.in .lang-switch{opacity:1}.lang-switch button{border:0;background:transparent;color:var(--faint);font-family:Geist Mono,ui-monospace,monospace;font-size:.6rem;letter-spacing:.14em;padding:6px 11px;border-radius:999px;cursor:pointer;transition:color .3s var(--ease),background .3s var(--ease)}.lang-switch button:hover{color:var(--text)}.lang-switch button.on{color:#04122a;background:var(--text)}.hud{position:fixed;bottom:26px;left:0;right:0;z-index:10;width:min(1240px,calc(100% - 48px));margin-inline:auto;display:flex;justify-content:space-between;font-family:Geist Mono,ui-monospace,monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}.hud span{opacity:0}.shell.in .hud span{opacity:1;transition:opacity 1s var(--ease) .5s}.work-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#010307b8;backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .45s var(--ease)}.work-backdrop.open{opacity:1;pointer-events:auto}.work-panel{width:min(720px,100%);max-height:min(80vh,720px);overflow-y:auto;padding:30px;border:1px solid var(--border);border-radius:20px;background:#040812eb;transform:translateY(14px);transition:transform .45s var(--ease)}.work-backdrop.open .work-panel{transform:none}.work-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.work-panel h2{margin:0;font-size:1.05rem;font-weight:500;letter-spacing:.02em}.work-close{border:1px solid var(--border);background:transparent;color:var(--muted);font:inherit;font-size:.78rem;padding:7px 15px;border-radius:999px;cursor:pointer;transition:color .3s var(--ease)}.work-close:hover{color:var(--text)}.work-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.work-panel li{display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--border)}.work-num{font-family:Geist Mono,ui-monospace,monospace;font-size:.66rem;color:var(--faint);padding-top:4px}.work-panel h3{display:flex;align-items:center;gap:10px;margin:0 0 3px;font-size:.98rem;font-weight:500}.work-panel h3 em{font-style:normal;font-family:Geist Mono,ui-monospace,monospace;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);border:1px solid var(--border);border-radius:999px;padding:3px 9px}.work-cat{display:block;font-size:.76rem;color:var(--blue);margin-bottom:7px}.work-panel p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.6}@media(max-width:900px){.stage{align-content:end;padding-bottom:16vh}.stage>*{max-width:100%}h1{font-size:clamp(2.6rem,11vw,3.6rem)}.sub{font-size:.98rem}.cta{flex-wrap:wrap}.btn{padding:12px 20px}.lang-switch{right:24px}.hud span:last-child{display:none}.work-panel{padding:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
