html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0}
.fab{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.fabpad{display:none}
@media(max-width:640px){.fab{left:12px;right:12px;bottom:12px;flex-direction:row}.fab a{flex:1 1 0;padding-left:10px !important;padding-right:10px !important}.fabpad{display:block;height:80px}}
a{color:#FFFFFF}a:hover{color:#FFE189}
summary{cursor:pointer}
button{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #F47920;outline-offset:3px}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.view{animation:fadein .45s ease both}
.tile{transition:background-color .35s ease,color .35s ease,border-color .35s ease}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinback{to{transform:rotate(-360deg)}}
@keyframes gridmove{to{background-position:0 80px,0 80px}}
@keyframes glow{0%,100%{opacity:.55}50%{opacity:1}}
.spin{animation:spin 48s linear infinite}
.spinback{animation:spinback 30s linear infinite}
.grid{animation:gridmove 3.5s linear infinite}
.glow{animation:glow 5s ease-in-out infinite}
.orbit{display:none}
@media(min-width:960px){.orbit{display:block}}
@keyframes logoflip{0%{opacity:0;transform:rotateX(-90deg)}4%{opacity:1;transform:rotateX(0)}21%{opacity:1;transform:rotateX(0)}25%{opacity:0;transform:rotateX(90deg)}100%{opacity:0;transform:rotateX(90deg)}}
.logo{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;align-items:center;opacity:0;transform-origin:50% 50%;animation:logoflip 12s linear infinite}
@media(prefers-reduced-motion:reduce){.logos{height:auto !important;max-width:none !important;display:flex;flex-wrap:wrap;gap:14px 24px}.logo{position:static;opacity:1;animation:none}}
@keyframes scan{0%{top:10%}50%{top:84%}100%{top:10%}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes grow{from{transform:scaleY(.15)}to{transform:scaleY(1)}}
.scan{animation:scan 3.2s ease-in-out infinite}
.pulse{animation:pulse 1.6s ease-in-out infinite}
.bar{transform-origin:bottom;animation:grow 1.1s cubic-bezier(.2,.8,.2,1) both}
@media(prefers-reduced-motion:reduce){.scan,.pulse,.bar,.view,.spin,.spinback,.grid,.glow{animation:none}.tile{transition:none}}
body{margin:0}
button{font:inherit}
button:focus-visible{outline:3px solid #F47920;outline-offset:3px}
@keyframes beam{0%{top:4%}50%{top:94%}100%{top:4%}}
@keyframes flow{to{background-position:0 12px}}
@keyframes blink{50%{opacity:.25}}
.beam{animation:beam 2.4s ease-in-out infinite}
.flow{animation:flow .7s linear infinite}
.blink{animation:blink 1s steps(2) infinite}
.flow{transition:opacity .4s ease}
.fx{transition:outline-color .3s ease,background-color .3s ease,opacity .45s ease,transform .45s ease,color .3s ease,border-color .3s ease}
.cursor{transition:left 1s cubic-bezier(.3,.7,.2,1),top 1s cubic-bezier(.3,.7,.2,1),opacity .3s ease}
.cam{transition:top 1s cubic-bezier(.4,0,.2,1)}
.shot{transition:opacity .5s ease}
.box{transition:opacity .25s ease}
@media(prefers-reduced-motion:reduce){.beam,.flow,.blink{animation:none}.fx,.cursor,.cam,.shot,.box{transition:none}}
.prose{max-width:760px;margin:0 auto;padding:56px 24px 96px}.prose h1{font-size:40px;line-height:1.15;margin:0 0 16px}.prose h2{font-size:22px;margin:32px 0 8px}.prose p,.prose li{color:#E4E4EF}
