@font-face{font-family:'Geist';font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/geist-latin.woff2) format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/geist-mono-latin.woff2) format('woff2')}
/* Layout: one dark control surface at 1200px; hero = copy left, terminal panel right; bright bone card only for the contact closer. */
:root{
  --canvas:#101010; --lift:#1d1a18; --stroke:#3d3a39; --mid:#4d4947;
  --granite:#8a8380; --stone:#b8b3b0; --bone:#eeeeee; --chalk:#fafafa;
  --orange:#ee6018; --green:#a0ca92; --ink:#101010;
  --sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.4,0,.2,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--canvas);color:var(--bone);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
a{color:inherit;text-decoration:none}
p{margin:0}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.mono{font-family:var(--mono);font-size:12px;line-height:1;letter-spacing:-.02em;text-transform:uppercase}
.muted{color:var(--granite)}
.pulse{width:6px;height:6px;border-radius:50%;background:var(--orange);display:inline-block;flex:none}
.pulse.g{background:var(--green)}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:rgba(16,16,16,.92);border-bottom:1px solid var(--lift)}
.nav .wrap{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.mark{display:flex;align-items:center;gap:8px;letter-spacing:.08em}
.links{display:flex;align-items:center;gap:24px}
.links a{font-size:14px;text-transform:uppercase;color:var(--bone);transition:color .15s var(--ease)}
.links a:hover{color:var(--chalk)}
.links a.cta{background:var(--chalk);color:var(--ink);border-radius:3px;padding:8px 14px;line-height:1}
@media (max-width:640px){.links a:not(.cta){display:none}}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center;padding-block:96px}
.hero h1{font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.04em;font-weight:400;margin:24px 0;text-wrap:balance}
.hero h1 span{color:var(--granite)}
.hero .lede{color:var(--granite);max-width:44ch}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}
.btn{font-family:var(--sans);font-size:14px;border-radius:3px;padding:12px 14px;line-height:1;cursor:pointer;border:0;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}
.btn.dark{background:var(--lift);color:var(--bone)}
.btn.dark:hover{background:#2a2624}
.btn.ghost{background:transparent;color:var(--bone);border:1px solid var(--stroke);border-radius:0}
.btn.ghost:hover{border-color:var(--granite);color:var(--chalk)}
.btn.ink{background:var(--ink);color:var(--bone)}
.btn.ink:hover{background:#2a2624}
.eyebrow{display:flex;align-items:center;gap:8px;color:var(--stone)}

/* terminal panel */
.term{background:#0d0d0d;border:1px solid var(--lift);border-radius:10px;overflow:hidden;min-width:0}
.term-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--lift)}
.lights{display:flex;gap:6px}
.lights i{width:10px;height:10px;border-radius:50%;background:var(--mid)}
.term-bar .mono{flex:1;text-align:center;color:var(--granite)}
.term-body{font-family:var(--mono);font-size:13px;line-height:1.7;padding:20px;color:var(--stone);overflow-x:auto}
.term-body .p{color:var(--orange)}
.term-body .c{color:var(--bone)}
.term-body .k{color:var(--granite);display:inline-block;min-width:15ch}
.term-body .ok{color:var(--green)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--lift)}
.tile{padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.tile+.tile{border-left:1px solid var(--lift)}
.tile .v{font-size:36px;line-height:1.1;letter-spacing:-.031em}
.tile .v small{font-size:16px;color:var(--granite);letter-spacing:0}
.cursor{display:inline-block;width:8px;height:15px;background:var(--bone);vertical-align:-2px;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:no-preference){
  .term{animation:frameIn .6s var(--ease) both}
  @keyframes frameIn{from{transform:translateY(12px);opacity:.001}to{transform:none;opacity:1}}
}

/* sections */
section{padding-block:96px;border-top:1px solid var(--lift)}
.head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:end;margin-bottom:56px}
h2{font-weight:400;font-size:clamp(32px,4vw,44px);line-height:1.12;letter-spacing:-.025em;margin:16px 0 0;text-wrap:balance}
h3{font-weight:400;font-size:20px;line-height:1.2;letter-spacing:-.02em;margin:0}
.head p{color:var(--granite);max-width:52ch}

.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.card{border:1px solid var(--lift);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0;transition:border-color .15s var(--ease)}
.card:hover{border-color:var(--stroke)}
.card .top{display:flex;justify-content:space-between;align-items:center;color:var(--stone)}
.card p{color:var(--granite);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
.chip{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:-.02em;color:var(--stone);border:1px solid var(--stroke);border-radius:3px;padding:5px 8px;line-height:1}

.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px}
.about blockquote{margin:16px 0 0;font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.031em;text-wrap:balance}
.about blockquote span{color:var(--granite)}
.about .body{display:flex;flex-direction:column;gap:16px;color:var(--granite);max-width:62ch}
.about .body p:first-child{color:var(--bone)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--lift);border-radius:10px;margin-top:24px}
.facts div{padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.facts div+div{border-left:1px solid var(--lift)}
.facts .v{font-size:20px;letter-spacing:-.02em;line-height:1.2}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--lift);border-radius:10px}
.step{padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0}
.step+.step{border-left:1px solid var(--lift)}
.step .n{color:var(--orange)}
.step p{color:var(--granite);font-size:15px}

/* contact: the bright figure */
.closer{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:stretch}
.bone{position:relative;background:var(--bone);color:var(--ink);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:24px;overflow:hidden;min-width:0}
.bone::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.bone .eyebrow{color:var(--ink)}
.bone h2{margin:0;color:var(--ink);font-size:36px;letter-spacing:-.031em;line-height:1.1}
.bone .sub{color:#5c5754;max-width:46ch}
.rows{display:flex;flex-direction:column;border-top:1px solid #d4d1cf}
.row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:16px;border-bottom:1px solid #d4d1cf;flex-wrap:wrap}
.row .k{color:#6b6562;margin-bottom:8px;display:block}
.row .v{font-size:20px;letter-spacing:-.02em;overflow-wrap:anywhere;user-select:all}
.row .v.soon{color:#8a8380;user-select:auto}
.qrpanel{border:1px solid var(--lift);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;justify-content:space-between;min-width:0}
.qrpanel .code{background:#fff;padding:12px;border-radius:3px;width:100%;max-width:220px}
.qrpanel svg{display:block;width:100%;height:auto}
.qrpanel p{color:var(--granite);font-size:14px}

footer{padding-block:96px 56px;border-top:1px solid var(--lift)}
.fcols{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:32px}
.fcols h4{margin:0 0 16px;font-weight:400}
.fcols a,.fcols span{display:block;font-size:14px;color:var(--granite);line-height:2}
.fcols a:hover{color:var(--bone)}
.legal{margin-top:56px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--granite)}

@media (max-width:900px){
  .hero,.head,.about,.closer{grid-template-columns:1fr}
  .hero{padding-block:56px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step:nth-child(3){border-left:0}
  .step:nth-child(n+3){border-top:1px solid var(--lift)}
}
@media (max-width:600px){
  .grid,.facts,.steps,.tiles{grid-template-columns:1fr}
  .facts div+div,.step+.step,.tile+.tile{border-left:0;border-top:1px solid var(--lift)}
  .fcols{grid-template-columns:1fr 1fr}
  .fcols>div:first-child{grid-column:1/-1}
  section{padding-block:72px}
}

.fblurb{font-size:14px;max-width:36ch}
.fmark{margin-bottom:16px}
.soonlabel{color:#6b6562;display:flex;gap:8px;align-items:center}
.lbl{color:var(--stone)}
.vdomain{font-size:24px!important;line-height:1.5!important}
.skip{position:absolute;left:-9999px;top:8px;background:var(--chalk);color:var(--ink);padding:8px 12px;border-radius:3px;z-index:10}
.skip:focus{left:16px}

.brand{display:flex;align-items:center}
.logo{display:block;width:auto}
.logo-nav{height:28px}
.logo-foot{height:34px}
a.v{color:inherit;text-decoration:none;border-bottom:1px solid #c9c5c2}
a.v:hover{border-color:var(--ink)}
.btn.ghost-ink{background:transparent;color:var(--ink);border:1px solid #c9c5c2}
.btn.ghost-ink:hover{border-color:var(--ink)}
@media (max-width:640px){.logo-nav{height:22px}}

/* cursor spotlight: warm glow + dot grid revealed under the pointer */
.glow{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity .4s var(--ease);
  background:radial-gradient(38px circle at var(--mx,50%) var(--my,-20%),rgba(238,96,24,.22),rgba(238,96,24,.08) 45%,transparent 100%)}
.glow::after{content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(238,238,238,.45) .8px,transparent 1.1px);background-size:7px 7px;
  -webkit-mask-image:radial-gradient(34px circle at var(--mx,50%) var(--my,-20%),#000,transparent 75%);
  mask-image:radial-gradient(34px circle at var(--mx,50%) var(--my,-20%),#000,transparent 75%)}
.glow-on .glow{opacity:1}
main,footer{position:relative;z-index:1}
.card,.term,.qrpanel,.facts,.steps{position:relative;background-image:radial-gradient(40px circle at var(--cx,-999px) var(--cy,-999px),rgba(238,96,24,.09),transparent 60%)}
.card::before,.term::before,.qrpanel::before,.facts::before,.steps::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:radial-gradient(40px circle at var(--cx,-999px) var(--cy,-999px),rgba(238,96,24,.7),transparent 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
