:root{
  --bg: #0B1220; --panel: #121A2C; --panel-2: #182236; --line: #263148;
  --text: #E8ECF3; --muted: #8B96AC; --accent: #2DD9A8; --accent-dim: #1E9E7C; --warn: #F0A93F;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg); color:var(--text); font-family:'Inter', sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased;}
a{color:inherit;} img,svg{display:block; max-width:100%;}
.wrap{max-width:1120px; margin:0 auto; padding:0 24px;}
h1,h2,h3{font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em; color:#F5F7FB;}
.mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em;}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}

header.site{position:sticky; top:0; z-index:50; background:rgba(11,18,32,0.85); backdrop-filter: blur(10px); border-bottom:1px solid var(--line);}
nav{display:flex; align-items:center; justify-content:space-between; padding:18px 24px; max-width:1120px; margin:0 auto;}
.logo{font-family:'Fraunces', serif; font-weight:700; font-size:1.35rem; color:#fff; display:flex; align-items:center; gap:10px; text-decoration:none;}
.logo .mark{width:26px; height:26px; border-radius:6px; background:linear-gradient(135deg, var(--accent), var(--accent-dim)); display:inline-block;}
.nav-links{display:none; gap:32px; font-size:0.94rem; color:var(--muted);}
.nav-links a{text-decoration:none;}
.nav-links a.active{color:var(--accent);}
.nav-cta{background:var(--accent); color:#062018; font-weight:600; padding:9px 18px; border-radius:8px; font-size:0.9rem; text-decoration:none; white-space:nowrap;}
@media(min-width:820px){ .nav-links{display:flex;} }
.nav-links a:hover{color:var(--text);}

.hero{padding:96px 0 80px; position:relative; overflow:hidden; border-bottom:1px solid var(--line);}
.hero::before{content:""; position:absolute; top:-200px; right:-160px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(45,217,168,0.16), transparent 70%); pointer-events:none;}
.hero-inner{max-width:760px; position:relative; z-index:1;}
.hero-grid{display:grid; grid-template-columns:1fr; gap:56px; position:relative; z-index:1;}
@media(min-width:960px){ .hero-grid{grid-template-columns:1.05fr 0.95fr; align-items:center;} }
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--accent); background:rgba(45,217,168,0.08); border:1px solid rgba(45,217,168,0.3); padding:6px 12px; border-radius:100px; margin-bottom:24px; letter-spacing:0.03em;}
.eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--accent); animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;} 50%{opacity:0.35;}}
h1{font-size:clamp(2.1rem, 4.8vw, 3.5rem); line-height:1.08;}
h1 em{font-style:italic; color:var(--accent);}
.hero p.lead{margin-top:22px; font-size:1.14rem; color:var(--muted); max-width:50ch;}
.hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-top:34px;}
.btn{display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:9px; font-weight:600; font-size:0.97rem; text-decoration:none; transition:transform .15s ease, background .15s ease; border:1px solid transparent; cursor:pointer;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--accent); color:#062018;}
.btn-primary:hover{background:#3CE8B9;}
.btn-ghost{border-color:var(--line); color:var(--text); background:transparent;}
.btn-ghost:hover{border-color:var(--accent); color:var(--accent);}
.hero-note{margin-top:16px; font-size:0.85rem; color:var(--muted);}

.fw-strip{display:flex; flex-wrap:wrap; gap:10px; margin-top:44px;}
.fw-chip{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; padding:8px 14px; border-radius:8px; border:1px solid var(--line); background:var(--panel); color:var(--muted); display:flex; align-items:center; gap:8px;}
.fw-chip.live{border-color:rgba(45,217,168,0.4); color:var(--accent); background:rgba(45,217,168,0.06);}
.fw-chip .dot2{width:5px; height:5px; border-radius:50%; background:currentColor;}

.panel{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:22px; box-shadow:0 30px 60px -30px rgba(0,0,0,0.6);}
.panel-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--line);}
.panel-title{font-family:'IBM Plex Mono', monospace; font-size:0.82rem; color:var(--muted);}
.panel-badge{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; color:var(--accent); background:rgba(45,217,168,0.1); padding:4px 10px; border-radius:100px; border:1px solid rgba(45,217,168,0.25);}
.control-row{display:flex; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid var(--panel-2);}
.control-row:last-child{border-bottom:none;}
.control-id{font-family:'IBM Plex Mono', monospace; font-size:0.76rem; color:var(--muted); width:88px; flex-shrink:0;}
.control-name{font-size:0.92rem; flex-grow:1; color:#D9DFEA;}
.control-status{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; padding:4px 10px; border-radius:100px; flex-shrink:0; display:flex; align-items:center; gap:6px; opacity:0; transform:translateY(4px); animation:reveal 0.5s ease forwards;}
.control-status.verified{background:rgba(45,217,168,0.12); color:var(--accent); border:1px solid rgba(45,217,168,0.3);}
.control-status.checking{background:rgba(139,150,172,0.12); color:var(--muted); border:1px solid var(--line);}
@keyframes reveal{to{opacity:1; transform:translateY(0);}}
.control-row:nth-child(1) .control-status{animation-delay:0.2s;}
.control-row:nth-child(2) .control-status{animation-delay:0.6s;}
.control-row:nth-child(3) .control-status{animation-delay:1.0s;}
.control-row:nth-child(4) .control-status{animation-delay:1.4s;}
.control-row:nth-child(5) .control-status{animation-delay:1.8s;}
.status-dot{width:5px; height:5px; border-radius:50%; background:currentColor;}
.panel-foot{margin-top:16px; padding-top:16px; border-top:1px solid var(--line);}
.progress-label{font-size:0.78rem; color:var(--muted); font-family:'IBM Plex Mono', monospace;}
.progress-track{width:100%; height:6px; background:var(--panel-2); border-radius:100px; margin-top:8px; overflow:hidden;}
.progress-fill{height:100%; width:0%; background:linear-gradient(90deg, var(--accent-dim), var(--accent)); border-radius:100px; animation:fillbar 2.4s ease forwards; animation-delay:0.2s;}
@media(prefers-reduced-motion: reduce){ .control-status, .progress-fill, .eyebrow .dot{animation:none !important; opacity:1 !important;} }

section{padding:88px 0; border-bottom:1px solid var(--line);}
.section-label{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--accent); letter-spacing:0.05em; text-transform:uppercase; margin-bottom:14px;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(1.6rem, 3vw, 2.3rem);}
.section-head p{color:var(--muted); margin-top:14px; font-size:1.05rem;}

.pain-grid{display:grid; gap:20px; grid-template-columns:1fr;}
@media(min-width:760px){ .pain-grid{grid-template-columns:repeat(3, 1fr);} }
.pain-card{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:26px;}
.pain-card .pain-icon{width:38px; height:38px; border-radius:9px; background:rgba(240,169,63,0.1); border:1px solid rgba(240,169,63,0.3); display:flex; align-items:center; justify-content:center; color:var(--warn); font-family:'IBM Plex Mono', monospace; font-weight:600; margin-bottom:16px;}
.pain-card h3{font-size:1.08rem; font-weight:600; margin-bottom:8px; color:#F0F3F8;}
.pain-card p{color:var(--muted); font-size:0.95rem;}

.steps{display:grid; gap:0; grid-template-columns:1fr;}
@media(min-width:760px){ .steps{grid-template-columns:repeat(3, 1fr); gap:28px;} }
.step{position:relative; padding:28px 0; border-top:1px solid var(--line);}
@media(min-width:760px){ .step{border-top:none; padding:0;} }
.step-num{font-family:'IBM Plex Mono', monospace; color:var(--accent); font-size:0.85rem; display:block; margin-bottom:14px;}
.step h3{font-size:1.15rem; margin-bottom:10px;}
.step p{color:var(--muted); font-size:0.96rem;}

.fw-grid{display:grid; grid-template-columns:1fr; gap:14px;}
@media(min-width:640px){ .fw-grid{grid-template-columns:repeat(2, 1fr);} }
@media(min-width:960px){ .fw-grid{grid-template-columns:repeat(3, 1fr);} }
.fw-card{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:22px; display:flex; align-items:center; justify-content:space-between; gap:12px; text-decoration:none; transition:border-color .15s ease, transform .15s ease;}
.fw-card.clickable:hover{border-color:var(--accent); transform:translateY(-2px);}
.fw-card.live{border-color:rgba(45,217,168,0.4); background:linear-gradient(135deg, rgba(45,217,168,0.06), var(--panel));}
.fw-name{font-family:'IBM Plex Mono', monospace; font-size:0.98rem; color:#EDF1F7;}
.fw-region{font-size:0.78rem; color:var(--muted); margin-top:4px;}
.fw-tag{font-family:'IBM Plex Mono', monospace; font-size:0.68rem; padding:4px 10px; border-radius:100px; white-space:nowrap;}
.fw-tag.live-tag{background:rgba(45,217,168,0.15); color:var(--accent); border:1px solid rgba(45,217,168,0.35);}
.fw-tag.soon-tag{background:var(--panel-2); color:var(--muted); border:1px solid var(--line);}
.fw-tag.wait-tag{background:rgba(240,169,63,0.12); color:var(--warn); border:1px solid rgba(240,169,63,0.3);}

.who-grid{display:grid; gap:20px; grid-template-columns:1fr;}
@media(min-width:760px){ .who-grid{grid-template-columns:repeat(2, 1fr);} }
.who-card h3{font-size:1.1rem; margin-bottom:10px; display:flex; align-items:center; gap:10px;}
.who-card h3 .chk{color:var(--accent); font-family:'IBM Plex Mono', monospace;}
.who-card p{color:var(--muted); font-size:0.96rem;}

.waitlist{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:36px; max-width:520px;}
.waitlist h3{font-size:1.15rem; margin-bottom:8px;}
.waitlist p{color:var(--muted); font-size:0.92rem; margin-bottom:20px;}
.waitlist input, .waitlist select, .waitlist textarea{width:100%; padding:12px 14px; border-radius:8px; border:1px solid var(--line); background:var(--panel-2); color:var(--text); font-family:'Inter'; font-size:0.95rem; margin-bottom:12px;}
.waitlist textarea{resize:vertical; min-height:90px;}
.waitlist input:focus, .waitlist select:focus, .waitlist textarea:focus{outline:2px solid var(--accent); outline-offset:2px;}
.waitlist .btn{width:100%; justify-content:center;}
.form-note{font-size:0.78rem; color:var(--muted); margin-top:12px;}
.alert{padding:14px 18px; border-radius:8px; font-size:0.9rem; margin-bottom:20px;}
.alert-success{background:rgba(45,217,168,0.1); border:1px solid rgba(45,217,168,0.35); color:var(--accent);}
.alert-error{background:rgba(240,169,63,0.1); border:1px solid rgba(240,169,63,0.35); color:var(--warn);}

.cta-band{padding:80px 0; text-align:center; border-bottom:1px solid var(--line); background:radial-gradient(ellipse at center, rgba(45,217,168,0.07), transparent 65%);}
.cta-band h2{font-size:clamp(1.7rem, 3.4vw, 2.4rem); max-width:18ch; margin:0 auto 18px;}
.cta-band p{color:var(--muted); max-width:48ch; margin:0 auto 30px; font-size:1.05rem;}

footer{padding:48px 0 40px;}
.foot-grid{display:flex; flex-direction:column; gap:24px;}
@media(min-width:760px){ .foot-grid{flex-direction:row; justify-content:space-between; align-items:center;} }
.foot-logo{font-family:'Fraunces', serif; font-weight:700; font-size:1.1rem; color:#fff;}
.foot-note{font-size:0.85rem; color:var(--muted);}
.foot-links{display:flex; gap:20px; font-size:0.85rem; color:var(--muted);}
.foot-links a:hover{color:var(--accent);}
