/* ═══════════ AUTOPILOT AI v5 — editorial / big type / #155DFC ═══════════ */

@font-face{ font-family:'Space Grotesk'; font-weight:500; font-display:swap;
  src:url('../vendor/fonts/spacegrotesk500.woff2') format('woff2'); }
@font-face{ font-family:'Space Grotesk'; font-weight:700; font-display:swap;
  src:url('../vendor/fonts/spacegrotesk700.woff2') format('woff2'); }
@font-face{ font-family:'Inter'; font-weight:400; font-display:swap;
  src:url('../vendor/fonts/inter400.woff2') format('woff2'); }
@font-face{ font-family:'Inter'; font-weight:500; font-display:swap;
  src:url('../vendor/fonts/inter500.woff2') format('woff2'); }
@font-face{ font-family:'JetBrains Mono'; font-weight:400; font-display:swap;
  src:url('../vendor/fonts/jbmono400.woff2') format('woff2'); }
@font-face{ font-family:'JetBrains Mono'; font-weight:500; font-display:swap;
  src:url('../vendor/fonts/jbmono500.woff2') format('woff2'); }

:root{
  --bg:#FFFFFF;
  --paper:#F5F7FA;          /* soft section band */
  --ink:#0B1322;            /* near-black cool */
  --body-c:#4B5769;
  --muted:#8A94A6;
  --border:#E6EAF1;
  --blue:#155DFC;
  --blue-dark:#0E3AAE;
  --sky:#8FB4FF;            /* accent word on dark */
  --tint:#EBF1FF;           /* pill / tag background */
  --dark:#0A0D14;           /* dark bands */
  --dark-2:#10141D;
  --dark-line:rgba(255,255,255,.10);
  --dark-body:#9AA4B5;
  --shadow-sm:0 1px 2px rgba(11,19,34,.05), 0 8px 24px rgba(11,19,34,.06);
  --shadow-md:0 2px 4px rgba(11,19,34,.05), 0 24px 56px rgba(11,19,34,.10);
  --display:'Space Grotesk','Inter',sans-serif;
  --sans:'Inter',-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --pad:clamp(20px,5vw,72px);
  --wrap:1320px;
  --ease:cubic-bezier(.16,1,.3,1);
  --r-btn:10px;
  --r-card:18px;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  background:var(--bg); color:var(--body-c);
  font-family:var(--sans); font-size:16.5px; line-height:1.7;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
::selection{ background:var(--blue); color:#fff; }
img{ max-width:100%; display:block; }
h1,h2,h3,h4{ font-family:var(--display); color:var(--ink); font-weight:700; }
button{ font-family:inherit; cursor:pointer; }
a{ color:inherit; }

.wrap{ max-width:var(--wrap); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }

/* ── display type ── */
.d1{ font-size:clamp(46px,7.6vw,108px); line-height:.96; letter-spacing:-.035em; }
.d2{ font-size:clamp(34px,4.9vw,64px);  line-height:1.02; letter-spacing:-.028em; }
.d3{ font-size:clamp(24px,2.6vw,32px);  line-height:1.12; letter-spacing:-.018em; }
.accent{ color:var(--blue); }
.on-dark .accent, .accent--sky{ color:var(--sky); }

.kicker{
  font-family:var(--mono); font-weight:500; font-size:11.5px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
  display:block; margin-bottom:22px;
}
.lede{ font-size:clamp(17px,1.4vw,19.5px); line-height:1.7; max-width:56ch; }

/* ── buttons ── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none;
  font-family:var(--display); font-weight:500; font-size:15.5px; letter-spacing:.005em;
  padding:15px 28px; border-radius:var(--r-btn); border:1px solid transparent;
  transition:transform .3s var(--ease), box-shadow .3s, background .3s, border-color .3s, color .3s;
  will-change:transform; white-space:nowrap;
}
.btn svg{ width:15px; height:15px; flex:none; transition:transform .25s; }
.btn:hover svg{ transform:translateX(3px); }
.btn:active{ transform:scale(.97); }
.btn--primary{ background:var(--ink); color:#fff; }
.btn--primary:hover{ background:var(--blue); box-shadow:0 12px 30px rgba(21,93,252,.28); }
.btn--line{ background:#fff; color:var(--ink); border-color:var(--border); }
.btn--line:hover{ border-color:var(--ink); }
.btn--onlight{ background:#fff; color:var(--ink); }
.btn--onlight:hover{ background:var(--tint); }
.btn--ghostdark{ background:transparent; color:#fff; border-color:var(--dark-line); }
.btn--ghostdark:hover{ border-color:#fff; }
.btn--lg{ padding:18px 34px; font-size:16.5px; border-radius:12px; }
.btn--sm{ padding:11px 20px; font-size:14px; }

/* ── nav ── */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; gap:34px;
  height:72px; padding:0 var(--pad);
  background:rgba(255,255,255,.86); backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background .4s, border-color .4s, box-shadow .4s, height .4s;
}
.nav.is-scrolled{ border-color:var(--border); box-shadow:0 8px 30px rgba(11,19,34,.06); height:64px; }
.nav__brand{
  display:flex; align-items:center; gap:10px; text-decoration:none;
  font-family:var(--display); font-weight:700; font-size:18.5px; letter-spacing:-.02em; color:var(--ink);
  margin-right:auto;
}
.nav__brand b{ color:var(--blue); }
.nav__bolt{ width:15px; height:20px; fill:var(--blue); }
.nav__links{ display:flex; gap:28px; }
.nav__links a{
  text-decoration:none; color:var(--body-c); font-size:14.5px; font-weight:500;
  transition:color .25s;
}
.nav__links a:hover, .nav__links a.is-here{ color:var(--ink); }
.nav__apply{ padding:11px 22px; font-size:14.5px; }
.nav__burger{ display:none; background:none; border:0; width:40px; height:40px; position:relative; }
.nav__burger span{
  position:absolute; left:9px; right:9px; height:2px; background:var(--ink); border-radius:2px;
  transition:transform .3s var(--ease), top .3s var(--ease), opacity .3s;
}
.nav__burger span:nth-child(1){ top:15px; }
.nav__burger span:nth-child(2){ top:23px; }
.nav.is-open .nav__burger span:nth-child(1){ top:19px; transform:rotate(45deg); }
.nav.is-open .nav__burger span:nth-child(2){ top:19px; transform:rotate(-45deg); }
.nav__drawer{
  position:fixed; top:72px; left:0; right:0; z-index:59;
  background:#fff; border-bottom:1px solid var(--border);
  display:none; flex-direction:column; gap:4px; padding:18px var(--pad) 26px;
}
.nav__drawer a{
  text-decoration:none; color:var(--ink); font-family:var(--display); font-weight:500;
  font-size:19px; padding:11px 0; border-bottom:1px solid var(--paper);
}
.nav__drawer .btn{ margin-top:14px; border:0; }
.nav__drawer a.btn--primary{ color:#fff; border-bottom:0; }
.nav.is-open ~ .nav__drawer, .nav.is-open .nav__drawer{ display:flex; }

/* ── hero (home) ── */
.hero{
  position:relative; padding:clamp(140px,17vh,190px) 0 clamp(56px,7vw,96px);
  background:linear-gradient(180deg,#fff 0%,#FAFBFD 100%);
}
.hero__inner{ display:grid; grid-template-columns:minmax(0,7.2fr) minmax(0,4.8fr); gap:clamp(32px,5vw,84px); align-items:center; }
.hero h1{ margin-bottom:30px; }
.hero .lede{ margin-bottom:38px; }
.hero__cta-row{ display:flex; gap:14px; flex-wrap:wrap; }

/* hero activity card */
.syscard{
  background:#fff; border:1px solid var(--border); border-radius:var(--r-card);
  box-shadow:var(--shadow-md); padding:26px 26px 20px; position:relative;
}
.syscard__head{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:20px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; color:var(--muted);
}
.syscard__live{ display:inline-flex; align-items:center; gap:7px; color:var(--blue); }
.syscard__live i{ width:7px; height:7px; border-radius:50%; background:var(--blue); animation:pulse 1.8s infinite; }
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(21,93,252,.35);} 55%{ box-shadow:0 0 0 7px rgba(21,93,252,0);} }
.sysrow{
  display:flex; align-items:center; gap:14px; padding:13px 4px;
  border-top:1px solid var(--paper); opacity:.35; transition:opacity .5s;
}
.sysrow.is-on{ opacity:1; }
.sysrow__ico{
  width:38px; height:38px; border-radius:11px; background:var(--paper);
  display:grid; place-items:center; flex:none; color:var(--muted);
  transition:background .4s, color .4s;
}
.sysrow.is-on .sysrow__ico{ background:var(--tint); color:var(--blue); }
.sysrow__ico svg{ width:18px; height:18px; }
.sysrow__t{ font-family:var(--display); font-weight:500; font-size:15.5px; color:var(--ink); line-height:1.25; }
.sysrow__s{ font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; color:var(--muted); }
.sysrow__tag{
  margin-left:auto; font-family:var(--mono); font-size:10px; letter-spacing:.08em;
  padding:5px 9px; border-radius:999px; background:var(--paper); color:var(--muted); flex:none;
  transition:background .4s, color .4s;
}
.sysrow.is-on .sysrow__tag{ background:var(--tint); color:var(--blue); }
.sysrow--done.is-on .sysrow__tag{ background:var(--ink); color:#fff; }

/* deck swap + progress dots — the card cycles through four system types,
   so the hero shows the full scope of what we build, not one workflow */
#sys-rows{ transition:opacity .38s ease; }
#sys-rows.is-swapping{ opacity:0; }
.syscard__dots{ display:flex; gap:6px; justify-content:center; padding-top:16px; }
.syscard__dot{
  width:16px; height:3px; border-radius:2px; background:var(--border);
  transition:background .45s, width .45s;
}
.syscard__dot.is-on{ background:var(--blue); width:26px; }

/* hero secondary line — the enterprise path */
.hero__sub{
  margin-top:22px; font-size:14.5px; color:var(--muted);
}
.hero__sub a{ color:var(--ink); font-weight:500; border-bottom:1px solid var(--border); transition:color .25s, border-color .25s; }
.hero__sub a:hover{ color:var(--blue); border-color:var(--blue); }

/* ── dark stat band ── */
.statband{ background:var(--dark); color:#fff; }
.statband__grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-left:1px solid var(--dark-line);
}
.statband__cell{
  border-right:1px solid var(--dark-line); padding:clamp(30px,3.6vw,52px) clamp(18px,2.6vw,40px);
}
.statband__num{
  font-family:var(--display); font-weight:700; color:#fff;
  font-size:clamp(34px,3.8vw,54px); letter-spacing:-.03em; line-height:1; display:block; margin-bottom:12px;
}
.statband__num i{ font-style:normal; }
.statband__label{ font-family:var(--mono); font-size:11px; letter-spacing:.18em; color:var(--dark-body); text-transform:uppercase; }

/* ── section shells ── */
.sec{ padding:clamp(84px,11vw,150px) 0; position:relative; }
.sec--paper{ background:var(--paper); }
.sec-head{ margin-bottom:clamp(40px,5.5vw,72px); }
.sec-head .lede{ margin-top:22px; }

/* ── numbered service index ── */
.index{ border-top:1px solid var(--border); }
.index__row{
  display:grid; grid-template-columns:56px 150px minmax(0,1.15fr) minmax(0,1.6fr) 60px;
  gap:clamp(14px,2.4vw,36px); align-items:center;
  padding:clamp(26px,3.4vw,44px) clamp(8px,1vw,18px);
  border-bottom:1px solid var(--border); text-decoration:none;
  position:relative; transition:background .35s;
}
.index__row:hover{ background:#FAFBFD; }
.index__num{ font-family:var(--mono); font-size:12px; color:var(--muted); }
.index__tag{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  background:var(--tint); color:var(--blue-dark); border-radius:999px;
  padding:7px 13px; justify-self:start; white-space:nowrap;
}
.index__name{
  font-family:var(--display); font-weight:700; color:var(--ink);
  font-size:clamp(24px,2.6vw,36px); letter-spacing:-.025em; line-height:1.05;
}
.index__desc{ font-size:15.5px; line-height:1.65; color:var(--body-c); max-width:52ch; }
.index__arrow{
  justify-self:end; width:40px; height:40px; border-radius:50%;
  border:1px solid var(--border); display:grid; place-items:center; color:var(--muted);
  transition:background .35s, color .35s, border-color .35s, transform .35s var(--ease);
}
.index__arrow svg{ width:16px; height:16px; }
.index__row:hover .index__arrow{ background:var(--ink); border-color:var(--ink); color:#fff; transform:translateX(4px); }

/* ── marquee ── */
.marquee{ overflow:hidden; padding:26px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:#fff; }
.marquee__track{ display:flex; gap:44px; width:max-content; align-items:center; animation:mq 34s linear infinite; }
.marquee__track span{
  font-family:var(--display); font-weight:700; font-size:15px; letter-spacing:.12em; color:var(--muted); white-space:nowrap;
}
.marquee__track i{ width:6px; height:6px; border-radius:50%; background:var(--blue); opacity:.4; flex:none; }
@keyframes mq{ to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion:reduce){ .marquee__track{ animation:none; } }

/* ── pipeline section ── */
.ops{ background:var(--paper); }
.wf-tabs{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:38px; }
.wf-tab{
  border:1px solid var(--border); background:#fff; color:var(--body-c);
  font-family:var(--display); font-weight:500; font-size:14.5px;
  padding:12px 22px; border-radius:999px; transition:all .3s;
}
.wf-tab.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }
.pipe{
  position:relative; height:400px; background:#fff;
  border:1px solid var(--border); border-radius:var(--r-card); box-shadow:var(--shadow-sm);
  background-image:radial-gradient(rgba(11,19,34,.055) 1px,transparent 1px);
  background-size:26px 26px; overflow:hidden;
}
.pipe__svg{ position:absolute; inset:0; width:100%; height:100%; }
.pipe-edge{ stroke:var(--border); stroke-width:1.5; fill:none; }
.pipe-edge--draw{ stroke:var(--blue); stroke-width:2; fill:none; }
.pipe-pulse{ fill:var(--blue); }
.pipe__nodes{ position:absolute; inset:0; }
.pipe-node{
  position:absolute; transform:translate(-50%,-50%);
  display:flex; align-items:center; gap:12px;
  background:#fff; border:1px solid var(--border); border-radius:14px;
  padding:12px 18px 12px 12px; box-shadow:var(--shadow-sm);
  transition:border-color .4s, box-shadow .4s;
  min-width:170px;
}
.pipe-node__box{
  width:40px; height:40px; border-radius:11px; background:var(--paper);
  display:grid; place-items:center; color:var(--muted); flex:none;
  transition:background .4s,color .4s;
}
.pipe-node__box svg{ width:19px; height:19px; }
.pipe-node__t{ font-family:var(--display); font-weight:700; font-size:14.5px; color:var(--ink); line-height:1.2; }
.pipe-node__s{ font-family:var(--mono); font-size:9.5px; letter-spacing:.08em; color:var(--muted); margin-top:2px; }
.pipe-node.is-lit{ border-color:var(--blue); box-shadow:0 10px 30px rgba(21,93,252,.16); }
.pipe-node.is-lit .pipe-node__box{ background:var(--blue); color:#fff; }
.pipe-node--end.is-lit .pipe-node__box{ background:var(--ink); }
.pipe__chips{ position:absolute; inset:0; pointer-events:none; }
.pipe-chip{
  position:absolute; transform:translate(-50%,-100%); opacity:0;
  display:inline-flex; align-items:center; gap:7px;
  background:var(--ink); color:#fff; border-radius:999px;
  font-family:var(--mono); font-size:10px; letter-spacing:.08em;
  padding:7px 13px; white-space:nowrap; box-shadow:var(--shadow-md);
}
.pipe-chip i{ width:6px; height:6px; border-radius:50%; background:var(--sky); }
.pipe-connector{ display:none; }
@media (max-width:820px){
  .pipe{ height:auto; padding:22px; background-image:none; }
  .pipe__svg,.pipe__chips{ display:none; }
  .pipe__nodes{ position:static; display:flex; flex-direction:column; gap:0; }
  .pipe-node{ position:static; transform:none; min-width:0; }
  .pipe-connector{ display:block; width:2px; height:20px; margin-left:31px;
    background:repeating-linear-gradient(180deg,var(--border) 0 4px,transparent 4px 8px); }
}

/* drafts under pipeline */
.wf-drafts{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:22px; }
.draft{
  background:#fff; border:1px solid var(--border); border-radius:var(--r-card);
  padding:22px 24px; box-shadow:var(--shadow-sm); font-size:14.5px;
}
.draft__head{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.draft__chan{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--muted); }
.draft__chan svg{ width:14px; height:14px; color:var(--blue); }
.draft__status{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.1em;
  padding:5px 10px; border-radius:999px; background:var(--tint); color:var(--blue-dark);
  transition:background .4s,color .4s;
}
.draft__status[data-s="sent"]{ background:var(--ink); color:#fff; }
.draft__row{ display:flex; font-size:13.5px; color:var(--body-c); padding:3px 0; }
.draft__row b{ color:var(--ink); font-weight:600; }
.draft__body{ margin-top:10px; font-size:14px; line-height:1.6; color:var(--body-c); }
.redact{ background:var(--paper); border-radius:4px; padding:0 6px; }
.draft__bubble{ border-radius:14px; padding:10px 15px; font-size:13.5px; margin-top:9px; max-width:88%; }
.draft__bubble--in{ background:var(--paper); color:var(--body-c); }
.draft__bubble--out{ background:var(--tint); color:var(--ink); margin-left:auto; }
.wf-note{ margin-top:24px; font-size:14.5px; color:var(--muted); max-width:64ch; }

/* ── process ── */
.proc-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:40px; }
.proc-tab{
  display:flex; align-items:center; gap:10px;
  border:1px solid var(--border); background:#fff; border-radius:999px;
  font-family:var(--display); font-weight:500; font-size:14px; letter-spacing:.06em;
  color:var(--body-c); padding:12px 22px; transition:all .3s;
}
.proc-tab span{ font-family:var(--mono); font-size:11px; color:var(--muted); }
.proc-tab.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }
.proc-tab.is-active span{ color:var(--sky); }
.proc-panels{ position:relative; }
.proc-panel{ display:none; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:center; }
.proc-panel.is-active{ display:grid; }
.proc-panel__copy h3{ font-size:clamp(24px,2.6vw,34px); letter-spacing:-.02em; margin-bottom:16px; }
.proc-panel__copy p{ max-width:50ch; }
.ui-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--r-card);
  box-shadow:var(--shadow-md); padding:24px 26px;
}
.ui-card__head{ display:flex; align-items:center; gap:7px; margin-bottom:20px; }
.ui-dot{ width:9px; height:9px; border-radius:50%; background:var(--border); }
.ui-card__title{ margin-left:10px; font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--muted); }
.ui-check{ display:flex; align-items:center; gap:12px; padding:11px 0; border-top:1px solid var(--paper); font-size:14px; color:var(--body-c); }
.ui-check i{ width:9px; height:9px; border-radius:50%; background:var(--blue); flex:none; }
.ui-check b{ margin-left:auto; font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--blue-dark); font-weight:500; }
.ui-check b.warn{ color:#B45309; }
.ui-mini-flow{ display:flex; align-items:center; gap:10px; margin-bottom:22px; flex-wrap:wrap; }
.ui-node{
  font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--ink);
  border:1px solid var(--border); border-radius:9px; padding:9px 14px; background:var(--paper);
}
.ui-node--blue{ background:var(--blue); border-color:var(--blue); color:#fff; }
.ui-arrow{ width:16px; height:1.5px; background:var(--border); position:relative; }
.ui-arrow::after{ content:''; position:absolute; right:-1px; top:-3px; border:3.5px solid transparent; border-left-color:var(--border); }
.ui-bar{ position:relative; height:34px; background:var(--paper); border-radius:9px; margin-top:10px; overflow:hidden; }
.ui-bar span{ position:absolute; inset:0; width:var(--w); background:var(--tint); border-radius:9px; }
.ui-bar label{
  position:absolute; inset:0; display:flex; align-items:center; padding-left:13px;
  font-family:var(--mono); font-size:10px; letter-spacing:.12em; color:var(--blue-dark);
}
.ui-launch-row{ display:flex; justify-content:space-between; padding:11px 0; border-top:1px solid var(--paper); font-size:14px; }
.ui-launch-row b{ font-family:var(--mono); font-size:12.5px; color:var(--ink); font-weight:500; }
.ui-launch-row b.blue{ color:var(--blue); }
.ui-status{
  display:inline-flex; align-items:center; gap:8px; margin-top:16px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; color:var(--blue);
}
.ui-status .pulse, .tele-row .pulse{ width:7px; height:7px; border-radius:50%; background:var(--blue); animation:pulse 1.8s infinite; }
.ui-spark{ width:100%; height:70px; margin:6px 0 10px; }
.ui-spark__line{ stroke:var(--blue); stroke-width:2; }
.ui-spark__fill{ fill:rgba(21,93,252,.07); }

/* ── proof ── */
.case-card{
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(28px,4vw,64px);
  background:var(--dark); color:var(--dark-body); border-radius:var(--r-card);
  padding:clamp(30px,4.5vw,60px); position:relative; overflow:hidden;
}
.case-card::after{
  content:''; position:absolute; right:-80px; top:-80px; width:280px; height:280px;
  border-radius:50%; border:1px solid rgba(255,255,255,.07); pointer-events:none;
}
.case-badge{
  display:inline-block; font-family:var(--mono); font-size:10.5px; letter-spacing:.14em;
  color:var(--sky); border:1px solid rgba(143,180,255,.35); border-radius:999px;
  padding:7px 14px; margin-bottom:24px;
}
.case-card h3{ color:#fff; font-size:clamp(24px,2.8vw,38px); letter-spacing:-.025em; line-height:1.08; margin-bottom:18px; }
.case-card p{ font-size:15.5px; line-height:1.75; max-width:56ch; }
.case-note{ margin-top:16px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:#6B7688; }
.case-stack{ display:flex; flex-direction:column; gap:10px; justify-content:center; }
.case-chip{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; color:#C6D2E4;
  border:1px solid var(--dark-line); border-radius:11px; padding:13px 16px;
  background:var(--dark-2);
}
.proof-shots{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:22px; }
.proof-slot__frame{
  border:1.5px dashed var(--border); border-radius:var(--r-card); background:#fff;
  min-height:230px; display:grid; place-items:center;
}
.proof-slot__frame span{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; color:var(--muted); }
.proof-slot img{ border-radius:var(--r-card); border:1px solid var(--border); }
.proof-slot figcaption{ margin-top:12px; font-size:13.5px; color:var(--muted); }

/* ── guarantee (dark band) ── */
.guarantee{ background:var(--dark); color:var(--dark-body); }
.guarantee__grid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(36px,6vw,96px); align-items:start; }
.guarantee h2{ color:#fff; margin-bottom:26px; }
.guarantee .lede{ color:var(--dark-body); margin-bottom:36px; }
.grow{ border-top:1px solid var(--dark-line); padding:26px 0; display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; }
.grow:last-child{ border-bottom:1px solid var(--dark-line); }
.grow i{ font-family:var(--mono); font-size:11px; font-style:normal; color:#5D677A; padding-top:5px; }
.grow h3{ color:#fff; font-size:19px; letter-spacing:-.01em; margin-bottom:8px; }
.grow p{ font-size:14.5px; line-height:1.7; }

/* ── pricing ── */
.price-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.price-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--r-card);
  padding:34px 30px; display:flex; flex-direction:column; gap:0;
  transition:transform .35s var(--ease), box-shadow .35s;
}
.price-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.price-card__tag{
  font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--muted);
  text-transform:uppercase; margin-bottom:18px;
}
.price-card__tag--blue{ color:var(--blue); }
.price-card h3{ font-size:25px; letter-spacing:-.02em; margin-bottom:12px; }
.price-card__price{ font-size:15px; color:var(--body-c); margin-bottom:24px; }
.price-card__price b{ font-family:var(--display); font-size:30px; color:var(--ink); letter-spacing:-.02em; }
.price-card__price span{ color:var(--muted); font-size:13.5px; }
.price-card ul{ list-style:none; display:flex; flex-direction:column; margin-bottom:28px; }
.price-card li{
  padding:11px 0 11px 26px; border-top:1px solid var(--paper);
  font-size:14.5px; position:relative;
}
.price-card li::before{
  content:''; position:absolute; left:2px; top:19px; width:7px; height:7px;
  border-radius:50%; background:var(--tint); border:2px solid var(--blue);
}
.price-card .btn{ margin-top:auto; }
.price-card__note{ margin-top:16px; font-size:12.5px; color:var(--muted); line-height:1.6; }
.price-card--featured{ border-color:var(--ink); border-width:1.5px; position:relative; }
.price-enterprise{
  margin-top:20px; display:flex; align-items:center; justify-content:space-between; gap:28px;
  border:1px solid var(--border); border-radius:var(--r-card); background:var(--paper);
  padding:30px 34px; flex-wrap:wrap;
}
.price-enterprise h3{ font-size:21px; letter-spacing:-.015em; margin-bottom:8px; }
.price-enterprise p{ font-size:14.5px; max-width:60ch; }

/* ── FAQ ── */
.faq-wrap{ max-width:820px; }
.faq-item{ border-bottom:1px solid var(--border); }
.faq-q{
  width:100%; background:none; border:0; text-align:left;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:26px 2px; font-family:var(--display); font-weight:700;
  font-size:clamp(17px,1.6vw,20px); letter-spacing:-.01em; color:var(--ink);
}
.faq-q i{
  flex:none; width:34px; height:34px; border:1px solid var(--border); border-radius:50%; position:relative;
  transition:background .3s, border-color .3s, transform .4s var(--ease);
}
.faq-q i::before, .faq-q i::after{
  content:''; position:absolute; background:var(--ink); border-radius:2px;
  transition:background .3s;
}
.faq-q i::before{ left:10px; right:10px; top:15.5px; height:1.6px; }
.faq-q i::after{ top:10px; bottom:10px; left:15.5px; width:1.6px; }
.faq-item.is-open .faq-q i{ background:var(--ink); border-color:var(--ink); transform:rotate(45deg); }
.faq-item.is-open .faq-q i::before, .faq-item.is-open .faq-q i::after{ background:#fff; }
.faq-a{ height:0; overflow:hidden; }
.faq-a p{ padding:0 60px 28px 2px; max-width:66ch; font-size:15.5px; }

/* ── outro CTA (dark) ── */
.outro{ background:var(--dark); position:relative; overflow:hidden; }
.outro .wrap{ position:relative; z-index:1; }
.outro h2{ color:#fff; margin-bottom:26px; max-width:14ch; }
.outro .lede{ color:var(--dark-body); margin-bottom:40px; }
.outro__row{ display:flex; gap:14px; flex-wrap:wrap; }
.outro__ring{
  position:absolute; right:-160px; top:50%; transform:translateY(-50%);
  width:560px; height:560px; border-radius:50%;
  border:1px solid rgba(255,255,255,.07); pointer-events:none;
}
.outro__ring::after{ content:''; position:absolute; inset:70px; border-radius:50%; border:1px dashed rgba(143,180,255,.16); }

/* ── footer ── */
.footer{ background:var(--dark); color:var(--dark-body); border-top:1px solid var(--dark-line); overflow:hidden; }
.footer__inner{
  display:grid; grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));
  gap:clamp(28px,4vw,56px); padding:clamp(52px,6vw,84px) 0 40px;
}
.footer__brand p{ font-size:14px; line-height:1.8; max-width:30ch; }
.footer__brand a{ color:#fff; text-decoration:none; font-size:14px; }
.footer__logo{ display:flex; align-items:center; gap:9px; font-family:var(--display); font-weight:700; font-size:17px; color:#fff; margin-bottom:16px; }
.footer__logo .nav__bolt{ fill:var(--sky); }
.footer__col h4{
  color:#fff; font-family:var(--mono); font-weight:500; font-size:10.5px;
  letter-spacing:.18em; text-transform:uppercase; margin-bottom:18px;
}
.footer__col a{ display:block; color:var(--dark-body); text-decoration:none; font-size:14.5px; padding:6px 0; transition:color .25s; }
.footer__col a:hover{ color:#fff; }
.footer__meta{
  border-top:1px solid var(--dark-line); padding:22px 0 26px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:12.5px; color:#6B7688;
}
.footer__word{
  font-family:var(--display); font-weight:700; text-align:center;
  font-size:clamp(64px,13.5vw,208px); letter-spacing:-.04em; line-height:.82;
  color:rgba(255,255,255,.055); user-select:none; pointer-events:none;
  padding-bottom:10px; white-space:nowrap;
}
.footer__word b{ color:rgba(143,180,255,.12); }

/* ── service page template ── */
.svc-hero{ padding:clamp(150px,19vh,210px) 0 clamp(56px,7vw,90px); }
.svc-hero .index__tag{ display:inline-block; margin-bottom:26px; }
.svc-hero h1{ max-width:13ch; margin-bottom:28px; }
.svc-hero .lede{ margin-bottom:38px; }
.valband{ background:var(--dark); }
.valband__grid{ display:grid; grid-template-columns:repeat(3,1fr); border-left:1px solid var(--dark-line); }
.valband__cell{ border-right:1px solid var(--dark-line); padding:clamp(28px,3.4vw,46px) clamp(18px,2.4vw,38px); }
.valband__cell h3{ color:#fff; font-size:18px; letter-spacing:-.01em; margin-bottom:10px; }
.valband__cell p{ color:var(--dark-body); font-size:14px; line-height:1.7; }
.deliv{ counter-reset:dl; }
.deliv__row{
  display:grid; grid-template-columns:64px minmax(0,1fr) minmax(0,1.5fr);
  gap:clamp(16px,3vw,48px); padding:clamp(26px,3.2vw,40px) 0;
  border-bottom:1px solid var(--border);
}
.deliv__row:first-child{ border-top:1px solid var(--border); }
.deliv__num{ font-family:var(--mono); font-size:12px; color:var(--muted); padding-top:8px; }
.deliv__row h3{ font-size:clamp(20px,2vw,26px); letter-spacing:-.018em; }
.deliv__row p{ font-size:15px; line-height:1.7; max-width:56ch; }
.fit{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:clamp(32px,5vw,80px); align-items:start; }
.fit__list{ display:flex; flex-direction:column; gap:12px; }
.fit__item{
  display:flex; gap:14px; align-items:flex-start;
  background:#fff; border:1px solid var(--border); border-radius:14px; padding:18px 22px;
  font-size:15px; color:var(--ink); line-height:1.6;
}
.fit__item svg{ width:18px; height:18px; flex:none; color:var(--blue); margin-top:3px; }
.steps3{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.step3{
  background:#fff; border:1px solid var(--border); border-radius:var(--r-card); padding:30px 28px;
}
.step3 i{ display:block; font-family:var(--mono); font-size:11px; color:var(--blue); margin-bottom:18px; font-style:normal; letter-spacing:.14em; }
.step3 h3{ font-size:20px; letter-spacing:-.015em; margin-bottom:12px; }
.step3 p{ font-size:14.5px; line-height:1.7; }
.svc-cta{ background:var(--dark); }
.svc-cta h2{ color:#fff; margin-bottom:24px; max-width:16ch; }
.svc-cta .lede{ color:var(--dark-body); margin-bottom:38px; }

/* ── telemetry (automations page) ── */
.tele-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.tele-card{ background:#fff; border:1px solid var(--border); border-radius:var(--r-card); padding:26px 24px; }
.tele-label{ display:block; font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--muted); margin-bottom:18px; }
.tele-big{ font-family:var(--display); font-weight:700; font-size:52px; letter-spacing:-.03em; color:var(--ink); line-height:1; }
.tele-gauge{ position:relative; width:150px; margin:4px auto 8px; }
.tg-track{ stroke:var(--paper); stroke-width:9; stroke-linecap:round; }
.tg-fill{ stroke:var(--blue); stroke-width:9; stroke-linecap:round; }
.tele-gauge__num{
  position:absolute; inset:auto 0 4px; text-align:center;
  font-family:var(--display); font-weight:700; font-size:30px; color:var(--ink); letter-spacing:-.02em;
}
.tele-foot{ display:block; margin-top:14px; font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; color:var(--muted); }
.tele-foot b.blue{ color:var(--blue); }
.tele-spark{ width:100%; height:44px; margin-top:12px; }
.tele-spark__line{ stroke:var(--blue); stroke-width:2; stroke-dasharray:420; stroke-dashoffset:420; }
.tele-rows{ margin-top:14px; display:flex; flex-direction:column; gap:9px; }
.tele-row{ display:flex; align-items:center; gap:9px; font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--body-c); }
.tele-ring{ position:relative; width:120px; margin:2px auto 6px; }
.tr-track{ fill:none; stroke:var(--paper); stroke-width:9; }
.tr-fill{
  fill:none; stroke:var(--blue); stroke-width:9; stroke-linecap:round;
  stroke-dasharray:264; stroke-dashoffset:264; transform:rotate(-90deg); transform-origin:center;
}
.tele-ring__num{
  position:absolute; inset:0; display:grid; place-items:center;
  font-family:var(--display); font-weight:700; font-size:24px; color:var(--ink);
}
.tele-disclaimer{ margin-top:22px; font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; color:var(--muted); }

/* ── apply page ── */
.apply-page{ min-height:100dvh; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); }
.apply-main{ padding:clamp(120px,15vh,170px) clamp(24px,5vw,80px) 80px; }
.apply-side{
  background:var(--paper); border-left:1px solid var(--border);
  padding:clamp(120px,15vh,170px) clamp(24px,3.5vw,56px) 80px;
}
.apply-side h4{
  font-family:var(--mono); font-weight:500; font-size:10.5px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted); margin-bottom:16px;
}
.apply-side p{ font-size:14.5px; line-height:1.75; }
.apply-side hr{ border:0; border-top:1px solid var(--border); margin:34px 0; }
.next-list{ list-style:none; display:flex; flex-direction:column; gap:0; counter-reset:nx; }
.next-list li{
  counter-increment:nx; display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px;
  padding:12px 0; font-size:14px; line-height:1.6; color:var(--body-c);
}
.next-list li::before{
  content:counter(nx,decimal-leading-zero); font-family:var(--mono); font-size:11px; color:var(--blue);
  padding-top:3px;
}
.app-progress{ height:3px; background:var(--paper); border-radius:99px; overflow:hidden; margin-bottom:14px; max-width:420px; }
.app-progress span{ display:block; height:100%; width:16%; background:var(--blue); border-radius:99px; transition:width .5s var(--ease); }
.app-meta{
  display:flex; gap:18px; margin-bottom:44px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; color:var(--muted);
}
.astep{ display:none; }
.astep.is-active{ display:block; animation:stepin .45s var(--ease); }
@keyframes stepin{ from{ opacity:0; transform:translateY(16px);} to{ opacity:1; transform:none;} }
.astep h3{
  font-size:clamp(30px,3.6vw,48px); letter-spacing:-.03em; line-height:1.05;
  margin-bottom:36px; max-width:18ch;
}
.astep__hint{ font-family:var(--sans); font-weight:400; font-size:15px; color:var(--muted); letter-spacing:0; }
.opt-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:640px; }
.opt-grid--wrap{ display:flex; flex-wrap:wrap; }
.opt{
  background:#fff; border:1px solid var(--border); border-radius:14px;
  font-family:var(--display); font-weight:500; font-size:16px; color:var(--ink);
  padding:20px 22px; text-align:left; transition:all .25s;
}
.opt:hover{ border-color:var(--ink); }
.opt.is-picked{ border-color:var(--blue); background:var(--tint); box-shadow:inset 0 0 0 1px var(--blue); }
.opt--chip{ padding:13px 20px; font-size:14.5px; border-radius:999px; flex:none; }
.spend-reveal{ display:none; margin-top:26px; }
.spend-reveal.is-on{ display:block; }
.spend-reveal .astep__hint{ display:block; margin-bottom:12px; }
.field-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:640px; }
.field-grid input, textarea{
  font-family:var(--sans); font-size:15.5px; color:var(--ink);
  background:#fff; border:1px solid var(--border); border-radius:12px;
  padding:16px 18px; outline:none; transition:border-color .25s, box-shadow .25s;
  width:100%;
}
textarea{ max-width:640px; resize:vertical; }
.field-grid input::placeholder, textarea::placeholder{ color:var(--muted); }
.field-grid input:focus, textarea:focus{ border-color:var(--blue); box-shadow:0 0 0 3px rgba(21,93,252,.14); }
.field-grid input.is-bad{ border-color:#DC2626; }
.app-error{ margin-top:22px; font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:#DC2626; min-height:18px; }
.app-nav{ display:flex; gap:12px; margin-top:26px; }
.app-nav .btn:disabled{ opacity:.35; pointer-events:none; }
.app-success{ display:none; padding:40px 0; }
.app-success.is-on{ display:block; animation:stepin .5s var(--ease); }
.app-success__icon{ width:64px; margin-bottom:26px; }
.app-success h3{ font-size:clamp(28px,3vw,40px); letter-spacing:-.025em; margin-bottom:14px; }
.apply-top{
  position:fixed; inset:0 0 auto; z-index:50; height:68px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(20px,4vw,48px);
  background:rgba(255,255,255,.9); backdrop-filter:blur(12px); border-bottom:1px solid var(--border);
}
.apply-top .nav__brand{ margin:0; }
.apply-top a.back{ font-size:14px; color:var(--body-c); text-decoration:none; }
.apply-top a.back:hover{ color:var(--ink); }

/* ── about page ── */
.principles{ counter-reset:pr; max-width:900px; }
.principle{
  counter-increment:pr; display:grid; grid-template-columns:70px minmax(0,1fr);
  gap:clamp(16px,3vw,40px); padding:clamp(26px,3vw,38px) 0; border-bottom:1px solid var(--border);
}
.principle:first-child{ border-top:1px solid var(--border); }
.principle::before{
  content:counter(pr,decimal-leading-zero); font-family:var(--mono); font-size:12px; color:var(--blue); padding-top:8px;
}
.principle h3{ font-size:clamp(20px,2.1vw,27px); letter-spacing:-.02em; margin-bottom:10px; }
.principle p{ font-size:15px; line-height:1.75; max-width:62ch; }

/* ── reveals ── */
.rv{ opacity:0; transform:translateY(28px); }
@media (prefers-reduced-motion:reduce){ .rv{ opacity:1; transform:none; } }

/* ── responsive ── */
@media (max-width:1080px){
  .statband__grid{ grid-template-columns:repeat(2,1fr); }
  .statband__cell{ border-bottom:1px solid var(--dark-line); }
  .price-grid{ grid-template-columns:1fr; max-width:560px; }
  .tele-grid{ grid-template-columns:repeat(2,1fr); }
  .steps3{ grid-template-columns:1fr; max-width:560px; }
  .valband__grid{ grid-template-columns:1fr; }
  .valband__cell{ border-bottom:1px solid var(--dark-line); border-right:0; }
  .index__row{ grid-template-columns:40px minmax(0,1fr) 52px; grid-template-areas:"num name arrow" ". tag ." ". desc ."; row-gap:10px; }
  .index__num{ grid-area:num; padding-top:10px; }
  .index__name{ grid-area:name; }
  .index__tag{ grid-area:tag; }
  .index__desc{ grid-area:desc; }
  .index__arrow{ grid-area:arrow; }
}
@media (max-width:900px){
  .nav__links{ display:none; }
  .nav__apply{ display:none; }
  .nav__burger{ display:block; }
  .hero__inner{ grid-template-columns:1fr; }
  .hero{ padding-top:120px; }
  .syscard{ max-width:520px; }
  .proc-panel{ grid-template-columns:1fr; }
  .case-card{ grid-template-columns:1fr; }
  .proof-shots{ grid-template-columns:1fr; }
  .guarantee__grid{ grid-template-columns:1fr; }
  .wf-drafts{ grid-template-columns:1fr; }
  .fit{ grid-template-columns:1fr; }
  .deliv__row{ grid-template-columns:44px minmax(0,1fr); }
  .deliv__row p{ grid-column:2; }
  .apply-page{ grid-template-columns:1fr; }
  .apply-side{ border-left:0; border-top:1px solid var(--border); padding-top:48px; }
  .apply-main{ padding-top:110px; }
  .footer__inner{ grid-template-columns:1fr 1fr; }
  .opt-grid{ grid-template-columns:1fr; }
  .field-grid{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .statband__grid{ grid-template-columns:1fr; }
  .tele-grid{ grid-template-columns:1fr; }
  .footer__inner{ grid-template-columns:1fr; }
  .price-enterprise{ flex-direction:column; align-items:flex-start; }
}

/* ══════════════════════════════════════════════════════════════
   BOOK + CONTACT pages (book.html, contact.html)
   Reuses the .apply-page shell; these are the additions.
   ══════════════════════════════════════════════════════════════ */
.book-h1{
  font-family:var(--display); font-weight:700;
  font-size:clamp(38px,5.2vw,66px); line-height:1.02; letter-spacing:-.035em;
  color:var(--ink); margin:14px 0 22px;
}
.book-lede{ font-size:clamp(16px,1.25vw,18px); line-height:1.65; color:var(--body-c); max-width:560px; margin-bottom:44px; }
.book-q{
  font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); margin:36px 0 14px;
}
.book-form textarea{ width:100%; max-width:640px; margin-top:8px; }
.book-form .btn{ margin-top:8px; }
.book-fineprint{ margin-top:18px; font-size:13.5px; color:var(--muted); max-width:520px; }

/* honeypot — visually gone, still focusable by bots, never by people */
.hp-field{
  position:absolute !important; left:-9999px !important;
  width:1px; height:1px; opacity:0; pointer-events:none;
}

/* calendar embed */
.cal-mount{ max-width:820px; }
.cal-mount iframe{
  width:100%; min-height:760px; border:1px solid var(--border);
  border-radius:var(--r-card); background:#fff; box-shadow:var(--shadow-md);
}
.cal-alt{ margin-top:16px; font-size:13.5px; color:var(--muted); }
.cal-alt a{ color:var(--ink); font-weight:500; border-bottom:1px solid var(--border); }
.cal-alt a:hover{ color:var(--blue); border-color:var(--blue); }

@media (max-width:900px){
  .book-form textarea, .cal-mount{ max-width:100%; }
  .cal-mount iframe{ min-height:640px; }
}
