@font-face{font-family:"KV Mono";src:url(kv-mono-light.woff2) format("woff2");font-weight:300;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;height:100%;background:#050505;color:#EDEDED}
body{font-family:"KV Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;font-weight:300;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}
.stage{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.scene{position:absolute;inset:0;z-index:-1;pointer-events:none}
.lockup{display:flex;flex-direction:column;align-items:center;text-align:center;
  width:min(88vw,max(46vw,640px));transform:translateY(var(--lift,-6vh))}
h1{margin:0;width:100%;line-height:0;font-size:1rem}
h1 svg{display:block;width:100%;height:auto;overflow:visible}
h1 path{fill:#EDEDED}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.line{margin:clamp(22px,3.2vw,120px) 0 0;color:#9A9A9A;font-size:clamp(12px,.86vw,34px);
  letter-spacing:.42em;padding-left:.42em;text-transform:uppercase}
footer{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;
  padding:0 0 max(clamp(18px,2.4vw,80px),env(safe-area-inset-bottom))}
footer a{color:#858585;text-decoration:none;font-size:clamp(11px,.62vw,24px);letter-spacing:.32em;
  padding:.8em 0 .8em .32em;text-transform:uppercase;transition:color .3s}
footer a:hover,footer a:focus-visible{color:#D6D6D6}
a:focus-visible{outline:1px solid #8A8A8A;outline-offset:4px}
@media (max-width:700px){.lockup{width:84vw}.line{letter-spacing:.3em;padding-left:.3em}}
@media (max-height:420px) and (orientation:landscape){.lockup{--lift:-4vh;width:62vw}}

.kscan{position:relative;width:100%;height:1px;margin-top:clamp(20px,2.6vw,100px);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12) 10%,rgba(255,255,255,.12) 90%,transparent)}
.kscan i{position:absolute;inset:0;--k:0;
  animation:ksweep var(--half) cubic-bezier(.45,0,.55,1) infinite alternate;
  animation-delay:calc(var(--k) * var(--dt) - var(--base));will-change:transform}
.kscan i::before{content:"";position:absolute;top:50%;left:calc(var(--seg) / -2);width:var(--seg);height:var(--h);
  transform:translateY(-50%) scaleY(var(--sy,1));border-radius:99px;background:var(--trail)}
.kscan .k0::before{background:var(--head);box-shadow:0 0 var(--gl) var(--glow)}
.kscan .k0::after{content:"";position:absolute;top:50%;left:calc(var(--seg) * -2);width:calc(var(--seg) * 4);
  height:clamp(18px,1.8vw,70px);transform:translateY(-50%);background:radial-gradient(closest-side,var(--bloom),transparent)}
.kscan .k1{--k:1;opacity:.62;--sy:.95}.kscan .k2{--k:2;opacity:.44;--sy:.9}.kscan .k3{--k:3;opacity:.31;--sy:.85}
.kscan .k4{--k:4;opacity:.21;--sy:.8}.kscan .k5{--k:5;opacity:.14;--sy:.75}.kscan .k6{--k:6;opacity:.085;--sy:.7}
.kscan .k7{--k:7;opacity:.05;--sy:.65}
@keyframes ksweep{from{transform:translateX(3%)}to{transform:translateX(97%)}}
@media (prefers-reduced-motion:reduce){
  .kscan i{animation:none;transform:translateX(calc(50% - var(--k) * var(--still)))}}

.lockup{--lift:-5vh}
.kscan{--half:1.8s;--dt:.055s;--base:.9s;--seg:5.2%;--h:clamp(2px,.21vw,8px);--still:2.6%;--gl:clamp(4px,.5vw,18px);
  --head:linear-gradient(90deg,#FF3B2E,#FFB3A6 50%,#FF3B2E);--trail:linear-gradient(90deg,#E8221A,#FF4A3A 50%,#E8221A);
  --glow:rgba(255,42,31,.8);--bloom:rgba(255,42,31,.22)}
.line{margin-top:clamp(20px,2.6vw,100px)}

@font-face{font-family:"KV Wide";src:url(kv-wide.woff2) format("woff2");font-weight:400;font-display:swap}
.line{font-family:"KV Wide","KV Mono",ui-monospace,monospace;font-weight:400;text-transform:uppercase;
  letter-spacing:.42em;padding-left:.42em;font-size:clamp(9px,.66vw,26px);color:#A3A3A3}
@media (max-width:700px){.line{letter-spacing:.32em;padding-left:.32em}}
