:root{--bg:#050505;--panel:#101010;--text:#fff;--muted:#c9c9c9;--line:rgba(255,255,255,.14);--red:#c1121f;--red-dark:#8f0e17}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}body{background:radial-gradient(circle at 12% 0%,#202020 0%,#050505 44%,#000 100%)}a{color:inherit}.wrap{width:min(1120px,92vw);margin:0 auto;padding:42px 0 72px}.nav{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:72px}.brand{font-size:clamp(1.4rem,3vw,2.4rem);font-weight:900;letter-spacing:-.05em;text-decoration:none}.links{display:flex;gap:18px;flex-wrap:wrap}.links a{font-weight:900;text-decoration:none;color:#fff;opacity:.78}.links a:hover{opacity:1}.hero{min-height:58vh;display:grid;align-content:center}.kicker{text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--red);margin:0 0 18px}.title{font-size:clamp(4.2rem,14vw,11rem);line-height:.82;letter-spacing:-.09em;margin:0 0 28px;font-weight:900}.lede{font-size:clamp(1.35rem,3vw,2.4rem);line-height:1.08;max-width:900px;font-weight:900;margin:0;color:#fff}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);border:2px solid var(--red);color:#fff;text-decoration:none;font-size:1rem;font-weight:900;letter-spacing:.02em;padding:15px 20px;border-radius:0}.btn:hover{background:var(--red-dark);border-color:var(--red-dark)}.btn.secondary{background:transparent;border-color:#fff}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:42px}.card{background:rgba(255,255,255,.035);border:1px solid var(--line);padding:28px;min-height:190px}.card h2{font-size:clamp(1.8rem,4vw,3.2rem);line-height:.9;margin:0 0 20px;font-weight:900;letter-spacing:-.06em}.card p,.card li{font-size:1.02rem;line-height:1.45;color:var(--muted);font-weight:700}.footer{position:fixed;left:0;right:0;bottom:10px;text-align:center;color:#fff;opacity:.32;font-weight:900;font-size:.72rem;pointer-events:none}@media(max-width:820px){.nav{align-items:flex-start;flex-direction:column;margin-bottom:42px}.links{gap:12px}.hero{min-height:52vh}.grid{grid-template-columns:1fr}.card{min-height:auto}.footer{position:static;padding:34px 0 0}}

body.welcome-page{
  min-height:100vh;
  overflow:hidden;
  background:#000;
}
.welcome-content{
  position:relative;
  z-index:2;
  display:flex;
  min-height:100vh;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:2rem;
  text-align:center;
  opacity:0;
  animation:welcome-fade-in 1.5s ease-out forwards;
}
.welcome-content h1{
  margin:0 0 1rem;
  color:#f5f5f7;
  font-size:clamp(2.6rem,9vw,11rem);
  font-weight:900;
  letter-spacing:-.035em;
  line-height:.92;
}
.welcome-tagline{
  margin:0 0 2.5rem;
  color:#fff;
  font-size:clamp(1.2rem,2.8vw,1.72rem);
  font-weight:700;
  letter-spacing:.02em;
}
.welcome-cta{
  display:inline-block;
  padding:.85rem 2.2rem;
  border:0;
  border-radius:10px;
  background:linear-gradient(120deg,#5b151e,#93222d);
  color:#fff;
  cursor:default;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
  opacity:.45;
}
.welcome-footer{
  position:fixed;
  right:0;
  bottom:.6rem;
  left:0;
  z-index:4;
  color:#fff;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.02em;
  opacity:.85;
  pointer-events:none;
  text-align:center;
}
.welcome-back-link{
  position:fixed;
  bottom:2rem;
  left:1rem;
  z-index:4;
  color:#fff;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.02em;
  opacity:0;
  text-decoration:none;
  transition:opacity .2s ease;
  animation:welcome-back-link-fade-in 1.5s ease-out forwards;
}
.welcome-back-link:hover{opacity:1}
@keyframes welcome-fade-in{to{opacity:1}}
@keyframes welcome-bg-fade-in{to{opacity:1}}
@keyframes welcome-back-link-fade-in{to{opacity:.55}}
@media(max-width:768px){.welcome-content h1{font-size:clamp(2.4rem,9vw,5rem);letter-spacing:-.025em}}
@media(max-width:480px){.welcome-content h1{font-size:2.2rem;letter-spacing:-.02em}.welcome-tagline{font-size:1.15rem}.welcome-cta{padding:.7rem 1.5rem;font-size:.85rem}}

.future-orbit-bg{
  position:fixed;
  inset:-12%;
  z-index:0;
  overflow:hidden;
  opacity:0;
  animation:welcome-bg-fade-in 1s ease-out forwards;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.11),transparent 16%),
    radial-gradient(circle at 68% 30%,rgba(193,18,31,.3),transparent 24%),
    radial-gradient(circle at 22% 76%,rgba(143,14,23,.24),transparent 24%),
    #000;
}
.future-orbit-bg::before,
.future-orbit-bg::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:min(78vw,840px);
  height:min(78vw,840px);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.future-orbit-bg::before{
  border:2px solid rgba(255,255,255,.16);
  box-shadow:
    0 0 0 4rem rgba(255,255,255,.018),
    0 0 0 8rem rgba(193,18,31,.026),
    0 0 96px rgba(193,18,31,.22);
  animation:future-orbit-breathe 9s ease-in-out infinite;
}
.future-orbit-bg::after{
  background:
    conic-gradient(from 0deg,transparent 0 20deg,rgba(255,255,255,.34) 24deg 29deg,transparent 34deg 112deg,rgba(193,18,31,.62) 118deg 124deg,transparent 130deg 230deg,rgba(255,255,255,.2) 236deg 240deg,transparent 246deg 360deg);
  mask:radial-gradient(circle,transparent 0 45%,#000 46% 48%,transparent 49% 100%);
  animation:future-orbit-spin 26s linear infinite;
}
body.future-welcome .welcome-content::before{
  content:"";
  position:absolute;
  width:min(24vw,260px);
  height:min(24vw,260px);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:radial-gradient(circle,rgba(255,255,255,.08),transparent 62%);
  box-shadow:0 0 74px rgba(193,18,31,.22);
  animation:future-seal 12s ease-in-out infinite;
  pointer-events:none;
}
body.future-welcome .welcome-content>*{position:relative;z-index:1}
@keyframes future-orbit-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes future-orbit-breathe{0%,100%{opacity:.28;transform:translate(-50%,-50%) scale(.94)}50%{opacity:.52;transform:translate(-50%,-50%) scale(1.03)}}
@keyframes future-seal{0%,100%{opacity:.34;transform:scale(.92) rotate(0deg)}50%{opacity:.58;transform:scale(1.04) rotate(8deg)}}
