*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#142126;color:#e8d7b5;font-family:"Bahnschrift","Segoe UI",sans-serif}.landscape,.shade{position:fixed;inset:0;pointer-events:none}.landscape{background:url('/assets/citadel-dusk.png') center center/cover no-repeat}.shade{background:radial-gradient(ellipse at 50% 43%,rgba(8,20,24,.12),transparent 55%),linear-gradient(0deg,rgba(7,15,18,.62),transparent 28%,rgba(7,15,18,.08) 78%,rgba(7,15,18,.25))}main{position:relative;height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px 20px 62px;text-align:center}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(56px,9.1vw,144px);font-weight:700;line-height:1.08;letter-spacing:.055em;margin:12px 0 10px;padding-left:.055em;background:linear-gradient(#fff2cf 10%,#e0bd82 53%,#b58650 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #302e28) drop-shadow(0 9px 18px #101c20)}.eyebrow{font-size:11px;letter-spacing:.5em;padding-left:.5em;color:#c5d2cb;margin:0;text-shadow:0 2px 10px #132329}.rule{display:flex;align-items:center;gap:15px;width:210px;color:#b29769;font-size:8px;opacity:.8}.rule:before,.rule:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#a18c69)}.rule:after{transform:rotate(180deg)}.soon{font-size:13px;letter-spacing:.42em;padding-left:.42em;margin:22px 0 35px;color:#e0d5bd;text-shadow:0 2px 8px #102126}.join{display:flex;gap:13px;align-items:center;justify-content:center;min-height:54px;padding:0 30px;color:#e6e2cb;text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.04em;border:1px solid #a39164;box-shadow:0 0 0 3px #1b3031a0,inset 0 1px #dae0be15,0 8px 25px #08161940;background:linear-gradient(120deg,#344d49ed,#233b3ae8);transition:background .2s,box-shadow .2s,transform .2s}.join svg{width:22px;height:22px;fill:#c0d2c9}.join:hover{background:#405c53;box-shadow:0 0 0 3px #1b3031a0,0 0 30px #8cb7a625;transform:translateY(-2px)}.note{font-size:11px;color:#aebfba;margin:17px 0 32px;letter-spacing:.025em}nav{display:flex;align-items:center;gap:23px}nav a{display:flex;padding:7px;color:#a5b9b2;opacity:.7;transition:color .2s,opacity .2s,transform .2s}nav svg{width:20px;height:20px;fill:currentColor;filter:drop-shadow(0 2px 4px #142027)}nav a:hover{opacity:1;color:#f0d6a3;transform:translateY(-2px)}a:focus-visible{outline:2px solid #ecd09d;outline-offset:6px}footer{position:fixed;bottom:22px;left:30px;right:30px;display:flex;justify-content:space-between;color:#b5c3bb99;font-size:9px;letter-spacing:.17em}.legal{letter-spacing:.03em}@media(max-width:600px){.landscape{background-position:61% center}.shade{background:linear-gradient(90deg,#0a1b2255,#0a1b2222),linear-gradient(0deg,#08171dcc,transparent 35%)}h1{font-size:clamp(47px,12.4vw,74px)}.eyebrow{font-size:9px;letter-spacing:.35em}.soon{font-size:11px;margin-bottom:30px}.join{min-height:51px;padding:0 25px}.note{font-size:10px}footer{left:18px;right:18px;bottom:16px;font-size:8px}.legal{max-width:125px;text-align:right}}@media(max-height:540px){main{padding-bottom:32px}h1{font-size:clamp(48px,10vh,80px);margin:4px 0}.eyebrow{font-size:9px}.soon{margin:10px 0 17px}.join{min-height:43px}.note{margin:10px 0 12px}footer{bottom:12px}}@media(prefers-reduced-motion:reduce){a{transition:none!important}}

/* Slow ambient movement leaves the interface anchored. */
.scene{position:fixed;inset:-18px;pointer-events:none;transform:translate3d(var(--pan-x,0px),var(--pan-y,0px),0);transition:transform 1.8s cubic-bezier(.16,1,.3,1)}
.scene .landscape{position:absolute;inset:-2%;animation:landscape-drift 32s ease-in-out infinite alternate;will-change:transform}
.mist{position:absolute;inset:-10%;background:radial-gradient(ellipse at 22% 78%,#b9d1cb12,transparent 40%),radial-gradient(ellipse at 75% 90%,#c7d5d514,transparent 35%);animation:mist-drift 24s ease-in-out infinite alternate;pointer-events:none}
@keyframes landscape-drift{from{transform:translate3d(-.6%,.3%,0) scale(1.015)}to{transform:translate3d(.6%,-.4%,0) scale(1.045)}}
@keyframes mist-drift{from{transform:translate3d(-2%,1%,0);opacity:.35}to{transform:translate3d(3%,-1%,0);opacity:.8}}
body.is-hidden .landscape,body.is-hidden .mist{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.scene{transform:none;transition:none}.scene .landscape,.mist{animation:none;will-change:auto}}
