@font-face { font-family: "League Gothic"; src: url("/fonts/LeagueGothic.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: Montserrat; src: url("/fonts/Montserrat-600.ttf") format("truetype"); font-weight: 600; font-display: swap; }
@font-face { font-family: Montserrat; src: url("/fonts/Montserrat-800.ttf") format("truetype"); font-weight: 800; font-display: swap; }

:root { --bg: #04070a; --text: #f4f4f2; --muted: #9aa6ae; --mint: #5be3a8; --amber: #ffb020; }
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { min-height: 100%; }
body { background: var(--bg); color: var(--text); font-family: Montserrat, system-ui, sans-serif; font-weight: 600;
       min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
.terrain { position: fixed; inset: -6%; background: url("/terrain.svg") center / cover no-repeat; opacity: .3; animation: drift 40s ease-in-out infinite alternate; }
.glow { position: fixed; left: 50%; top: 30%; width: 120vmax; height: 120vmax; transform: translate(-50%, -50%);
        background: radial-gradient(circle, rgba(91,227,168,.18) 0%, rgba(91,227,168,0) 55%); pointer-events: none; }
main { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 10vh 8vw 6vh; max-width: 1100px; }
.kicker { color: var(--amber); font-weight: 800; letter-spacing: .28em; text-transform: uppercase; font-size: clamp(.8rem, 1.6vw, 1.05rem); }
h1 { font-family: "League Gothic", Impact, sans-serif; font-weight: 400; text-transform: uppercase; line-height: .86;
     font-size: clamp(5.5rem, 19vw, 13rem); color: var(--mint); text-shadow: 0 0 46px rgba(91,227,168,.45); margin-top: .35em; }
.bar { width: 160px; height: 6px; border-radius: 3px; background: var(--amber); box-shadow: 0 0 18px rgba(255,176,32,.8); margin: 1.4rem 0 1.6rem; }
.lead { font-size: clamp(1.05rem, 2.2vw, 1.45rem); line-height: 1.5; max-width: 34em; color: var(--text); }
.lead strong { color: var(--mint); font-weight: 800; }
.soon { margin-top: .8rem; color: var(--muted); }
.links { margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: 1rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.6rem; border-radius: 999px;
          font-weight: 800; text-decoration: none; color: var(--bg); background: var(--mint); transition: transform .15s ease, box-shadow .15s ease; }
.button:hover { transform: translateY(-1px); box-shadow: 0 8px 30px rgba(91,227,168,.35); }
.button:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
footer { position: relative; padding: 1.4rem 8vw 2rem; color: var(--muted); font-size: .8rem; }
@keyframes drift { from { transform: translate3d(-1%, 0, 0) scale(1.02); } to { transform: translate3d(1%, -1%, 0) scale(1.05); } }
@media (prefers-reduced-motion: reduce) { .terrain { animation: none; } .button { transition: none; } }
