:root{--ink:#0f2a25;--ink2:#163a33;--g:#176b58;--teal:#3fd3b0;--paper:#f3f1ea;--card:#fbfaf6;--line:#d9d6ca;--mut:#55635e;--err:#a33939;--f1:"Bricolage Grotesque",system-ui,sans-serif;--f2:"DM Sans",system-ui,sans-serif;--fm:"JetBrains Mono",ui-monospace,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--f2);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--f1);letter-spacing:-.03em;line-height:1.02}
a{color:inherit}
:focus-visible{outline:3px solid #d98a2b;outline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;background:#fff;padding:10px 14px;z-index:99}.skip:focus{top:10px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;max-width:1260px;margin:0 auto}
.brand img{width:170px}
.top nav{display:flex;gap:22px;align-items:center;font-size:.92rem}
.top nav a{text-decoration:none;padding:6px 0}.top nav a:hover{text-decoration:underline}
.pill,.btn{background:var(--g);color:#fff!important;border-radius:999px;padding:12px 22px;font-weight:700;text-decoration:none!important;border:0;cursor:pointer;font:700 1rem var(--f2);display:inline-block;text-align:center;transition:transform .2s,background .2s}
.pill{padding:9px 18px!important;font-size:.9rem}
.btn:hover,.pill:hover{background:var(--ink);transform:translateY(-2px)}
.btn:disabled{opacity:.6;cursor:progress;transform:none}
.full{width:100%;min-height:50px}
.eyebrow,.kicker,.mono{font:600 .74rem var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--g)}
.eyebrow{margin-bottom:14px}.light{color:#a8d9c9}
.fine{font-size:.82rem;color:var(--mut)}.fine.light{color:#9cc2b6}
.kicker{display:flex;gap:10px;align-items:center;margin-bottom:22px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #3fd3b033;animation:pulse 2.4s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px #3fd3b000}}
.hero{max-width:1260px;margin:0 auto;padding:40px 24px 70px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(2.8rem,6.4vw,5.6rem);font-weight:800;margin-bottom:24px}
.lede{font-size:1.18rem;color:var(--mut);max-width:34em;margin-bottom:30px}
.cta-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.link{font-weight:700}
.hero-fig{position:relative;margin:0;animation:rise 1s both}
.hero-fig img{position:relative;mix-blend-mode:multiply;width:100%}
.halo{position:absolute;inset:8% 4%;border-radius:50%;background:radial-gradient(circle,#bfe3d6,#f3f1ea00 68%)}
.tag{position:absolute;font:.7rem var(--fm);background:var(--ink);color:#d8efe7;padding:5px 9px;border-radius:4px;letter-spacing:.04em}
.tag b{color:var(--teal)}
.t1{left:2%;bottom:30%}.t2{left:8%;bottom:19%}.t3{left:14%;bottom:8%}
@keyframes rise{from{opacity:0;transform:translateY(24px)}}
.ticker{background:var(--ink);color:#d8efe7;display:flex;justify-content:space-around;flex-wrap:wrap;gap:8px 24px;padding:22px 24px;font:700 clamp(1.1rem,2.6vw,1.8rem) var(--f1);letter-spacing:-.02em}
.ticker p:not(:last-child)::after{content:"/";color:var(--teal);margin-left:24px}
.problem,.how,.rules,.faq{padding-top:100px;padding-bottom:20px}
h2{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;max-width:15em;margin-bottom:30px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;color:var(--mut)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.steps li{padding:26px 26px 30px 0;border-right:1px solid var(--line);padding-left:26px}
.steps li:first-child{padding-left:0}.steps li:last-child{border:0}
.steps h3{font-size:2.2rem;margin:10px 0}.steps p{color:var(--mut)}
.n{font:600 .85rem var(--fm);color:var(--g)}
.hardware{background:linear-gradient(160deg,var(--ink),#0a1d1a);color:#e6f2ed;margin-top:100px;padding:100px 0}
.hw-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.hardware h2{color:#fff}
.hw-copy>p{color:#bcd5cc;margin-bottom:20px}
.checks{list-style:none;padding:0;margin:0 0 20px}
.checks li{padding:12px 0 12px 28px;border-top:1px solid #ffffff1f;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:21px;width:12px;height:2px;background:var(--teal)}
.screen{border-radius:18px;overflow:hidden;aspect-ratio:16/10;background:#050c0b;border:1px solid #ffffff22;position:relative}
.screen img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;transform:scale(1.6);transform-origin:50% 40%}
.screen img.live{transform:none;object-position:center}
.ctrl{display:flex;gap:16px;align-items:center;margin-top:16px;flex-wrap:wrap}
.ctrl button{background:transparent;color:#fff;border:1.5px solid var(--teal);border-radius:999px;padding:10px 20px;font:700 .92rem var(--f2);cursor:pointer;min-height:44px}
.ctrl button:hover:not(:disabled){background:var(--teal);color:var(--ink)}
.ctrl button:disabled{opacity:.5;cursor:not-allowed}
.lanes{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}
.lane{padding:28px;border-radius:16px;border:1px solid var(--line);background:var(--card);min-height:260px;display:flex;flex-direction:column;gap:12px}
.lane h3{font-size:1.7rem}.lane p{color:var(--mut);margin-top:auto}
.allow{background:#e1efe6}.hold{background:#f8e9c2}.hold .mono{color:#805b13}.block{background:#f5dcd6}.block .mono{color:var(--err)}
.who{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-top:90px}
.who h3{font-size:2rem;margin-bottom:12px}.who p:last-child{color:var(--mut)}
.who>div{border-top:2px solid var(--ink);padding-top:22px}
.signup{background:var(--g);color:#fff;margin-top:100px;padding:90px 0}
.signup h2{color:#fff}.signup p{color:#dcf1ea}
.su-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.clear{list-style:none;padding:0;margin:24px 0 0;font:600 .8rem var(--fm);text-transform:uppercase;letter-spacing:.08em}
.clear li{padding:8px 0;border-top:1px solid #ffffff44}
#signup{background:var(--card);color:var(--ink);border-radius:18px;padding:28px;box-shadow:0 30px 60px -20px #0006}
#signup label{font-weight:700;font-size:.92rem;display:block;margin-bottom:6px}
#signup input[type=email]{width:100%;min-height:50px;border:1.5px solid #b9b6a8;border-radius:10px;padding:0 14px;font:1rem var(--f2);background:#fff;color:var(--ink);margin-bottom:16px}
#signup input[aria-invalid=true]{border-color:var(--err)}
.consent{display:flex!important;gap:12px;font-weight:400!important;align-items:flex-start;margin-bottom:18px!important;line-height:1.45}
.consent input{width:22px;height:22px;flex:none;accent-color:var(--g);margin-top:1px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#status{margin-top:14px;font-weight:500;font-size:.95rem;color:var(--ink)!important}
#status.err{color:var(--err)!important}#status.ok{color:var(--g)!important;font-weight:700}
#signup .fine{margin-top:12px;color:var(--mut)!important}
.faq{padding-bottom:100px}
details{border-top:1px solid var(--line);padding:18px 0;max-width:780px}
summary{font:700 1.3rem var(--f1);cursor:pointer}
details p{color:var(--mut);margin-top:10px}
.foot{background:var(--ink);color:#bcd5cc;padding:36px 24px;display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:.9rem}
.foot img{width:150px;filter:brightness(0) invert(1) opacity(.85)}
.foot p{margin:0}
@media(max-width:860px){
.top nav a:not(.pill){display:none}
.hero,.hw-grid,.su-grid,.cols,.who{grid-template-columns:1fr}
.hero{padding-top:20px}
.steps{grid-template-columns:1fr}.steps li{border-right:0;border-bottom:1px solid var(--line);padding-left:0}
.lanes{grid-template-columns:1fr}.lane{min-height:0}
.problem,.how,.rules{padding-top:70px}
.tag{display:none}
.ticker p:not(:last-child)::after{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
