:root{
  --bg:#07070a; --bg2:#0d0d12; --card:#101016; --fg:#f3f1ea; --muted:#a3a097; --line:#24242c;
  --accent:#d4ff3a; --accent-ink:#0b0d00; --danger:#ff8a7a;
  --radius:14px; --max:1080px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font:400 1.0625rem/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--fg)}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
[hidden]{display:none !important}

.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--accent-ink);padding:8px 14px;border-radius:8px;z-index:100;font-weight:700}
.skip:focus{left:12px}

/* Header */
.top{position:sticky;top:0;z-index:50;background:rgba(7,7,10,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:900;letter-spacing:.02em;font-size:1.25rem;text-decoration:none}
.brand span{color:var(--accent)}
nav{display:flex;align-items:center;gap:22px}
.nav-link{text-decoration:none;color:var(--muted);font-size:.95rem}
.nav-link:hover{color:var(--fg)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent);
  font-family:inherit;font-weight:800;font-size:1rem;line-height:1;letter-spacing:.01em;
  padding:16px 26px;border-radius:999px;cursor:pointer;text-decoration:none;
  transition:transform .12s ease, background .12s ease, color .12s ease;
}
.btn:hover{transform:translateY(-1px);color:var(--accent-ink);background:#e4ff7a;border-color:#e4ff7a}
.btn:disabled{opacity:.6;cursor:progress;transform:none}
.btn-ghost{background:transparent;color:var(--fg);border-color:#3a3a46}
.btn-ghost:hover{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn-small{padding:10px 18px;font-size:.92rem}
.btn-block{width:100%}

/* Hero */
.hero{padding:56px 0 72px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:center;min-height:min(78vh,720px)}
.eyebrow{margin:0 0 18px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:700}
h1{
  margin:0 0 24px;font-size:clamp(2.5rem,7.4vw,4.7rem);line-height:.98;letter-spacing:-.035em;
  font-weight:900;text-transform:uppercase;
}
h1 span{display:block;text-wrap:balance}
.hl{color:var(--accent)}
.lede{font-size:clamp(1.1rem,2.2vw,1.35rem);color:#d6d3ca;max-width:34em;margin:0 0 30px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.hero-note{margin:22px 0 0;color:var(--muted);font-size:.95rem}
.hero-note strong{color:var(--fg)}

.disc-wrap{display:flex;justify-content:center;min-width:0}
.disc{
  position:relative;width:min(100%,400px);aspect-ratio:1;border-radius:50%;
  background:
    conic-gradient(from 20deg,#15151c,#3b3b4a,#14141b,#5a5a70,#16161d,#2c2c38,#72728a,#14141b,#3f3f50,#15151c);
  box-shadow:0 0 0 1px #2c2c36,0 40px 100px rgba(212,255,58,.07),inset 0 0 60px rgba(0,0,0,.55);
  animation:spin 30s linear infinite;
}
.disc::before{ /* hub ring */
  content:"";position:absolute;inset:33%;border-radius:50%;
  background:radial-gradient(circle,#0a0a0e 0 30%,#2a2a34 31% 36%,#0d0d12 37% 100%);
  box-shadow:0 0 0 1px #34343f;
}
.disc::after{ /* faint rainbow sheen */
  content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 100deg,transparent 0 20%,rgba(212,255,58,.14) 28%,transparent 36% 60%,rgba(120,160,255,.12) 70%,transparent 80%);
  mix-blend-mode:screen;
}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.disc{animation:none} html{scroll-behavior:auto} .btn{transition:none}}

/* Sections */
.block{padding:84px 0;border-top:1px solid var(--line)}
.block.alt{background:var(--bg2)}
.label{margin:0 0 14px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
h2{margin:0 0 26px;font-size:clamp(1.8rem,4.6vw,3rem);line-height:1.08;letter-spacing:-.02em;font-weight:900}
h3{margin:12px 0 8px;font-size:1.2rem}
.sub{color:#d0cdc4;font-size:1.12rem;max-width:40em;margin:-6px 0 34px}
.fine{color:var(--muted);font-size:.9rem;margin:22px 0 0}

.story{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,2.4vw,1.4rem);line-height:1.65;color:#e6e3da}
.story p{margin:0 0 1.1em}
.story .pull{margin-top:1.6em;padding-left:20px;border-left:4px solid var(--accent);color:var(--fg);font-weight:700}

.facts{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.facts li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;color:#d6d3ca}
.facts strong{display:block;color:var(--fg);font-size:1.1rem;margin-bottom:6px}
.facts a{display:inline-block;margin-top:8px;color:var(--accent);font-size:.95rem}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.card p{margin:0;color:#cfccc3}
.chip{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid #3a3a46;color:var(--muted)}
.chip-on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

.rights{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;counter-reset:r}
.rights li{counter-increment:r;position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 22px 70px;color:#d0cdc4}
.rights li::before{content:counter(r,decimal-leading-zero);position:absolute;left:22px;top:20px;font-weight:900;font-size:1.5rem;color:var(--accent);letter-spacing:-.02em}
.rights strong{color:var(--fg)}

.nots{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.nots div{border-top:2px solid var(--accent);padding-top:14px}
.nots strong{display:block;font-size:1.1rem;margin-bottom:6px}
.nots span{color:var(--muted);font-size:.98rem}

/* Join form */
.join{background:radial-gradient(900px 400px at 50% 0,rgba(212,255,58,.06),transparent 70%),var(--bg)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px}
.field{margin-bottom:18px}
.field label{display:block;margin-bottom:8px;font-weight:700;font-size:.95rem}
.opt{color:var(--muted);font-weight:400}
input[type=email],select{
  width:100%;appearance:none;-webkit-appearance:none;background:#0a0a0e;color:var(--fg);
  border:1.5px solid #34343f;border-radius:12px;padding:15px 16px;font:inherit;font-size:1rem;
}
select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 22px) 55%,calc(100% - 16px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:42px}
input[type=email]:focus,select:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.check{display:flex;gap:12px;align-items:flex-start}
.check input{width:22px;height:22px;margin:3px 0 0;accent-color:var(--accent);flex:none}
.check label{margin:0;font-weight:400;color:#cfccc3;font-size:.95rem}
.check a{color:var(--accent)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{min-height:1.4em;margin:14px 0 0;font-size:.95rem;color:var(--muted)}
.status.is-error{color:var(--danger)}
.status.is-ok{color:var(--accent)}
.done h3{font-size:2rem;margin:0 0 8px;letter-spacing:-.02em}
.done p{color:#d6d3ca}
.done .done-line strong{color:var(--accent);font-size:1.3rem}
.done .cta-row{margin:18px 0 0}

/* Footer */
.foot{border-top:1px solid var(--line);padding:36px 0 56px;color:var(--muted);font-size:.95rem}
.foot-row{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.foot-row .brand{color:var(--fg)}
.foot a{color:var(--muted)}
.foot a:hover{color:var(--accent)}
.privacy{margin-top:18px}
.privacy summary{cursor:pointer;color:var(--fg);font-weight:700}
.privacy ul{margin:14px 0 0;padding-left:20px;display:grid;gap:8px;max-width:720px}

/* Responsive */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .disc-wrap{order:-1}
  .disc{width:min(40vw,190px)}
  .cards,.nots{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .hero{padding:32px 0 56px}
  .block{padding:60px 0}
  .cards,.rights,.nots{grid-template-columns:1fr}
  .nav-link{display:none}
  .panel{padding:20px}
  .btn{width:100%}
  .cta-row .btn{width:100%}
  .btn-small{width:auto}
}
