:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#090d16}
*{box-sizing:border-box}
html,body,#root{width:100%;height:100%;min-height:100%;margin:0}
body{overflow:hidden;background:radial-gradient(ellipse 70% 70% at 50% 45%,#182336 0%,#0d1421 48%,#090d16 100%);color:#f5f7ff}
.experience{position:relative;isolation:isolate;width:100%;height:100%;height:100dvh;min-height:320px;overflow:hidden}
.experience::before{content:"";position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 40% 44% at 50% 52%,rgba(77,111,160,.12),transparent 75%);animation:breathe 9s ease-in-out infinite alternate}
.experience::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.35;background:radial-gradient(ellipse at center,transparent 30%,rgba(4,8,17,.8) 100%)}
.webgl{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none}
.pointer-trail{position:absolute;inset:0;z-index:3;width:100%;height:100%;display:block;pointer-events:none;mix-blend-mode:screen}
.static-logo{position:absolute;left:50%;top:48%;width:min(62vw,70vh,620px);max-width:86vw;height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 0 32px rgba(137,186,240,.27));transition:opacity .8s ease;pointer-events:none}
.is-ready .static-logo{opacity:0}
.contact{position:absolute;z-index:5;left:50%;bottom:max(28px,env(safe-area-inset-bottom) + 18px);transform:translateX(-50%);padding:10px 14px;color:rgba(199,215,239,.38);font-size:10px;font-weight:500;line-height:1;letter-spacing:.28em;text-transform:uppercase;text-decoration:none;transition:color .25s ease,text-shadow .25s ease;white-space:nowrap}
.contact:hover,.contact:focus-visible{color:rgba(238,245,255,.92);text-shadow:0 0 16px rgba(168,207,255,.48)}
.contact:focus-visible{outline:1px solid rgba(180,210,255,.6);outline-offset:4px}
@keyframes breathe{from{opacity:.5;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}
@media(max-width:600px){.static-logo{width:min(84vw,56vh)}.contact{bottom:max(22px,env(safe-area-inset-bottom) + 14px);font-size:9px}}
@media(prefers-reduced-motion:reduce){.experience::before{animation:none}.contact,.static-logo{transition:none}}
