:root{
  --ink:#0A0F1A;
  --panel:#101828;
  --panel2:#151F31;
  --line:#25324A;
  --amber:#E8A33D;
  --amber-dim:#8A6427;
  --phosphor:#59D9A6;
  --chalk:#EDEFF3;
  --steel:#8494AD;
  --steel-dim:#4C5A73;
  --amber-bright:#f0b458;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);
  color:var(--chalk);
  font-family:'IBM Plex Sans', sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em;}

.bg-grid{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(37,50,74,0.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,50,74,0.35) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 90%);
}

.wrap{position:relative; z-index:1; max-width:1040px; margin:0 auto; padding:0 32px;}

.hero{
  min-height:92vh;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center;
  padding:80px 24px;
  position:relative;
}
.hero-mark{width:180px; height:180px; margin-bottom:28px;}
.hero-eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.28em;
  color:var(--phosphor); text-transform:uppercase; margin-bottom:20px;
}
.hero-eyebrow::before{content:"● ";}
.hero h1{
  font-family:'Space Grotesk', sans-serif;
  font-size:clamp(56px, 11vw, 116px); font-weight:700; letter-spacing:-0.03em;
  color:var(--chalk); line-height:0.95;
}
.hero-tagline{
  margin-top:22px; font-size:clamp(18px,2.6vw,24px); color:var(--steel);
  font-weight:400; max-width:560px;
}
.hero-tagline b{color:var(--amber); font-weight:600;}
.cta-primary{
  margin-top:36px; display:inline-block;
  font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:16px;
  color:var(--ink); background:var(--amber); padding:14px 28px; border-radius:6px;
  text-decoration:none;
}
.cta-primary:hover{background:var(--amber-bright);}

section{padding:96px 0; border-top:1px solid var(--line); position:relative;}
.strip-label{display:flex; align-items:center; gap:14px; margin-bottom:44px;}
.strip-code{
  font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--ink);
  background:var(--amber); padding:4px 10px; border-radius:3px; font-weight:600;
  letter-spacing:0.05em;
}
.strip-title{font-family:'Space Grotesk', sans-serif; font-size:15px; color:var(--steel); letter-spacing:0.16em; text-transform:uppercase;}
h2.section-head{
  font-family:'Space Grotesk', sans-serif; font-size:clamp(30px,4vw,44px);
  font-weight:600; letter-spacing:-0.01em; margin-bottom:16px; max-width:680px;
}
.section-sub{color:var(--steel); max-width:600px; font-size:16px;}

#waitlist-form{margin-top:40px; max-width:560px;}
.form-label{display:block; font-size:12px; color:var(--phosphor); letter-spacing:0.1em; margin-bottom:10px; text-transform:uppercase;}
.form-row{display:flex; gap:10px; flex-wrap:wrap;}
#email{
  flex:1 1 260px; background:var(--panel); border:1px solid var(--line); border-radius:6px;
  padding:14px 16px; color:var(--chalk); font-size:15px; font-family:'IBM Plex Sans', sans-serif;
}
#email:focus{outline:2px solid var(--amber); outline-offset:1px;}
.hp-field{
  position:absolute; left:-9999px; width:1px; height:1px; opacity:0;
}
#waitlist-submit{
  font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:15px;
  color:var(--ink); background:var(--amber); border:none; border-radius:6px;
  padding:14px 24px; cursor:pointer;
}
#waitlist-submit:hover{background:var(--amber-bright);}
#waitlist-submit:disabled{background:var(--amber-dim); cursor:default;}
#waitlist-status{margin-top:14px; font-size:13px; color:var(--steel); min-height:18px;}
#waitlist-status.ok{color:var(--phosphor);}
#waitlist-status.err{color:#E85A5A;}

footer{padding:60px 0 80px; text-align:center; color:var(--steel); font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.08em;}

@media(max-width:520px){
  .form-row{flex-direction:column;}
  #waitlist-submit{width:100%;}
}
