@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  --bg:#0F0F11;
  --panel:#17171A;
  --panel2:#1C1C20;
  --text:#F2F2EA;
  --dim:#97979F;
  --dimmer:#59595F;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.16);
  --lime:#C9FF4D;
  --lime-ink:#0F0F11;
  --pink:#FF3EA5;
  --good:#6FCF97; --warn:#E8B93F; --bad:#FF6B5B;
  --glass:rgba(255,255,255,.04);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

/* ---------- easter egg: selection colour, like the old site ---------- */
::selection{ background:var(--lime); color:var(--lime-ink); }
::-moz-selection{ background:var(--lime); color:var(--lime-ink); }

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
  padding-inline:24px;
  overflow-x:hidden;
}

/* ---------- ambient background: drifting glow + panning circuit grid ---------- */
.bg-fx{ position:fixed; inset:0; z-index:-1; overflow:hidden; }
.bg-fx .orb{ position:absolute; width:560px; height:560px; border-radius:50%; filter:blur(120px); opacity:.24; }
.bg-fx .orb-a{ background:var(--lime); top:-180px; left:-140px; animation:driftA 24s ease-in-out infinite alternate; }
.bg-fx .orb-b{ background:var(--pink); bottom:-220px; right:-160px; animation:driftB 30s ease-in-out infinite alternate; }
.grid-overlay{
  position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:46px 46px;
  animation:panGrid 44s linear infinite;
}
@keyframes driftA{ from{transform:translate(0,0) scale(1);} to{transform:translate(130px,90px) scale(1.12);} }
@keyframes driftB{ from{transform:translate(0,0) scale(1);} to{transform:translate(-110px,-70px) scale(1.08);} }
@keyframes panGrid{ from{background-position:0 0, 0 0;} to{background-position:46px 46px, 46px 46px;} }
@media (prefers-reduced-motion: reduce){
  .bg-fx .orb, .grid-overlay{ animation:none; }
}
.wrap{max-width:1160px; margin-inline:auto;}
.measure{max-width:56ch;}
img,svg{max-width:100%;}
a{color:inherit;}

h1,h2,h3{
  font-family:'Space Grotesk', sans-serif;
  font-weight:600;
  line-height:1.06;
  text-wrap:balance;
  margin:0;
  letter-spacing:-0.01em;
}
h1{font-size:clamp(2.3rem, 5.6vw, 4.3rem); font-weight:700;}
h2{font-size:clamp(1.6rem, 3.4vw, 2.4rem);}
p{line-height:1.65; margin:0; color:var(--dim);}
strong{color:var(--text); font-weight:600;}

.mono{font-family:'JetBrains Mono', ui-monospace, monospace;}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--lime);
  margin-bottom:1.1rem;
  font-weight:500;
  display:flex; align-items:center; gap:.55em;
}
.eyebrow .dot{width:5px; height:5px; border-radius:50%; background:var(--pink); flex:none;}

section{ padding-block:clamp(3.4rem, 8vw, 6.5rem); }
section + section{ border-top:1px solid var(--line); }

/* page opener used on every page except the home hero */
section.page-head{ padding-bottom:0; }
section.page-head h1{ font-size:clamp(2rem, 4.6vw, 3.3rem); }
section.page-head p{ margin-top:1.1rem; font-size:1.05rem; }

/* ---------- nav ---------- */
header.nav{
  position:sticky; top:0; z-index:30;
  background:rgba(15,15,17,.9);
  border-bottom:1px solid var(--line);
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:14px; gap:1rem;
}
.wordmark{
  display:flex; align-items:center; gap:.6em;
  font-family:'Space Grotesk', sans-serif;
  font-weight:700; font-size:1rem;
  letter-spacing:.02em;
  color:var(--text);
  text-decoration:none;
}
.wordmark svg{flex:none;}
nav.links{display:flex; gap:2rem; list-style:none; margin:0; padding:0;}
nav.links a{
  font-size:.88rem; text-decoration:none;
  color:var(--dim); font-weight:500;
  padding-block:.3rem; border-bottom:1px solid transparent;
  transition:color .15s ease, border-color .15s ease;
}
nav.links a:hover, nav.links a.active{color:var(--text); border-color:var(--lime);}
.nav-right{display:flex; align-items:center; gap:1.2rem;}

.btn{
  font-family:'Space Grotesk', sans-serif;
  font-weight:600; font-size:.88rem;
  text-decoration:none; padding:.72em 1.3em;
  border-radius:100px; display:inline-flex; align-items:center; gap:.5em;
  border:1px solid transparent; white-space:nowrap;
  transition:filter .15s ease, background .15s ease, border-color .15s ease;
}
.btn-accent{background:var(--lime); color:var(--lime-ink);}
.btn-accent:hover{filter:brightness(1.06);}
.btn-outline{border-color:var(--line-strong); color:var(--text);}
.btn-outline:hover{border-color:var(--dim);}
.btn:focus-visible{outline:2px solid var(--lime); outline-offset:3px;}
.btn-pulse{animation:btnPulse 2.6s ease-out infinite;}
@keyframes btnPulse{
  0%{box-shadow:0 0 0 0 rgba(201,255,77,.45);}
  70%{box-shadow:0 0 0 13px rgba(201,255,77,0);}
  100%{box-shadow:0 0 0 0 rgba(201,255,77,0);}
}
@media (prefers-reduced-motion: reduce){ .btn-pulse{animation:none;} }

#menu-toggle{display:none;}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.burger span{width:20px; height:2px; background:var(--text);}
@media (max-width:800px){
  nav.links{
    position:fixed; inset:53px 0 0 0;
    flex-direction:column; gap:0;
    background:var(--bg);
    padding:.5rem 24px;
    transform:translateY(-110%);
    transition:transform .25s ease;
    border-bottom:1px solid var(--line);
  }
  nav.links a{padding:1.1rem 0; border-bottom:1px solid var(--line); font-size:1.05rem; width:100%;}
  #menu-toggle:checked ~ header.nav nav.links{transform:translateY(0);}
  .burger{display:flex;}
  .nav-right .btn-accent{display:none;}
}

.hero{
  position:relative;
  display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:center;
  padding-block:clamp(3.2rem, 8vw, 6rem);
}
.hero::before{
  content:"";
  position:absolute; inset:-2rem;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,20%), rgba(201,255,77,.10), transparent 70%);
  pointer-events:none; z-index:0;
}
.hero > *{ position:relative; z-index:1; }
@media (max-width:920px){ .hero{grid-template-columns:1fr;} }
.hero-cta{display:flex; gap:.9rem; margin-top:2.1rem; flex-wrap:wrap;}
.hero-sub{margin-top:1.2rem; font-size:1.08rem;}
.hero mark{background:none; color:var(--lime);}
.rot-line{ margin-top:1.5rem; font-size:.85rem; color:var(--dim); }
.rot-line #rotWord{ color:var(--lime); font-weight:600; display:inline-block; min-width:7.5ch; transition:opacity .25s ease, transform .25s ease; }
.rot-line #rotWord.swap{ opacity:0; transform:translateY(4px); }
@media (prefers-reduced-motion: reduce){ .hero::before{display:none;} }

/* layered deck — echoes the bridge mark: pylons + arch + deck */
.deck{
  position:relative; height:400px;
  transform:translate(var(--px,0px), var(--py,0px));
  transition:transform .35s ease-out;
}
.deck-panel{
  position:absolute; width:78%;
  padding:1rem 1.3rem;
  background:var(--glass);
  border:1px solid var(--line-strong);
  border-radius:14px;
  box-shadow:0 18px 34px -18px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.05), 0 0 28px -6px rgba(255,255,255,.22);
  font-family:'JetBrains Mono', monospace;
  font-size:.78rem;
  color:var(--dim);
  letter-spacing:.02em;
  backdrop-filter:blur(2px);
}
.deck-panel b{
  display:block; font-family:'Space Grotesk',sans-serif; font-weight:600;
  font-size:.95rem; color:var(--text); margin-top:.15rem; letter-spacing:0;
}
.deck-panel.p1{ left:0;   bottom:0;   z-index:1; animation:floatP1 5.2s ease-in-out infinite; }
.deck-panel.p2{ left:8%;  bottom:70px; z-index:2; animation:floatP2 6.1s ease-in-out infinite .3s; }
.deck-panel.p3{ left:16%; bottom:140px; z-index:3; animation:floatP3 5.6s ease-in-out infinite .6s; }
.deck-panel.p4{ left:24%; bottom:210px; z-index:4; animation:floatP4 6.6s ease-in-out infinite .9s; }
.deck-panel.top{
  left:20%; bottom:280px; z-index:5; width:70%;
  background:linear-gradient(155deg, rgba(201,255,77,.14), rgba(255,255,255,.03));
  border-color:rgba(201,255,77,.5);
  box-shadow:0 22px 44px -16px rgba(0,0,0,.65), 0 0 0 1px rgba(201,255,77,.08) inset;
  animation:floatTop 4.8s ease-in-out infinite 1.1s, glowPulse 3.4s ease-in-out infinite;
}
.deck-panel.top b{color:var(--lime);}
@keyframes floatP1{ 0%,100%{transform:rotate(-2deg) translateY(0);} 50%{transform:rotate(-2deg) translateY(-7px);} }
@keyframes floatP2{ 0%,100%{transform:rotate(1.4deg) translateY(0);} 50%{transform:rotate(1.4deg) translateY(-9px);} }
@keyframes floatP3{ 0%,100%{transform:rotate(-1.2deg) translateY(0);} 50%{transform:rotate(-1.2deg) translateY(-6px);} }
@keyframes floatP4{ 0%,100%{transform:rotate(1.6deg) translateY(0);} 50%{transform:rotate(1.6deg) translateY(-8px);} }
@keyframes floatTop{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }
@keyframes glowPulse{ 0%,100%{box-shadow:0 22px 44px -16px rgba(0,0,0,.65), 0 0 0 1px rgba(201,255,77,.08) inset;} 50%{box-shadow:0 22px 44px -16px rgba(0,0,0,.65), 0 0 22px 2px rgba(201,255,77,.18);} }
@media (max-width:920px){
  .deck{height:auto; display:flex; flex-direction:column; gap:.7rem; transform:none;}
  .deck-panel{position:static; width:100%; animation:none !important;}
}
@media (prefers-reduced-motion: reduce){
  .deck-panel{animation:none !important;}
  .deck{transform:none;}
}

.quote{
  font-size:clamp(1.6rem, 3.6vw, 2.5rem);
  font-weight:500; line-height:1.28; color:var(--text);
  text-wrap:balance; max-width:24ch; position:relative; padding-left:1.4rem;
  border-left:3px solid var(--lime);
}

.panel{
  background:var(--panel); border:1px solid var(--line);
  border-radius:16px; overflow:hidden;
}
.panel-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:1rem 1.4rem; border-bottom:1px solid var(--line);
  font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--dim); letter-spacing:.04em;
}
.metrics{ display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); }
.metric{ padding:1.5rem 1.4rem; border-right:1px solid var(--line); }
.metric:last-child{border-right:none;}
.metric .num{ font-variant-numeric:tabular-nums; font-size:2.1rem; font-weight:700; color:var(--text); }
.metric .lbl{ font-family:'JetBrains Mono',monospace; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--dim); margin-top:.3rem; }
@media (max-width:640px){ .metrics{grid-template-columns:1fr;} .metric{border-right:none; border-bottom:1px solid var(--line);} .metric:last-child{border-bottom:none;} }

table.rows{width:100%; border-collapse:collapse; font-size:.9rem;}
table.rows th{ text-align:left; font-family:'JetBrains Mono',monospace; font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; color:var(--dim); padding:.75rem 1.4rem; border-bottom:1px solid var(--line); font-weight:500; }
table.rows td{ padding:.85rem 1.4rem; border-bottom:1px solid var(--line); color:var(--text); }
table.rows tr:last-child td{border-bottom:none;}
.chip{ font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.02em; padding:.28em .65em; border-radius:100px; display:inline-block; white-space:nowrap; }
.chip-good{color:var(--good); background:color-mix(in srgb, var(--good) 16%, transparent);}
.chip-warn{color:var(--warn); background:color-mix(in srgb, var(--warn) 16%, transparent);}
.chip-bad{color:var(--bad); background:color-mix(in srgb, var(--bad) 16%, transparent);}

.feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:2.4rem; perspective:900px; }
@media (max-width:820px){ .feature-grid{grid-template-columns:1fr;} }
.feature{
  background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:1.9rem 1.7rem;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
  will-change:transform;
}
.feature:hover{ border-color:var(--line-strong); box-shadow:0 18px 34px -22px rgba(201,255,77,.18); }
.feature .num{ font-weight:700; font-size:1.6rem; color:var(--lime); }
.feature h3{font-size:1.14rem; margin:.6rem 0 .55rem;}
.feature p{font-size:.93rem;}

.flow{ display:flex; gap:0; margin-top:2.6rem; overflow-x:auto; overflow-y:hidden; padding-bottom:.5rem; position:relative; }
.flow-step{ flex:1 0 145px; position:relative; padding:1.4rem 1rem 0; }
.flow-line{ position:absolute; top:0; left:0; right:0; height:2px; background:var(--line-strong); }
.flow-step:first-child .flow-line{left:50%;}
.flow-step:last-child .flow-line{right:50%;}
.flow-dot{ position:absolute; top:-3px; left:50%; transform:translateX(-50%); width:8px; height:8px; border-radius:50%; background:var(--lime); }
.flow-step .n{ font-family:'JetBrains Mono',monospace; font-size:.68rem; color:var(--dim); }
.flow-step .t{ font-weight:600; margin-top:.35rem; font-size:1rem; }
.flow-pulse{
  position:absolute; top:calc(1.4rem - 4px); left:0;
  width:9px; height:9px; border-radius:50%;
  background:var(--pink); box-shadow:0 0 10px 2px rgba(255,62,165,.7);
  animation:travel 5.5s linear infinite;
}
@keyframes travel{ 0%{left:0; opacity:0;} 6%{opacity:1;} 94%{opacity:1;} 100%{left:100%; opacity:0;} }
@media (max-width:760px){ .flow-pulse{display:none;} }
@media (prefers-reduced-motion: reduce){ .flow-pulse{display:none;} }

.ai-grid{display:grid; grid-template-columns:1fr 1.05fr; gap:3rem; align-items:center;}
@media (max-width:900px){ .ai-grid{grid-template-columns:1fr;} }
.console{
  background:var(--panel2); border:1px solid var(--line-strong); border-radius:14px;
  font-family:'JetBrains Mono',monospace; font-size:.86rem; overflow:hidden;
}
.console-head{ padding:.8rem 1.1rem; border-bottom:1px solid var(--line); color:var(--dim); font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; }
.console-body{ padding:1.2rem 1.3rem; display:flex; flex-direction:column; gap:1rem; }
.console-line{ line-height:1.62; color:var(--dim); min-height:1.62em; }
.console-line .who{ color:var(--lime); }
.console-line.reply{ color:var(--text); }
.console-line.reply .who{ color:var(--pink); }
.console-line .cursor{ display:inline-block; width:.55em; height:1em; background:var(--lime); vertical-align:text-bottom; margin-left:1px; animation:blink 1s step-end infinite; }
.console-line .cursor.hide{ visibility:hidden; }
@keyframes blink{ 50%{opacity:0;} }
@media (prefers-reduced-motion: reduce){ .console-line .cursor{animation:none;} }

.why-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2.6rem; margin-top:2.2rem; }
@media (max-width:760px){ .why-grid{grid-template-columns:1fr;} }
.why-col h4{ font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; margin:0 0 1.1rem; color:var(--dim); font-weight:500; }
.why-col.now h4{color:var(--lime);}
.why-col ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:.85rem;}
.why-col li{font-size:.96rem; color:var(--text); display:flex; gap:.7em; padding-bottom:.85rem; border-bottom:1px solid var(--line);}
.why-col li:last-child{border-bottom:none; padding-bottom:0;}
.why-col.before li{color:var(--dim);}
.why-col li::before{content:"–"; color:var(--dimmer); flex:none;}
.why-col.now li::before{content:"+"; color:var(--lime);}

.pricing-panel{ display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap; background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:2.1rem; margin-top:1.8rem; }
.pricing-panel .p-note{ font-family:'JetBrains Mono',monospace; font-size:.7rem; color:var(--dim); letter-spacing:.03em; }

.team-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; margin-top:2.2rem; perspective:900px;}
@media (max-width:700px){ .team-grid{grid-template-columns:1fr;} }
.team-card{
  border:1px solid var(--line); border-radius:16px; padding:1.7rem; background:var(--panel);
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
  will-change:transform;
}
.team-card:hover{ border-color:var(--line-strong); box-shadow:0 18px 34px -22px rgba(201,255,77,.18); }
.team-card .initials{ width:44px;height:44px; border-radius:50%; background:color-mix(in srgb, var(--lime) 16%, transparent); color:var(--lime); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.92rem; margin-bottom:1.1rem; }
.team-card h3{font-size:1.08rem;}
.team-card .role{ font-family:'JetBrains Mono',monospace; font-size:.7rem; color:var(--lime); margin:.35rem 0 .85rem; letter-spacing:.03em; }
.team-card p{font-size:.9rem;}

/* home page "explore" links */
.explore-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:2rem; }
@media (max-width:820px){ .explore-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .explore-grid{grid-template-columns:1fr;} }
.explore-card{
  background:var(--panel); border:1px solid var(--line); border-radius:14px;
  padding:1.3rem 1.4rem; text-decoration:none; color:inherit;
  display:flex; flex-direction:column; gap:.35rem;
  transition:border-color .15s ease, transform .15s ease;
}
.explore-card:hover{ border-color:var(--line-strong); transform:translateY(-2px); }
.explore-card .tag{ font-family:'JetBrains Mono',monospace; font-size:.66rem; color:var(--lime); text-transform:uppercase; letter-spacing:.05em; }
.explore-card .t{ font-weight:600; font-size:1rem; }
.explore-card .d{ font-size:.82rem; color:var(--dim); }

.close-band{ padding-block:clamp(3.5rem, 8vw, 6rem) 2.5rem; background:var(--panel); }
.cta-inner{ display:grid; grid-template-columns:1.3fr 1fr; gap:2.6rem; align-items:center; padding-bottom:3rem; border-bottom:1px solid var(--line); }
@media (max-width:820px){ .cta-inner{grid-template-columns:1fr;} }
.cta-actions{display:flex; flex-direction:column; gap:.9rem; align-items:flex-start;}
.cta-actions .email{ font-family:'JetBrains Mono',monospace; font-size:.85rem; color:var(--dim); text-decoration:underline; text-underline-offset:3px; }

footer.finerow{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; padding-top:2.2rem; }
.fine{ font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--dim); letter-spacing:.02em; }
footer nav{display:flex; gap:1.3rem;}
footer nav a{ font-family:'JetBrains Mono',monospace; font-size:.72rem; text-decoration:none; color:var(--dim); }
footer nav a:hover{color:var(--text);}

.reveal{opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease;}
.reveal.pre{opacity:0; transform:translateY(16px);}
@media (prefers-reduced-motion: reduce){ .reveal.pre{opacity:1; transform:none;} }

/* ---------- cursor spotlight: soft light that follows the mouse, on every page ---------- */
.cursor-glow{
  position:fixed; inset:0; z-index:2; pointer-events:none;
  background:radial-gradient(480px circle at var(--gx,50%) var(--gy,30%), rgba(201,255,77,.12), transparent 68%);
  mix-blend-mode:screen;
  opacity:0; transition:opacity .35s ease;
}
.cursor-glow.show{ opacity:1; }
@media (max-width:900px), (hover:none){ .cursor-glow{ display:none; } }
@media (prefers-reduced-motion: reduce){ .cursor-glow{ display:none; } }
