.intro{position:fixed;z-index:100;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;background:#050506;transition:opacity .7s var(--ease),visibility .7s}.intro img{width:86px;height:86px;object-fit:contain;animation:introMark 1.2s var(--ease) both}.intro span{font:8px var(--mono);letter-spacing:.24em;color:var(--silver);animation:introText 1s .2s var(--ease) both}.intro.done{opacity:0;visibility:hidden}.hero-video{animation:heroDrift 14s ease-in-out infinite alternate}.frame i{animation:frameOpen 1.3s .65s var(--ease) both}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:none}.service-item.in{transition-delay:calc(var(--order,0)*55ms)}.film{transition:opacity .4s var(--ease),transform .4s var(--ease)}.film.filtering{opacity:0;transform:scale(.985)}.play,.sound{transition:opacity .25s,background .25s}.play:hover,.sound:hover{background:#e95024}.signal i{animation:pulse 1.8s infinite}.timeline-fill{transition:height .15s linear}.step.active b{border-color:var(--orange);color:white;box-shadow:0 0 18px #e9502466}
@keyframes introMark{from{opacity:0;transform:scale(.82) rotate(-8deg)}to{opacity:1;transform:none}}@keyframes introText{from{opacity:0;letter-spacing:.5em}to{opacity:1;letter-spacing:.24em}}@keyframes heroDrift{to{transform:scale(1.12) translate3d(-1.5%,-.5%,0)}}@keyframes frameOpen{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 4px var(--orange)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro{display:none}.hero-video,.frame i,.signal i{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.site-menu{transition:none}}
