:root{
  --bg:#08080b; --bg-2:#0d0d12; --panel:#111117; --line:rgba(255,255,255,.09);
  --txt:#f0eeea; --txt-2:#9b988f; --txt-3:#6a6760;
  --gold:#e5b544; --gold-deep:#a3711a; --ice:#7ea8ff;
  --display:"Space Grotesk",system-ui,sans-serif;
  --body:"Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --shell:76rem; --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}*{margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--txt);font-family:var(--body);
  font-size:clamp(1rem,.96rem+.2vw,1.08rem);line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body::after{content:"";position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
img,svg{display:block;max-width:100%}a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.03;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(2.9rem,1.9rem+4.8vw,6.2rem)}
h2{font-size:clamp(2.1rem,1.5rem+2.6vw,3.7rem)}
h3{font-size:clamp(1.35rem,1.2rem+.7vw,1.75rem);letter-spacing:-.025em}
p{text-wrap:pretty}
.shell{width:min(100% - 3rem,var(--shell));margin-inline:auto}
.mono{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.lede{font-size:clamp(1.1rem,1rem+.6vw,1.42rem);line-height:1.45;color:var(--txt-2);letter-spacing:-.012em;max-width:40ch}
.prose{color:var(--txt-2);max-width:58ch}

/* nav */
.nav-bar{position:fixed;inset:0 0 auto 0;z-index:80;background:rgba(8,8,11,.6);
  backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.nav-bar.stuck{border-bottom-color:var(--line);background:rgba(8,8,11,.85)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem}
.brand{font-family:var(--display);font-weight:700;font-size:1.18rem;letter-spacing:-.04em;text-decoration:none}
.brand i{color:var(--gold);font-style:normal}
.links{display:flex;gap:1.8rem;list-style:none;padding:0}
.links a{text-decoration:none;font-size:.92rem;color:var(--txt-2);transition:color .2s}
.links a:hover{color:var(--txt)}
.burger{display:none;background:none;border:0;color:var(--txt);font:inherit;font-size:.9rem;cursor:pointer}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-size:.95rem;font-weight:600;
  padding:.8rem 1.5rem;border-radius:10px;text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s,background .25s,border-color .25s}
.btn:hover{transform:translateY(-2px)}
.b-gold{background:linear-gradient(180deg,#f0c455,#c8901f);color:#1a1206;
  box-shadow:0 0 0 1px rgba(255,220,140,.35) inset,0 10px 30px -10px rgba(229,181,68,.6)}
.b-gold:hover{box-shadow:0 0 0 1px rgba(255,220,140,.5) inset,0 16px 40px -12px rgba(229,181,68,.75)}
.b-ghost{border-color:var(--line);color:var(--txt);background:rgba(255,255,255,.03)}
.b-ghost:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
.b-sm{padding:.5rem 1.05rem;font-size:.88rem;border-radius:8px}

/* hero */
.hero{position:relative;overflow:hidden;isolation:isolate;padding:9rem 0 5rem}
@media(min-width:62rem){.hero{min-height:100svh;display:flex;align-items:center;padding-block:7rem 4rem}}
.beam{position:absolute;inset:-40% -20% auto -20%;height:120%;z-index:-2;filter:blur(90px);pointer-events:none}
.beam i{position:absolute;display:block;border-radius:50%}
.beam i:nth-child(1){width:46vw;height:46vw;left:34%;top:-14%;background:rgba(229,181,68,.30);animation:float 20s var(--ease) infinite alternate}
.beam i:nth-child(2){width:34vw;height:34vw;left:6%;top:26%;background:rgba(163,113,26,.24);animation:float 26s var(--ease) infinite alternate-reverse}
.beam i:nth-child(3){width:28vw;height:28vw;right:6%;top:52%;background:rgba(126,168,255,.14);animation:float 30s var(--ease) infinite alternate}
@keyframes float{to{transform:translate3d(5vw,-4vw,0) scale(1.15)}}
.mesh{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(to right,rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000 15%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 35%,#000 15%,transparent 80%)}
.hero-grid{display:grid;gap:3.5rem;align-items:center}
@media(min-width:62rem){.hero-grid{grid-template-columns:1fr 1.1fr;gap:4.5rem}}
.pill{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .85rem .35rem .55rem;border-radius:999px;
  border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:.78rem;color:var(--txt-2);margin-bottom:1.6rem}
.pill b{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.18),0 0 12px #4ade80}
.hero h1{margin-bottom:1.35rem;background:linear-gradient(174deg,#fff 18%,#e9e3d6 48%,#c99a3c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lede{margin-bottom:2.2rem}
.acts{display:flex;flex-wrap:wrap;gap:.7rem}
.trust{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;font-family:var(--mono);font-size:.68rem;
  letter-spacing:.13em;text-transform:uppercase;color:var(--txt-3)}
.trust span{display:flex;align-items:center;gap:.5rem}
.trust span::before{content:"";width:4px;height:4px;background:var(--gold);border-radius:50%}

/* glass panel */
.glass{position:relative;border-radius:18px;padding:1px;
  background:linear-gradient(150deg,rgba(255,255,255,.22),rgba(255,255,255,.03) 40%,rgba(229,181,68,.28));
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9),0 0 90px -30px rgba(229,181,68,.28)}
.glass-in{background:linear-gradient(180deg,#101016,#0b0b10);border-radius:17px;overflow:hidden}
.chrome{display:flex;align-items:center;gap:.55rem;padding:.7rem .9rem;border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.025)}
.dots{display:flex;gap:6px}.dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.15)}
.url{flex:1;margin-left:.4rem;padding:.28rem .8rem;border-radius:999px;border:1px solid var(--line);
  font-family:var(--mono);font-size:.66rem;color:var(--txt-3);background:rgba(0,0,0,.3)}
.stage{position:relative;aspect-ratio:16/11;background:radial-gradient(80% 70% at 70% 10%,rgba(229,181,68,.10),transparent 60%),#0b0b10}
@media(max-width:40rem){.stage{aspect-ratio:4/5}}
.stage>svg{position:absolute;inset:0;width:100%;height:100%}

/* chat dock */
.dock{position:absolute;right:4%;bottom:5%;width:60%;max-width:290px;border-radius:14px;padding:1px;
  background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(229,181,68,.25));
  box-shadow:0 24px 50px -20px rgba(0,0,0,.9)}
.dock-in{background:#0e0e14;border-radius:13px;overflow:hidden}
.dock-bar{display:flex;align-items:center;gap:.5rem;padding:.55rem .7rem;border-bottom:1px solid var(--line)}
.ava{width:22px;height:22px;border-radius:50%;flex:none;background:linear-gradient(140deg,var(--gold),#7a5310);
  box-shadow:0 0 14px rgba(229,181,68,.5)}
.who{font-size:.72rem;font-weight:600;line-height:1.15}
.who small{display:block;font-weight:400;font-size:.62rem;color:var(--txt-3)}
.live{margin-left:auto;width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80}
.thread{height:180px;padding:.7rem;display:flex;flex-direction:column;gap:.4rem;justify-content:flex-end;overflow:hidden}
.bub{max-width:88%;padding:.45rem .68rem;border-radius:12px;font-size:.72rem;line-height:1.35;
  opacity:0;transform:translateY(6px);animation:pop .4s var(--ease) forwards}
@keyframes pop{to{opacity:1;transform:none}}
.bub.them{background:rgba(255,255,255,.06);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}
.bub.us{background:linear-gradient(180deg,#f0c455,#c8901f);color:#1a1206;align-self:flex-end;
  border-bottom-right-radius:4px;font-weight:500}
.bub.typing{display:flex;gap:3px;align-items:center;padding:.55rem .7rem}
.bub.typing i{width:4px;height:4px;border-radius:50%;background:var(--txt-3);animation:blink 1.2s infinite}
.bub.typing i:nth-child(2){animation-delay:.18s}.bub.typing i:nth-child(3){animation-delay:.36s}
@keyframes blink{0%,60%,100%{opacity:.25}30%{opacity:1}}

/* marquee */
.strip{border-block:1px solid var(--line);background:rgba(255,255,255,.02);overflow:hidden;padding-block:.95rem}
.track{display:flex;gap:2.6rem;width:max-content;animation:slide 36s linear infinite}
.track span{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.7rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);white-space:nowrap}
.track span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold)}
@keyframes slide{to{transform:translateX(-50%)}}

/* features */
.feat{padding-block:clamp(4.5rem,9vw,7.5rem);border-top:1px solid var(--line);position:relative}
.feat-in{display:grid;gap:3rem;align-items:center}
@media(min-width:58rem){.feat-in{grid-template-columns:1fr 1fr;gap:5rem}.feat.flip .txt{order:2}}
.txt h3{margin:.9rem 0 1rem}
.ticks{list-style:none;padding:0;margin-top:1.5rem;display:grid;gap:.6rem;font-size:.94rem;color:var(--txt-2)}
.ticks li{padding-left:1.6rem;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.52em;width:.6rem;height:.6rem;border-radius:50%;
  background:rgba(229,181,68,.18);border:1px solid var(--gold);box-shadow:0 0 10px rgba(229,181,68,.5)}
.panel{border-radius:16px;padding:1px;background:linear-gradient(150deg,rgba(255,255,255,.16),rgba(255,255,255,.03) 45%,rgba(229,181,68,.22));
  box-shadow:0 30px 70px -34px rgba(0,0,0,.9),0 0 70px -28px rgba(229,181,68,.2);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.feat-in:hover .panel{transform:translateY(-4px);box-shadow:0 40px 90px -36px rgba(0,0,0,.95),0 0 90px -26px rgba(229,181,68,.35)}
.panel-in{background:linear-gradient(180deg,#101016,#0b0b10);border-radius:15px;overflow:hidden}
.panel .thread{height:220px}

/* voice */
.call{padding:1rem .9rem 1.1rem}
.wave{display:flex;align-items:center;justify-content:center;gap:4px;height:64px}
.wave i{width:4px;border-radius:2px;height:10%;background:linear-gradient(180deg,var(--gold),#8a5f14);
  box-shadow:0 0 10px rgba(229,181,68,.45);transition:height .12s linear}
.tscript{list-style:none;padding:0;margin-top:.9rem;display:grid;gap:.4rem;min-height:96px}
.tscript li{font-size:.75rem;line-height:1.35;color:var(--txt-2);padding-left:3.4rem;position:relative;
  opacity:0;animation:pop .35s var(--ease) forwards}
.tscript li b{position:absolute;left:0;top:0;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold)}
.timer{margin-left:auto;font-family:var(--mono);font-size:.7rem;color:var(--txt-3)}

/* flow */
.flow{list-style:none;margin:0;padding:1rem .9rem 1.2rem;display:grid;gap:.5rem}
.node{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding:.65rem .8rem;
  border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);
  transition:border-color .4s,background .4s,box-shadow .4s}
.node b{font-size:.8rem;font-weight:600;display:block}
.node small{font-size:.68rem;color:var(--txt-3)}
.tick{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);position:relative;transition:.4s}
.tick::after{content:"";position:absolute;left:4px;top:6px;width:8px;height:4px;
  border-left:1.6px solid #1a1206;border-bottom:1.6px solid #1a1206;transform:rotate(-45deg) scale(0);transition:transform .3s var(--ease)}
.node.done{border-color:rgba(229,181,68,.45);background:rgba(229,181,68,.07);box-shadow:0 0 24px -8px rgba(229,181,68,.5)}
.node.done .tick{background:var(--gold);border-color:var(--gold)}
.node.done .tick::after{transform:rotate(-45deg) scale(1)}

/* speed */
.speed{padding:1.3rem .9rem 1.5rem;display:grid;gap:1.1rem}
.fig{display:flex;align-items:baseline;gap:.55rem}
.fig span{font-family:var(--display);font-size:clamp(2.6rem,6vw,3.6rem);font-weight:700;letter-spacing:-.045em;
  background:linear-gradient(180deg,#fff,#c99a3c);-webkit-background-clip:text;background-clip:text;color:transparent;
  font-variant-numeric:tabular-nums}
.fig em{font-style:normal;font-size:.78rem;color:var(--txt-3)}
.skel{display:grid;gap:.5rem}
.skel span{display:block;height:10px;border-radius:5px;background:rgba(255,255,255,.06);width:0;transition:width .5s var(--ease)}
.skel.on span{width:var(--w);background:linear-gradient(90deg,rgba(229,181,68,.4),rgba(255,255,255,.07))}

/* steps */
.steps-sec{padding-block:clamp(4.5rem,9vw,7.5rem);border-top:1px solid var(--line)}
.steps{list-style:none;padding:0;display:grid;gap:2.2rem;margin-top:3rem}
@media(min-width:52rem){.steps{grid-template-columns:repeat(3,1fr);gap:2.8rem}}
.step{padding-top:1.4rem;border-top:1px solid var(--line);position:relative}
.step::before{content:"";position:absolute;top:-1px;left:0;width:38px;height:2px;background:var(--gold);
  box-shadow:0 0 14px rgba(229,181,68,.9)}
.step h3{font-size:1.15rem;margin-bottom:.55rem}
.step p{font-size:.93rem;color:var(--txt-2)}

/* cta */
.cta{position:relative;overflow:hidden;text-align:center;padding-block:clamp(5rem,10vw,8rem);border-top:1px solid var(--line)}
.cta::before{content:"";position:absolute;inset:auto -20% -60% -20%;height:120%;z-index:-1;filter:blur(90px);
  background:radial-gradient(50% 60% at 50% 50%,rgba(229,181,68,.28),transparent 70%)}
.cta .prose{margin-inline:auto;margin-block:1.1rem 2.2rem}
.cta .acts{justify-content:center}

/* footer */
.foot{border-top:1px solid var(--line);padding-block:3.5rem;font-size:.9rem;color:var(--txt-2)}
.foot-grid{display:grid;gap:2rem}
@media(min-width:46rem){.foot-grid{grid-template-columns:1.5fr 1fr 1fr;gap:3rem}}
.foot h4{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
  margin-bottom:1rem;font-weight:500}
.foot ul{list-style:none;padding:0;display:grid;gap:.5rem}
.foot a{text-decoration:none}.foot a:hover{color:var(--txt)}
.legal{margin-top:2.5rem;padding-top:1.3rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;
  gap:.4rem 1.5rem;justify-content:space-between;font-size:.8rem;color:var(--txt-3)}

.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}

@media(max-width:46rem){
  .burger{display:block}
  .links{display:none;position:fixed;inset:64px 0 auto 0;flex-direction:column;gap:0;background:#0b0b10;
    border-bottom:1px solid var(--line);padding:.5rem 1.5rem 1.25rem}
  .links.open{display:flex}.links a{display:block;padding-block:.85rem}
  .nav-bar .btn{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}.bub{opacity:1;transform:none}
}

/* --- Interior pages ------------------------------------------------------ */
.page-top{position:relative;overflow:hidden;isolation:isolate;padding:9.5rem 0 3.5rem}
.page-top .beam{inset:-60% -20% auto -20%;height:130%}
.page-top h1{margin:1rem 0 1.4rem;background:linear-gradient(174deg,#fff 20%,#e9e3d6 50%,#c99a3c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.jump{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}
.jump a{font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;color:var(--txt-2);padding:.45rem .85rem;border:1px solid var(--line);border-radius:999px;
  background:rgba(255,255,255,.03);transition:.25s}
.jump a:hover{color:var(--txt);border-color:rgba(229,181,68,.5);box-shadow:0 0 20px -6px rgba(229,181,68,.5)}

.svc{padding-block:clamp(3.5rem,7vw,5.5rem);border-top:1px solid var(--line);scroll-margin-top:5rem}
.svc-in{display:grid;gap:2.5rem}
@media(min-width:58rem){.svc-in{grid-template-columns:1.05fr 1fr;gap:4.5rem}}
.svc h2{font-size:clamp(1.7rem,1.3rem+1.6vw,2.5rem);margin:.9rem 0 1.1rem}
.facts{display:grid;gap:1.5rem;margin:0}
.facts .row{padding-top:1.1rem;border-top:1px solid var(--line);display:grid;gap:.55rem}
.facts dt{font-family:var(--mono);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.facts dd{margin:0;color:var(--txt-2);font-size:.93rem;line-height:1.6}

/* stage list (approach) */
.stages{list-style:none;padding:0;display:grid;gap:1rem;counter-reset:s}
.stage-card{counter-increment:s;position:relative;border-radius:14px;padding:1px;
  background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 50%,rgba(229,181,68,.18))}
.stage-card>div{background:linear-gradient(180deg,#101016,#0b0b10);border-radius:13px;
  padding:1.5rem 1.6rem;display:grid;gap:.5rem}
.stage-card b{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;color:var(--gold);font-weight:500}
.stage-card b::before{content:counter(s,decimal-leading-zero) " · "}
.stage-card h3{font-size:1.25rem}
.stage-card p{color:var(--txt-2);font-size:.95rem;max-width:64ch}

/* principles */
.cards{display:grid;gap:1rem;margin-top:2.5rem}
@media(min-width:52rem){.cards{grid-template-columns:repeat(3,1fr)}}
.mini{border-radius:14px;padding:1px;background:linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 55%,rgba(229,181,68,.16))}
.mini>div{background:linear-gradient(180deg,#101016,#0b0b10);border-radius:13px;padding:1.5rem;height:100%}
.mini h3{font-size:1.1rem;margin-bottom:.6rem}
.mini p{color:var(--txt-2);font-size:.9rem}

/* form */
.form-grid{display:grid;gap:3rem}
@media(min-width:58rem){.form-grid{grid-template-columns:1.15fr .85fr;gap:4.5rem}}
.field{display:grid;gap:.45rem;margin-bottom:1.05rem}
.field label{font-size:.82rem;font-weight:500;color:var(--txt-2)}
.field input,.field select,.field textarea{
  font:inherit;font-size:.95rem;color:var(--txt);background:rgba(255,255,255,.035);
  border:1px solid var(--line);border-radius:10px;padding:.75rem .9rem;width:100%;
  transition:border-color .25s,box-shadow .25s,background .25s}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:rgba(229,181,68,.6);background:rgba(255,255,255,.06);
  box-shadow:0 0 0 4px rgba(229,181,68,.12)}
.field textarea{min-height:130px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--txt-3) 50%),linear-gradient(135deg,var(--txt-3) 50%,transparent 50%);
  background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.two{display:grid;gap:1.05rem}
@media(min-width:34rem){.two{grid-template-columns:1fr 1fr;gap:1rem}}
.note{font-size:.8rem;color:var(--txt-3);margin-top:.9rem}
.contact-side{display:grid;gap:1.6rem;align-content:start}
.contact-side a{color:var(--gold);text-decoration:none}
.contact-side a:hover{text-decoration:underline}

/* services page: copy + facts on the left, live demo on the right */
.svc-demo{align-items:start}
@media(min-width:58rem){.svc-demo{grid-template-columns:1.05fr .95fr}}
.svc-copy .facts{border-top:0}
