:root{
  --bg:#0D1424;
  --bg-alt:#111B31;
  --surface:#1B2846;
  --surface-2:#243456;
  --text:#F5F7FB;
  --text-dim:#C2CBDC;
  --text-faint:#8E9AB5;
  --line:#39496F;
  --line-soft:#283A5C;
  --accent:#4361EE;
  --accent-strong:#9DB4FF;
  --accent-glow:#6E8CFF;
  --accent-dim:rgba(67,97,238,.22);
  --radius:10px;
  --radius-sm:6px;
  --maxw:1160px;
  --maxw-narrow:760px;
  --maxw-form:640px;
  color-scheme: dark;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Poppins", "Segoe UI", Arial, sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }

h1,h2,h3{
  font-family:"Poppins", "Segoe UI", Arial, sans-serif;
  font-weight:600;
  line-height:1.1;
  text-wrap:balance;
  margin:0;
  color:#fff;
}

p{ margin:0; }

a{ color:inherit; text-decoration:none; }

.mono{ font-family:"JetBrains Mono","SFMono-Regular",Consolas,monospace; }

.inline-logo{
  height:0.75em;
  width:auto;
  display:inline-block;
  vertical-align:baseline;
  margin:0 2px;
}
th .inline-logo{ height:0.95em; }

.skip-link{
  position:absolute;
  left:12px; top:-48px;
  background:var(--accent);
  color:#fff;
  padding:10px 16px;
  border-radius:var(--radius-sm);
  z-index:100;
  transition:top .15s ease;
}
.skip-link:focus{ top:12px; }

:focus-visible{
  outline:2px solid var(--accent-strong);
  outline-offset:2px;
}

.wrap{
  max-width:var(--maxw);
  margin:0 auto;
  padding-inline:20px;
}
@media (min-width:768px){ .wrap{ padding-inline:32px; } }
@media (min-width:1280px){ .wrap{ padding-inline:40px; } }

.wrap-narrow{ max-width:var(--maxw-narrow); }
.wrap-form{ max-width:var(--maxw-form); }

.eyebrow{
  font-family:"Poppins", sans-serif;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent-strong);
  margin:0 0 12px;
}

/* ---------------- buttons ---------------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:"Poppins", sans-serif;
  font-weight:600;
  font-size:15px;
  padding:13px 24px;
  border-radius:var(--radius-sm);
  border:1px solid transparent;
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s ease, border-color .15s ease, color .15s ease, transform .1s ease;
}
.btn:active{ transform:translateY(1px); }
.btn-accent{
  background:var(--accent);
  color:#fff;
}
.btn-accent:hover{ background:#3450D2; }
.btn-outline{
  background:transparent;
  border-color:var(--line);
  color:var(--text);
}
.btn-outline:hover{ border-color:var(--accent-strong); color:var(--accent-strong); }
.btn-small{ padding:9px 16px; font-size:13.5px; }
.btn-full{ width:100%; }

/* ---------------- topbar ---------------- */
.topbar{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(13,20,36,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.topbar-row{
  display:flex;
  align-items:center;
  gap:24px;
  padding-block:16px;
}
.brand{ display:block; flex-shrink:0; }
.brand img{ height:22px; width:auto; }
.primary-nav{
  display:none;
  gap:28px;
  margin-right:auto;
}
.primary-nav a{
  font-size:14.5px;
  color:var(--text-dim);
  position:relative;
}
.primary-nav a:hover{ color:var(--text); }
.primary-nav a.active{ color:var(--text); }
.primary-nav a.active::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-9px;
  height:2px;
  border-radius:2px;
  background:var(--accent-glow);
}
.mobile-nav a.active{ color:var(--accent-strong); font-weight:600; }
.mobile-nav a.active::after{
  content:" (current page)";
  font-size:12px;
  font-weight:400;
  color:var(--text-faint);
}
.nav-hook{
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  color:var(--accent-strong) !important;
  font-weight:600;
}
.nav-hook:hover{ color:#fff !important; }
.nav-hook::before{
  content:"";
  width:6px; height:6px;
  border-radius:50%;
  background:var(--accent-glow);
  box-shadow:0 0 10px 2px var(--accent-dim);
  animation:pulse-dot 2.4s ease-in-out infinite;
}
.mobile-nav .nav-hook{ color:var(--accent-strong) !important; }
@media (min-width:1024px){
  .primary-nav{ display:flex; }
  .topbar-row .btn{ margin-left:0; }
}
.topbar-row > .btn{ display:none; }
@media (min-width:640px){
  .topbar-row > .btn{ display:inline-flex; margin-left:auto; }
}
@media (min-width:1024px){
  .topbar-row > .btn{ margin-left:0; }
}

.nav-toggle{
  margin-left:auto;
  width:38px; height:38px;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  cursor:pointer;
}
@media (min-width:640px){ .nav-toggle{ margin-left:12px; } }
@media (min-width:1024px){ .nav-toggle{ display:none; } }
.nav-toggle span{
  width:16px; height:1.5px;
  background:var(--text);
  display:block;
}
.mobile-nav{
  display:flex;
  flex-direction:column;
  border-top:1px solid var(--line-soft);
  padding:8px 20px 18px;
}
.mobile-nav a{
  padding:12px 0;
  font-size:16px;
  color:var(--text);
  border-bottom:1px solid var(--line-soft);
}
.mobile-nav a:last-child{ border-bottom:none; }
.mobile-nav[hidden]{ display:none; }
@media (min-width:1024px){ .mobile-nav{ display:none !important; } }

/* ---------------- hero ---------------- */
.hero{
  position:relative;
  padding-block:76px 88px;
  overflow:hidden;
  border-bottom:1px solid var(--line-soft);
  background:
    radial-gradient(680px 680px at 84% 38%, rgba(110,140,255,.20), transparent 68%),
    var(--bg);
}
@media (min-width:900px){ .hero{ padding-block:120px 140px; } }

.hero-visual{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero-ring{
  position:absolute;
  border:1.5px solid var(--accent-glow);
  border-radius:50%;
  right:-100px;
  top:50%;
  transform:translateY(-50%);
}
.hero-ring-a{ width:420px; height:420px; opacity:.55; }
.hero-ring-b{ width:620px; height:620px; opacity:.35; animation:spin-slow 60s linear infinite; }
.hero-ring-c{ width:820px; height:820px; opacity:.20; animation:spin-slow 90s linear infinite reverse; }
@keyframes spin-slow{ to{ transform:translateY(-50%) rotate(360deg); } }
.hero-dot{
  position:absolute;
  width:9px; height:9px;
  border-radius:50%;
  background:var(--accent-strong);
  box-shadow:0 0 22px 4px var(--accent-dim);
  animation:pulse-dot 3.2s ease-in-out infinite;
}
.hero-dot-1{ right:20%; top:32%; animation-delay:0s; }
.hero-dot-2{ right:6%; top:58%; animation-delay:1s; }
.hero-dot-3{ right:32%; top:70%; animation-delay:2s; }
@keyframes pulse-dot{
  0%,100%{ opacity:.55; transform:scale(1); }
  50%{ opacity:1; transform:scale(1.7); }
}
@media (max-width:899px){
  .hero-visual{ opacity:.7; }
  .hero-ring{ right:-200px; }
}

.hero-content{ position:relative; max-width:760px; }
.hero h1{
  font-size:clamp(32px, 5.2vw, 56px);
  letter-spacing:-.01em;
}
.hero-sub{
  margin-top:22px;
  max-width:46ch;
  font-size:18px;
  color:var(--text-dim);
}
.cta-row{
  margin-top:34px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.cta-row-center{ justify-content:center; }

/* ---------------- sections ---------------- */
.section{ padding-block:72px; }
@media (min-width:900px){ .section{ padding-block:104px; } }
.section-alt{ background:var(--bg-alt); border-block:1px solid var(--line-soft); }
.section-quiet{ padding-block:56px; text-align:center; }
.section-quiet h2{ font-size:clamp(24px,3.4vw,34px); max-width:24ch; margin-inline:auto; }
.section-quiet p{ max-width:60ch; margin:18px auto 0; color:var(--text-dim); font-size:16.5px; line-height:1.65; }
.section-quiet .btn{ margin-top:28px; }
.section-final{ text-align:center; padding-block:88px; }
.section-final h2{ font-size:clamp(26px,4vw,38px); max-width:20ch; margin:0 auto; }

.section-head{ max-width:640px; margin-bottom:44px; }
.section-head h2{ font-size:clamp(24px,3.4vw,34px); }
.section-sub{ margin-top:14px; color:var(--text-dim); font-size:16px; }

/* ---------------- card grids ---------------- */
.card-grid{
  display:grid;
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  overflow:hidden;
}
.card-grid-3{ grid-template-columns:1fr; }
.card-grid-4{ grid-template-columns:1fr; }
@media (min-width:640px){
  .card-grid-3{ grid-template-columns:repeat(3,1fr); }
  .card-grid-4{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1024px){
  .card-grid-4{ grid-template-columns:repeat(4,1fr); }
}

.problem-card, .pillar-card, .who-card, .plan-card{
  background:var(--surface);
  padding:30px 26px;
}

.problem-card h3, .pillar-card h3{ font-size:19px; margin-bottom:12px; }
.problem-card p, .pillar-card p{ color:var(--text-dim); font-size:15px; }

.who-card p:not(.eyebrow){ color:var(--text-dim); font-size:15.5px; }
.who-card .eyebrow{ margin-bottom:14px; }

.plan-card{ display:flex; flex-direction:column; gap:12px; }
.plan-card h3{ font-size:19px; }
.plan-note{
  font-family:"JetBrains Mono",monospace;
  font-size:12px;
  letter-spacing:.04em;
  color:var(--accent-strong);
  text-transform:uppercase;
}
.plan-card p:not(.plan-note){ color:var(--text-dim); font-size:15px; flex-grow:1; }
.plan-card .btn{ align-self:flex-start; margin-top:6px; }

/* ---------------- proof strip ---------------- */
.proof-strip{
  list-style:none;
  margin:36px 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
}
.proof-strip li{
  font-size:14px;
  color:var(--text-dim);
  display:flex;
  align-items:center;
  gap:8px;
}
.proof-strip li::before{
  content:"";
  width:6px; height:6px;
  border-radius:50%;
  background:var(--accent-glow);
  flex-shrink:0;
}

/* ---------------- why now ---------------- */
.section-tight{ padding-block:64px; }
@media (min-width:900px){ .section-tight{ padding-block:84px; } }
.now-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
@media (min-width:640px){ .now-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .now-grid{ grid-template-columns:repeat(4,1fr); } }
.now-card{
  border-top:1px solid var(--line);
  padding-top:20px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.now-card h3{ font-size:20px; }
.now-card p{ color:var(--text-dim); font-size:15px; }
.now-link{
  margin-top:auto;
  padding-top:6px;
  font-size:14px;
  font-weight:600;
  color:var(--accent-strong);
}
.now-link:hover{ color:var(--text); }
.now-cite{
  margin-top:auto;
  padding-top:6px;
  font-family:"JetBrains Mono",monospace;
  font-size:11.5px;
  color:var(--text-faint);
  letter-spacing:.02em;
}

/* ---------------- only in nerveom ---------------- */
.section-only{
  position:relative;
  background:
    radial-gradient(900px 480px at 50% 0%, rgba(110,140,255,.14), transparent 70%),
    var(--bg);
  border-block:1px solid var(--line-soft);
}
.section-only .section-head h2{ font-size:clamp(28px,4vw,42px); }
.only-list{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
@media (min-width:768px){ .only-list{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .only-list{ grid-template-columns:repeat(3,1fr); } }
.only-item{
  background:linear-gradient(180deg, var(--surface-2), var(--surface));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px 26px 24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:border-color .2s ease, transform .2s ease;
}
.only-item:hover{ border-color:var(--accent-glow); transform:translateY(-2px); }
.only-item h3{ font-size:21px; }
.only-item > p:not(.only-else){ color:var(--text-dim); font-size:15px; }
.only-else{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid var(--line-soft);
  font-size:13.5px;
  color:var(--text-faint);
}
.only-else span{
  display:inline-block;
  margin-right:8px;
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-faint);
  border:1px solid var(--line);
  border-radius:4px;
  padding:1px 6px;
}
.fine-print{
  margin-top:20px;
  font-size:12.5px;
  color:var(--text-faint);
  max-width:72ch;
}

.sources-block{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--line-soft);
}
.sources-title{
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-faint);
  margin-bottom:12px;
}
.sources-list{
  margin:0;
  padding-left:20px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sources-list li{
  font-size:12.5px;
  color:var(--text-faint);
  line-height:1.5;
}
.sources-list em{
  font-style:italic;
  color:var(--text-dim);
}

/* ---------------- capability groups ---------------- */
.cap-groups{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
@media (min-width:900px){ .cap-groups{ grid-template-columns:repeat(3,1fr); } }
.cap-group{
  background:var(--surface);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  padding:28px 26px;
}
.cap-group h3{
  font-size:24px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.cap-group ul{
  list-style:none;
  margin:0; padding:0;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.cap-group li{ font-size:14.5px; color:var(--text-dim); line-height:1.5; }
.cap-group li strong{ color:var(--text); font-weight:600; display:block; margin-bottom:2px; }

/* ---------------- use-case tabs ---------------- */
.tab-scroll-wrap{
  position:relative;
  margin-bottom:20px;
}
.tab-scroll-wrap::after{
  content:"";
  position:absolute;
  top:0; right:0; bottom:4px;
  width:44px;
  background:linear-gradient(to right, transparent, var(--bg) 75%);
  pointer-events:none;
  opacity:1;
  transition:opacity .2s ease;
}
.section-alt .tab-scroll-wrap::after{ background:linear-gradient(to right, transparent, var(--bg-alt) 75%); }
.tab-scroll-wrap.is-at-end::after{ opacity:0; }
.tab-list{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:4px;
  margin-bottom:0;
  scrollbar-width:thin;
}
.tab-list [role="tab"]{
  flex-shrink:0;
  font-family:"Poppins", sans-serif;
  font-size:14px;
  font-weight:500;
  color:var(--text-dim);
  background:transparent;
  border:1px solid var(--line);
  border-radius:999px;
  padding:9px 16px;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.tab-list [role="tab"]:hover{ color:var(--text); border-color:var(--accent-strong); }
.tab-list [role="tab"][aria-selected="true"]{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
.tab-panel{
  display:grid;
  grid-template-columns:1fr;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.tab-panel[hidden]{ display:none; }
@media (min-width:768px){ .tab-panel{ grid-template-columns:1fr 1fr; } }
.uc-half{
  padding:30px 28px;
  background:var(--surface);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.uc-half p{ font-size:17px; color:var(--text-dim); line-height:1.55; }
.uc-half-accent{
  background:linear-gradient(135deg, rgba(67,97,238,.22), rgba(67,97,238,.08)), var(--surface-2);
}
.uc-half-accent p{ color:var(--text); }
.uc-label{
  font-family:"JetBrains Mono",monospace;
  font-size:11.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-faint);
}
.uc-half-accent .uc-label{ color:var(--accent-strong); }

/* ---------------- flow ---------------- */
.flow-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  overflow:hidden;
}
@media (min-width:640px){ .flow-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .flow-grid{ grid-template-columns:repeat(5,1fr); } }
.flow-step{
  background:var(--surface);
  padding:26px 22px;
  position:relative;
}
.flow-num{
  font-family:"JetBrains Mono",monospace;
  font-size:13px;
  color:var(--accent-strong);
  margin-bottom:12px;
  display:block;
}
.flow-step h3{ font-size:17px; margin-bottom:8px; }
.flow-step p{ font-size:14px; color:var(--text-dim); }
.flow-step:not(:last-child)::after{
  content:"→";
  display:none;
  position:absolute;
  right:-9px; top:26px;
  color:var(--text-faint);
  font-size:14px;
  z-index:2;
}
@media (min-width:1024px){
  .flow-step:not(:last-child)::after{ display:block; }
}

/* ---------------- comparison table ---------------- */
.table-scroll{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.compare-table{
  width:100%;
  border-collapse:collapse;
  min-width:680px;
  background:var(--surface);
}
.compare-table th, .compare-table td{
  padding:16px 18px;
  text-align:left;
  font-size:14.5px;
  border-bottom:1px solid var(--line-soft);
  vertical-align:top;
}
.compare-table thead th{
  font-family:"Poppins", sans-serif;
  font-weight:600;
  font-size:13px;
  letter-spacing:.02em;
  color:var(--text-dim);
  border-bottom:1px solid var(--line);
}
.compare-table tbody th{
  font-weight:500;
  color:var(--text);
}
.compare-table td{ color:var(--text-dim); }
.compare-table tbody tr:last-child th,
.compare-table tbody tr:last-child td{ border-bottom:none; }
.compare-table .is-nerveom{
  background:var(--accent-dim);
  color:var(--text);
  font-weight:500;
}
.compare-table thead th.is-nerveom{
  color:var(--accent-strong);
  background:transparent;
}
.compare-note{
  margin-top:16px;
  font-size:13.5px;
  color:var(--text-faint);
}

/* ---------------- product mock ---------------- */
.mock-frame{
  position:relative;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(180deg, var(--surface-2), var(--surface));
  overflow:hidden;
  max-width:880px;
  margin:0 auto;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.55);
}
.mock-topbar{
  padding:14px 20px;
  border-bottom:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.mock-body{ padding:28px 24px 0; }
.mock-kpis{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  overflow:hidden;
}
@media (min-width:640px){ .mock-kpis{ grid-template-columns:repeat(4,1fr); } }
.mock-kpi{
  background:var(--surface-2);
  padding:18px 16px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mock-kpi-value{
  font-family:"JetBrains Mono",monospace;
  font-variant-numeric:tabular-nums;
  font-size:clamp(20px,2.6vw,26px);
  color:#fff;
}
.mock-kpi-label{
  font-size:12.5px;
  color:var(--text-dim);
}
.mock-topbar{ display:flex; justify-content:space-between; align-items:center; }
.mock-live{
  display:inline-flex; align-items:center; gap:6px;
  color:#7FD6A8;
}
.mock-live i{
  width:7px; height:7px; border-radius:50%;
  background:#4CC38A;
  box-shadow:0 0 0 3px rgba(76,195,138,.2);
  animation:pulse-dot 2.4s ease-in-out infinite;
}
.mock-split{
  margin-top:20px;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
@media (min-width:768px){ .mock-split{ grid-template-columns:1.4fr 1fr; } }
.mock-panel{
  background:var(--surface);
  border:1px solid var(--line-soft);
  border-radius:var(--radius-sm);
  padding:16px 16px 0;
}
.mock-panel-title{
  display:block;
  font-size:12.5px;
  color:var(--text-dim);
  margin-bottom:12px;
}
.mock-feed{
  list-style:none; margin:0; padding:0 0 16px;
  display:flex; flex-direction:column; gap:12px;
}
.mock-feed li{
  display:flex; align-items:flex-start; gap:10px;
  font-size:13px; color:var(--text);
  line-height:1.4;
}
.mock-feed i{
  width:8px; height:8px; border-radius:50%;
  margin-top:5px; flex-shrink:0;
}
.dot-warn{ background:#E8A33D; }
.dot-stop{ background:#E0705A; }
.dot-ok{ background:#4CC38A; }
.dot-info{ background:var(--accent-glow); }
.mock-chart{
  height:130px;
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:0 4px;
}
.mock-bar{
  flex:1;
  height:var(--h);
  background:linear-gradient(180deg, var(--accent-glow), var(--accent));
  border-radius:4px 4px 0 0;
}
.mock-fade{
  height:56px;
  margin-top:-56px;
  position:relative;
  background:linear-gradient(180deg, transparent, var(--surface) 96%);
}

/* ---------------- form ---------------- */
.hp-field{
  position:absolute;
  left:-9999px;
  top:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.interest-form{
  display:flex;
  flex-direction:column;
  gap:20px;
}
/* .interest-form's display:flex would otherwise override the hidden attribute */
.interest-form[hidden]{ display:none; }
.interest-form + .form-status{ margin-top:20px; }
.form-row{ display:flex; flex-direction:column; gap:8px; }
.form-row label{ font-size:14.5px; font-weight:500; color:var(--text); }
.req{ color:var(--accent-strong); }
.opt{ color:var(--text-faint); font-weight:400; }
.form-row input[type="text"],
.form-row input[type="email"],
.form-row select,
.form-row textarea{
  font-family:"Poppins", sans-serif;
  font-size:15px;
  color:var(--text);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  width:100%;
}
.form-row textarea{ resize:vertical; min-height:96px; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{
  border-color:var(--accent-strong);
}
.form-row input[aria-invalid="true"], .form-row select[aria-invalid="true"]{
  border-color:#E0705A;
}
.field-error{
  font-size:13px;
  color:#F0A08D;
  min-height:1em;
}
.form-grid-2{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
@media (min-width:560px){ .form-grid-2{ grid-template-columns:1fr 1fr; } }
.form-row-checkbox{
  flex-direction:row;
  align-items:flex-start;
  gap:10px;
}
.form-row-checkbox input{ margin-top:4px; flex-shrink:0; }
.form-row-checkbox label{ font-weight:400; color:var(--text-dim); font-size:14px; }
/* agents and tools: grouped tick boxes, then a free-text "anything not listed" */
.tools-field{ border:0; padding:0; margin:0; min-width:0; }
.tools-field legend{ font-size:14.5px; font-weight:500; color:var(--text); padding:0; margin-bottom:8px; }
.tools-groups{
  display:grid; grid-template-columns:1fr; gap:18px 28px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:16px;
}
@media (min-width:560px){ .tools-groups{ grid-template-columns:1fr 1fr; } }
.tools-group-title{ font-size:13px; color:var(--text-faint); margin:0 0 8px; }
.tools-list{ list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.tools-list label{ display:flex; align-items:flex-start; gap:10px; min-height:28px; font-size:14px; font-weight:400; color:var(--text-dim); cursor:pointer; }
.tools-list input{ width:16px; height:16px; margin-top:3px; flex-shrink:0; accent-color:var(--accent); }
.tools-other{ display:flex; flex-direction:column; gap:8px; margin-top:14px; }
.form-note{ font-size:13.5px; color:var(--text-faint); }
.form-status{
  font-size:15px;
  padding:14px 16px;
  border-radius:var(--radius-sm);
  background:var(--accent-dim);
  color:var(--accent-strong);
}
.form-status.is-error{ background:rgba(224,112,90,.18); color:#F0A08D; }

/* ---------------- faq ---------------- */
.faq-groups{
  display:flex;
  flex-direction:column;
  gap:40px;
}
.faq-cat-title{
  font-family:"JetBrains Mono",monospace;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent-strong);
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.faq-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
@media (min-width:860px){ .faq-grid{ grid-template-columns:1fr 1fr; } }
.faq-item{
  background:var(--surface);
  border:1px solid var(--line-soft);
  border-radius:var(--radius-sm);
  padding:4px 20px;
  align-self:start;
  transition:border-color .15s ease;
}
.faq-item[open]{ border-color:var(--accent-glow); }
.faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:16px 0;
  font-size:15.5px;
  font-weight:500;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+";
  font-family:"Poppins", sans-serif;
  font-size:20px;
  color:var(--accent-strong);
  flex-shrink:0;
}
.faq-item[open] summary::after{ content:"\2212"; }
.faq-item p{ padding-bottom:18px; color:var(--text-dim); font-size:14.5px; }

/* ---------------- footer ---------------- */
.footer{ padding-block:36px; border-top:1px solid var(--line-soft); }
.footer-row{
  display:flex;
  flex-direction:column;
  gap:16px;
  align-items:flex-start;
}
@media (min-width:640px){
  .footer-row{ flex-direction:row; align-items:center; justify-content:space-between; }
}
.footer-logo{ height:18px; width:auto; opacity:.85; }
.footer-meta{ font-size:13.5px; color:var(--text-faint); }
.footer-meta a{ color:var(--text-dim); }
.footer-meta a:hover{ color:var(--accent-strong); }

/* ---------------- mobile cta bar ---------------- */
.mobile-cta-bar{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:40;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
  background:rgba(13,20,36,.94);
  backdrop-filter:blur(10px);
  border-top:1px solid var(--line-soft);
}
@media (min-width:900px){ .mobile-cta-bar{ display:none; } }
body{ padding-bottom:calc(78px + env(safe-area-inset-bottom, 0px)); }
@media (min-width:900px){ body{ padding-bottom:0; } }
