*{box-sizing:border-box;margin:0}
html,body{height:100%;overflow-x:hidden}
body{background:#0a1030;color:#fff;font-family:Montserrat,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}
.bg{position:fixed;inset:-4%;z-index:-3;background-size:cover;background-position:center;opacity:0;animation:fade 24s linear infinite,drift 24s ease-in-out infinite alternate;animation-delay:-1.44s;will-change:opacity,transform}
.bg-3{background-image:url(assets/bg-03.jpg)}
.bg-4{background-image:url(assets/bg-04.jpg);animation-delay:4.56s}
.bg-1{background-image:url(assets/bg-01.jpg);animation-delay:10.56s}
.bg-2{background-image:url(assets/bg-02.jpg);animation-delay:16.56s}
@keyframes fade{0%{opacity:0}6%{opacity:1}25%{opacity:1}31%{opacity:0}100%{opacity:0}}
@keyframes drift{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.08) translate(-1.5%,1%)}}
.scan{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;background:repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 3px)}
.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,rgba(5,6,20,0) 35%,rgba(5,6,20,.65) 100%),rgba(5,6,20,.18)}
.grain{position:fixed;inset:-50%;z-index:50;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .8s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.corner{position:fixed;z-index:10;font-weight:700;font-size:clamp(.66rem,1.1vw,.86rem);letter-spacing:.32em;text-transform:uppercase;color:#fff;line-height:1.6}
.tl{top:7vh;left:6vw;text-align:left}
.tr{top:7vh;right:6vw;text-align:right;font-size:clamp(.9rem,1.4vw,1.2rem);letter-spacing:.4em}
.bl{bottom:7vh;left:6vw;text-align:left}
.br{bottom:7vh;right:6vw;text-align:right;font-weight:800;letter-spacing:.18em}
.br a{color:inherit;text-decoration:none}
.br a:hover,.br a:focus-visible{text-decoration:underline}
.hero{position:absolute;z-index:10;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;text-align:center;color:inherit;text-decoration:none;display:block}
.kicker{display:block;position:relative;z-index:2;font-family:Rokkitt,Georgia,serif;font-weight:900;color:#ffb36b;text-shadow:0 2px 14px rgba(0,0,0,.55);font-size:clamp(1.6rem,3.8vw,3.4rem);letter-spacing:.7em;padding-left:.7em;text-transform:uppercase;margin-bottom:.15em;line-height:1}
.display{display:block;position:relative;font-family:Rokkitt,Georgia,serif;font-weight:900;color:#fff;font-size:clamp(4rem,11.5vw,10.5rem);line-height:.85;letter-spacing:.02em;text-transform:uppercase;width:max-content;margin:0 auto}
.display sup{position:absolute;top:-.05em;right:-.75em;font-family:Rokkitt,Georgia,serif;font-weight:900;font-size:.22em;line-height:1;letter-spacing:0}
.blurb{display:block;font-weight:500;font-size:clamp(.95rem,1.25vw,1.15rem);line-height:1.65;letter-spacing:.01em;color:rgba(255,255,255,.88);max-width:58ch;margin:1.6rem auto 0;text-align:center;text-transform:none}
.blurb b{font-weight:800;color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.sub{display:block;font-weight:500;font-size:clamp(.7rem,1.5vw,1.15rem);letter-spacing:.32em;padding-left:.32em;text-transform:uppercase;color:#fff;margin-top:1.2rem}
.sub b{font-weight:800}
.sub a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
@media (max-width:640px){
.corner{font-size:.6rem;letter-spacing:.25em}
.tr{font-size:.75rem;letter-spacing:.3em}
.tl,.tr{top:5vh}.bl,.br{bottom:5vh}
.tl,.bl{left:6vw}.tr,.br{right:6vw}
.display{font-size:20vw}
.blurb{font-size:.95rem;max-width:92vw}
.kicker{letter-spacing:.35em;padding-left:.35em}
}
@media (prefers-reduced-motion:reduce){
*,*::before{animation:none!important;transition:none!important}
.bg-3{opacity:1}
}
