/* Layout concept: dark navy "control room" with a thin engineering grid, one electric-blue accent,
   wide editorial type for headlines, mono labels for anything that reads like data. Single committed dark theme. */
:root{
  --navy:#0B1226;
  --navy-2:#0E1632;
  --navy-3:#141E3F;
  --ink:#F3F6FC;
  --ink-2:#B9C3DA;
  --ink-3:#7C89AB;
  --line:rgba(185,195,218,.14);
  --blue:#3B9EEA;
  --blue-2:#7CC4FF;
  --blue-dim:rgba(59,158,234,.14);
  --paper:#F5F7FB;
  --paper-2:#E9EDF5;
  --paper-ink:#0E1632;
  --paper-ink-2:#4B5878;
  --paper-line:rgba(14,22,50,.12);
  --ok:#3DD598;
  --display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --mono:"IBM Plex Mono", Consolas, "SFMono-Regular", monospace;
  --max:1180px;
  --gutter:clamp(16px, 4vw, 40px);
  --radius:14px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:clip}
html,body{margin:0}
body{
  font-family:var(--body); font-size:17px; line-height:1.6; color:var(--ink);
  background:var(--navy); -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display); font-weight:700; line-height:1.05; margin:0; text-wrap:balance; letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:var(--max); margin-inline:auto; padding-inline:var(--gutter)}
.eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); display:flex; align-items:center; gap:10px}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--blue)}
.grid-bg{
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:48px 48px;
}
:focus-visible{outline:2px solid var(--blue-2); outline-offset:3px}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:10px; font-family:var(--display); font-weight:600; font-size:16px; padding:14px 22px; border-radius:999px; text-decoration:none; border:1px solid transparent; transition:transform .15s ease, background .2s ease, border-color .2s ease; cursor:pointer; white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--blue); color:#06101F}
.btn-primary:hover{background:var(--blue-2)}
.btn-ghost{background:transparent; color:var(--ink); border-color:rgba(243,246,252,.25)}
.btn-ghost:hover{border-color:var(--ink)}
.btn svg{width:18px; height:18px}

/* nav */
.nav{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); background:rgba(11,18,38,.72); border-bottom:1px solid var(--line)}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; gap:20px; height:68px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.brand svg{width:40px; height:36px}
.brand b{font-family:var(--display); font-weight:800; font-size:20px; letter-spacing:.02em}
.brand b span{font-weight:400; color:var(--ink-2); margin-left:6px; font-size:16px}
.nav-links{display:flex; gap:28px; list-style:none; margin:0; padding:0}
.nav-links a{text-decoration:none; font-size:15px; color:var(--ink-2)}
.nav-links a:hover{color:var(--ink)}
.nav-cta{display:flex; gap:10px; align-items:center}
.nav-toggle{display:none; background:none; border:1px solid var(--line); color:var(--ink); border-radius:10px; width:42px; height:42px; cursor:pointer}
@media (max-width:600px){
  .brand b span{display:none}
  .nav-cta .btn-primary{padding:10px 14px; font-size:14px}
}
@media (max-width:900px){
  .nav-links,.nav-cta .btn-ghost{display:none}
  .nav-toggle{display:inline-grid; place-items:center}
  .nav.open .nav-links{display:flex; flex-direction:column; position:absolute; left:0; right:0; top:68px; background:var(--navy-2); padding:18px var(--gutter) 24px; border-bottom:1px solid var(--line); gap:18px}
}

/* hero */
.hero{position:relative; overflow:hidden; padding-block:clamp(56px,9vw,120px) clamp(48px,7vw,96px)}
.hero .wrap{display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,5vw,64px); align-items:center}
.hero h1{font-size:clamp(40px,6.2vw,78px); font-weight:800; letter-spacing:-.025em}
.hero h1 em{font-style:normal; color:var(--blue-2)}
.hero .lede{font-size:clamp(17px,1.4vw,21px); color:var(--ink-2); max-width:56ch; margin-top:22px}
.hero .cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:34px}
.hero .trust{margin-top:38px; display:flex; flex-wrap:wrap; gap:10px 26px; font-family:var(--mono); font-size:12.5px; color:var(--ink-3); letter-spacing:.04em}
.hero .trust{gap:8px; align-items:center}
.hero .trust em{font-style:normal; color:var(--ink-3); text-transform:uppercase; letter-spacing:.12em; font-size:11.5px; margin-right:6px}
.hero .trust span{border:1px solid var(--line); border-radius:999px; padding:5px 11px; color:var(--ink-2); background:rgba(20,30,63,.45)}
.hero-art{position:relative; aspect-ratio:1/.92; max-width:100%; width:100%}
.hero-art svg{width:100%; height:100%; overflow:visible}
.hero-glow{position:absolute; inset:-20%; background:radial-gradient(closest-side, rgba(59,158,234,.22), transparent 70%); pointer-events:none}
.hero-art .chip{position:absolute; font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:var(--ink); background:rgba(14,22,50,.86); border:1px solid var(--line); padding:7px 11px; border-radius:8px; backdrop-filter:blur(6px); white-space:nowrap; box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hero-art .chip i{display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--ok); margin-right:8px; animation:blink 2.4s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-art{max-width:460px; margin-inline:auto}
}

/* circuit draw-on */
.draw{stroke-dasharray:1400; stroke-dashoffset:1400; animation:draw 2.4s cubic-bezier(.6,0,.2,1) forwards}
.draw.d2{animation-delay:.35s}
.draw.d3{animation-delay:.7s}
@keyframes draw{to{stroke-dashoffset:0}}
.node{transform-origin:center; transform-box:fill-box; animation:pop .6s cubic-bezier(.2,1.4,.4,1) both}
.node.n2{animation-delay:1.2s}.node.n3{animation-delay:1.5s}.node.n4{animation-delay:1.8s}.node.n5{animation-delay:2.1s}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
.pulse{animation:pulse 3s ease-out infinite; transform-origin:center; transform-box:fill-box}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.6);opacity:0}}
.cloud-float{animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* sections */
.section{padding-block:clamp(64px,8vw,112px)}
.section-head{display:grid; grid-template-columns:1fr; gap:14px; max-width:760px; margin-bottom:clamp(32px,4vw,56px)}
.section-head h2{font-size:clamp(30px,4vw,50px)}
.section-head p{color:var(--ink-2); font-size:18px; max-width:60ch}
.light{background:var(--paper); color:var(--paper-ink)}
.light .eyebrow{color:#1F7FD0}
.light .eyebrow::before{background:#1F7FD0}
.light .section-head p{color:var(--paper-ink-2)}

/* who it's for */
.fit{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.fit article{border:1px solid var(--line); border-radius:var(--radius); padding:26px; background:linear-gradient(180deg, rgba(20,30,63,.6), rgba(14,22,50,.2))}
.fit h3{font-size:21px; margin-bottom:10px}
.fit p{color:var(--ink-2); font-size:15.5px}
.fit .tag{font-family:var(--mono); font-size:11.5px; color:var(--blue); letter-spacing:.12em; text-transform:uppercase; margin-bottom:14px; display:block}
@media (max-width:900px){.fit{grid-template-columns:1fr}}

/* lead-to-cash line */
.l2c{position:relative}
.l2c-track{position:relative; display:grid; grid-template-columns:repeat(9,1fr); gap:0; margin-top:8px; padding-block:30px 0}
.l2c-track::before{content:""; position:absolute; left:5.5%; right:5.5%; top:52px; height:2px; background:linear-gradient(90deg, var(--blue), rgba(59,158,234,.25)); border-radius:2px}
.l2c-step{background:none; border:0; color:inherit; font:inherit; cursor:pointer; display:grid; justify-items:center; gap:12px; padding:0; position:relative}
.l2c-step .dot{width:44px; height:44px; border-radius:50%; border:2px solid var(--blue); background:var(--navy); display:grid; place-items:center; transition:background .2s, transform .2s, box-shadow .2s; position:relative; z-index:1}
.l2c-step .dot svg{width:20px; height:20px; stroke:var(--blue-2); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}
.l2c-step span{font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:var(--ink-2); text-transform:uppercase; text-align:center}
.l2c-step:hover .dot{transform:translateY(-2px)}
.l2c-step[aria-selected="true"] .dot{background:var(--blue); box-shadow:0 0 0 8px var(--blue-dim)}
.l2c-step[aria-selected="true"] .dot svg{stroke:#06101F}
.l2c-step[aria-selected="true"] span{color:var(--ink)}
.l2c-panel{margin-top:34px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(180deg, rgba(20,30,63,.7), rgba(14,22,50,.3)); padding:clamp(22px,3vw,36px); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(20px,4vw,48px); min-height:230px}
.l2c-panel h3{font-size:clamp(22px,2.4vw,30px); margin-bottom:12px}
.l2c-panel p{color:var(--ink-2)}
.l2c-panel ul{margin:0; padding:0; list-style:none; display:grid; gap:10px; align-content:start}
.l2c-panel li{display:flex; gap:12px; font-size:15.5px; color:var(--ink)}
.l2c-panel li::before{content:""; flex:0 0 8px; height:8px; margin-top:9px; border-radius:50%; background:var(--blue)}
.l2c-panel .kicker{font-family:var(--mono); font-size:12px; color:var(--blue); letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px}
@media (max-width:900px){
  .l2c-track{grid-template-columns:repeat(3,1fr); gap:22px 8px}
  .l2c-track::before{display:none}
  .l2c-panel{grid-template-columns:1fr}
}

/* services */
.services{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.svc{border:1px solid var(--paper-line); border-radius:var(--radius); padding:26px; background:#fff; display:grid; gap:12px; align-content:start; transition:transform .2s, box-shadow .2s}
.svc:hover{transform:translateY(-3px); box-shadow:0 18px 40px rgba(14,22,50,.1)}
.svc .ico{width:44px; height:44px; border-radius:12px; background:var(--paper-2); display:grid; place-items:center}
.svc .ico svg{width:22px; height:22px; stroke:#1F7FD0; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}
.svc h3{font-size:20px}
.svc p{color:var(--paper-ink-2); font-size:15.5px}
.svc .stack{font-family:var(--mono); font-size:12px; color:#1F7FD0; letter-spacing:.04em; margin-top:6px}
@media (max-width:900px){.services{grid-template-columns:1fr}}

/* proof */
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:clamp(36px,5vw,64px)}
.stat{border-top:2px solid var(--blue); padding-top:16px}
.stat b{font-family:var(--display); font-weight:800; font-size:clamp(34px,4vw,52px); letter-spacing:-.03em; display:block; font-variant-numeric:tabular-nums; line-height:1}
.stat span{display:block; color:var(--ink-2); font-size:14.5px; margin-top:8px}
.stat small{display:block; font-family:var(--mono); font-size:11px; color:var(--ink-3); margin-top:6px; letter-spacing:.06em}
@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}}
.cases{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.case{border:1px solid var(--line); border-radius:var(--radius); padding:26px; display:grid; gap:14px; align-content:start; background:rgba(20,30,63,.35)}
.case .who{font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--blue)}
.case h3{font-size:20px}
.case p{color:var(--ink-2); font-size:15.5px}
.case .result{border-top:1px solid var(--line); padding-top:14px; font-size:15px; color:var(--ink)}
.case .result b{color:var(--blue-2)}
@media (max-width:900px){.cases{grid-template-columns:1fr}}

/* capability wall */
.wall{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:clamp(28px,4vw,44px)}
.wall div{border:1px solid var(--line); border-radius:10px; padding:12px 14px; font-size:14px; color:var(--ink); background:rgba(20,30,63,.3); display:flex; gap:10px; align-items:center; min-width:0}
.wall div::before{content:""; flex:0 0 6px; height:6px; border-radius:50%; background:var(--blue)}
.wall-head{display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; margin-top:clamp(40px,5vw,64px)}
.wall-head h3{font-size:clamp(20px,2.2vw,26px)}
.wall-head span{font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3)}
@media (max-width:900px){.wall{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.wall{grid-template-columns:1fr}}

/* AI section */
.ai{position:relative; overflow:hidden}
.ai .wrap{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center}
.ai h2{font-size:clamp(30px,4vw,50px)}
.ai p{color:var(--ink-2); font-size:17px; margin-top:16px}
.ai ul{list-style:none; margin:26px 0 0; padding:0; display:grid; gap:14px}
.ai li{display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start}
.ai li .k{width:34px; height:34px; border-radius:9px; background:var(--blue-dim); border:1px solid rgba(59,158,234,.35); display:grid; place-items:center}
.ai li .k svg{width:18px; height:18px; stroke:var(--blue-2); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}
.ai li b{display:block; font-family:var(--display); font-size:17px}
.ai li span{color:var(--ink-2); font-size:15px}
.console{border:1px solid var(--line); border-radius:16px; background:#070D1C; font-family:var(--mono); font-size:13.5px; box-shadow:0 30px 80px rgba(0,0,0,.45); overflow:hidden}
.console .bar{display:flex; gap:7px; padding:12px 14px; border-bottom:1px solid var(--line); align-items:center}
.console .bar i{width:10px; height:10px; border-radius:50%; background:#2A3556}
.console .bar span{margin-left:auto; color:var(--ink-3); font-size:11.5px; letter-spacing:.08em}
.console .body{padding:18px 18px 22px; display:grid; gap:14px; min-height:260px}
.console .q{color:var(--ink-2)}
.console .q::before{content:"you  › "; color:var(--blue)}
.console .a{color:var(--ink); white-space:pre-wrap; line-height:1.55}
.console .a::before{content:"agent › "; color:var(--ok)}
.console .cursor{display:inline-block; width:8px; height:15px; background:var(--blue-2); vertical-align:-2px; animation:blink 1s steps(1) infinite}
@media (max-width:900px){.ai .wrap{grid-template-columns:1fr}}

/* process */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; counter-reset:step}
.step{border:1px solid var(--paper-line); border-radius:var(--radius); background:#fff; padding:26px; display:grid; gap:10px; align-content:start; position:relative}
.step::before{counter-increment:step; content:"0" counter(step); font-family:var(--mono); color:#1F7FD0; font-size:12px; letter-spacing:.14em}
.step h3{font-size:19px}
.step p{color:var(--paper-ink-2); font-size:15px}
.step .dur{font-family:var(--mono); font-size:12px; color:var(--paper-ink-2); margin-top:4px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* packages */
.packs{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch}
.pack{border:1px solid var(--line); border-radius:18px; padding:30px; display:grid; gap:16px; align-content:start; background:rgba(20,30,63,.35); position:relative}
.pack.featured{border-color:rgba(59,158,234,.6); background:linear-gradient(180deg, rgba(59,158,234,.14), rgba(20,30,63,.35)); box-shadow:0 0 0 1px rgba(59,158,234,.2), 0 30px 60px rgba(0,0,0,.3)}
.pack .flag{position:absolute; top:-12px; left:30px; background:var(--blue); color:#06101F; font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; padding:5px 10px; border-radius:999px}
.pack .name{font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue)}
.pack h3{font-size:26px}
.pack .for{color:var(--ink-2); font-size:15.5px}
.pack ul{list-style:none; margin:4px 0 0; padding:0; display:grid; gap:10px}
.pack li{display:flex; gap:10px; font-size:15px; color:var(--ink)}
.pack li::before{content:"→"; color:var(--blue)}
.pack .price{font-family:var(--display); font-size:17px; font-weight:600; border-top:1px solid var(--line); padding-top:16px; margin-top:auto}
.pack .price small{display:block; font-family:var(--mono); font-weight:400; font-size:12px; color:var(--ink-3); margin-top:4px}
@media (max-width:900px){.packs{grid-template-columns:1fr}}

/* about */
.about .wrap{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,5vw,72px); align-items:center}
.about h2{font-size:clamp(30px,4vw,46px)}
.about p{color:var(--paper-ink-2); font-size:17px; margin-top:16px}
.about .mono-card{border:1px solid var(--paper-line); background:#fff; border-radius:18px; padding:28px; display:grid; gap:18px}
.about .mono-card .sig{font-family:var(--display); font-size:34px; font-weight:800; letter-spacing:-.02em; color:var(--paper-ink)}
.about .mono-card .sig small{display:block; font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#1F7FD0; margin-top:6px; font-weight:400}
.about dl{display:grid; grid-template-columns:auto 1fr; gap:8px 18px; margin:0; font-size:14.5px}
.about dt{font-family:var(--mono); font-size:12px; color:#1F7FD0; letter-spacing:.08em; text-transform:uppercase; padding-top:3px}
.about dd{margin:0; color:var(--paper-ink)}
@media (max-width:900px){.about .wrap{grid-template-columns:1fr}}

/* faq */
.faq{max-width:820px}
.faq details{border-top:1px solid var(--line); padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0; font-family:var(--display); font-weight:600; font-size:19px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:var(--mono); color:var(--blue); font-size:22px; transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{color:var(--ink-2); padding:0 0 20px; max-width:66ch}

/* contact */
.contact .wrap{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px)}
.contact h2{font-size:clamp(30px,4vw,48px)}
.contact p{color:var(--ink-2); margin-top:14px; font-size:17px}
.contact .direct{margin-top:26px; display:grid; gap:10px; font-family:var(--mono); font-size:14px}
.contact .direct a{color:var(--blue-2); text-decoration:none}
form{display:grid; gap:14px; border:1px solid var(--line); border-radius:18px; padding:26px; background:rgba(20,30,63,.4)}
.field{display:grid; gap:6px}
.field label{font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2)}
.field input,.field textarea,.field select{font:inherit; font-size:16px; color:var(--ink); background:var(--navy); border:1px solid var(--line); border-radius:10px; padding:12px 14px; width:100%}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue); outline:none}
.field textarea{min-height:120px; resize:vertical}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
form .btn{justify-self:start; margin-top:4px}
form .fine{font-size:12.5px; color:var(--ink-3)}
.hp{position:absolute; left:-9999px}
@media (max-width:900px){.contact .wrap,.row2{grid-template-columns:1fr}}

/* footer */
footer{border-top:1px solid var(--line); padding-block:36px; font-size:14px; color:var(--ink-3)}
footer .wrap{display:flex; flex-wrap:wrap; gap:16px 32px; justify-content:space-between; align-items:center}
footer a{color:var(--ink-2); text-decoration:none}
footer a:hover{color:var(--ink)}
footer .legal{font-family:var(--mono); font-size:12px}

/* reveal */
.rv{opacity:1; transform:none}
.js .rv{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease}
.js .rv.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important}
  .draw{stroke-dashoffset:0}
  .js .rv{opacity:1; transform:none}
}

/* ---- multi-page additions ---- */
.nav-links a[aria-current="page"]{color:var(--ink); position:relative}
.nav-links a[aria-current="page"]::after{content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--blue); border-radius:2px}
.page-hero{padding-block:clamp(48px,7vw,96px) clamp(36px,5vw,64px); border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(36px,5.2vw,64px); font-weight:800; letter-spacing:-.025em; margin-top:16px; max-width:18ch}
.page-hero h1 em{font-style:normal; color:var(--blue-2)}
.page-hero .lede{font-size:clamp(17px,1.4vw,20px); color:var(--ink-2); max-width:62ch; margin-top:18px}
.crumbs{font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:var(--ink-3); display:flex; gap:8px}
.crumbs a{color:var(--ink-3); text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.cta-band{padding-block:clamp(56px,7vw,96px)}
.cta-box{border:1px solid rgba(59,158,234,.45); border-radius:20px; padding:clamp(28px,4vw,52px); background:linear-gradient(135deg, rgba(59,158,234,.16), rgba(20,30,63,.4) 60%); display:flex; justify-content:space-between; align-items:center; gap:24px 40px; flex-wrap:wrap}
.cta-box h2{font-size:clamp(26px,3.2vw,40px); max-width:22ch}
.cta-box p{color:var(--ink-2); margin-top:10px; max-width:52ch}
.cta-box .acts{display:flex; gap:12px; flex-wrap:wrap}
.more{display:inline-flex; align-items:center; gap:8px; font-family:var(--display); font-weight:600; font-size:15px; text-decoration:none; color:#1F7FD0; margin-top:6px}
.more::after{content:"→"; transition:transform .2s}
.more:hover::after{transform:translateX(3px)}
.dark .more,.section:not(.light) .more{color:var(--blue-2)}
a.svc{text-decoration:none; color:inherit}
.stats-band{padding-block:clamp(40px,5vw,64px); border-block:1px solid var(--line)}
.stats-band .stats{margin-bottom:0}
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.principles{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.principles article{border:1px solid var(--line); border-radius:var(--radius); padding:24px; background:rgba(20,30,63,.35); display:grid; gap:8px; align-content:start}
.principles h3{font-size:19px}
.principles p{color:var(--ink-2); font-size:15.5px}
@media (max-width:700px){.principles{grid-template-columns:1fr}}
.prose p{color:var(--paper-ink-2); font-size:17px; margin-top:16px; max-width:62ch}
.prose h2{font-size:clamp(28px,3.6vw,44px)}
.agents{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.agents article{border:1px solid var(--paper-line); background:#fff; border-radius:var(--radius); padding:24px; display:grid; gap:10px; align-content:start}
.agents h3{font-size:19px}
.agents p{color:var(--paper-ink-2); font-size:15.5px}
.agents .tag{font-family:var(--mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:#1F7FD0}
@media (max-width:900px){.agents{grid-template-columns:1fr}}
.legal-body h2{font-size:22px; margin-top:34px}
.legal-body p{color:var(--ink-2); margin-top:10px; max-width:66ch}
footer.site-foot{padding-block:56px 28px}
footer .wrap.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:28px 40px; align-items:start; justify-content:initial}
.foot-grid > div{display:grid; gap:10px; align-content:start; min-width:0}
.foot-grid h4{font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); font-weight:500; margin:0 0 4px}
.foot-grid a,.foot-grid span{color:var(--ink-2); font-size:14.5px; overflow-wrap:anywhere}
.foot-brand p{color:var(--ink-3); font-size:14.5px; max-width:30ch}
footer .wrap.foot-legal{margin-top:40px; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; font-family:var(--mono); font-size:12px}
@media (max-width:900px){footer .wrap.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .wrap.foot-grid{grid-template-columns:1fr}}
footer .wrap.foot-legal{border-top:0; position:relative}
footer .wrap.foot-legal::before{content:""; position:absolute; top:0; left:var(--gutter); right:var(--gutter); height:1px; background:var(--line)}

.console .log{gap:12px; min-height:0}
.console .log div{display:grid; grid-template-columns:auto auto 1fr; gap:12px; align-items:baseline; color:var(--ink); line-height:1.5}
.console .log time{color:var(--ink-3)}
.console .log .ok,.console .log .warn{font-size:11px; letter-spacing:.1em; padding:2px 7px; border-radius:6px; border:1px solid rgba(61,213,152,.35); color:var(--ok)}
.console .log .warn{border-color:rgba(255,196,87,.4); color:#FFC457}
@media (max-width:520px){.console .log div{grid-template-columns:auto 1fr}.console .log time{grid-column:1/-1}}
footer .wrap.foot-grid{grid-template-columns:1.3fr 1fr 1.1fr 1fr 1.1fr}
.foot-links{display:flex; gap:18px}
@media (max-width:1000px){footer .wrap.foot-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:640px){footer .wrap.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:420px){footer .wrap.foot-grid{grid-template-columns:1fr}}
.nav-links{gap:24px}
@media (max-width:1100px) and (min-width:901px){.nav-links{gap:16px}.nav-links a{font-size:14px}}
.cases.cases-4{grid-template-columns:repeat(2,1fr)}
.case .metric{font-family:var(--display); font-weight:800; font-size:clamp(26px,2.6vw,34px); letter-spacing:-.02em; color:var(--blue-2); line-height:1.05}
.case dl{display:grid; grid-template-columns:auto 1fr; gap:10px 16px; margin:4px 0 0; border-top:1px solid var(--line); padding-top:14px}
.case dt{font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); padding-top:3px}
.case dd{margin:0; color:var(--ink-2); font-size:15px}
@media (max-width:900px){.cases.cases-4{grid-template-columns:1fr}}
@media (max-width:480px){.case dl{grid-template-columns:1fr; gap:4px}.case dd{margin-bottom:8px}}
.ind-jump{display:flex; flex-wrap:wrap; gap:8px; margin-top:28px}
.ind-jump a{font-family:var(--mono); font-size:12px; letter-spacing:.04em; text-decoration:none; color:var(--ink-2); border:1px solid var(--line); border-radius:999px; padding:7px 13px; background:rgba(20,30,63,.45)}
.ind-jump a:hover{color:var(--ink); border-color:var(--blue)}
.ind-list{display:grid; gap:0}
.ind{display:grid; grid-template-columns:1fr 1.1fr; gap:24px clamp(28px,5vw,72px); padding-block:clamp(28px,4vw,44px); border-top:1px solid var(--line); scroll-margin-top:90px}
.ind:last-child{border-bottom:1px solid var(--line)}
.ind .tag{font-family:var(--mono); font-size:12px; color:var(--blue); letter-spacing:.12em}
.ind h2{font-size:clamp(24px,2.8vw,34px); margin-top:8px}
.ind p{color:var(--ink-2); margin-top:10px; max-width:46ch}
.ind ul{list-style:none; margin:0; padding:0; display:grid; gap:10px; align-content:start}
.ind li{display:flex; gap:12px; color:var(--ink); font-size:15.5px}
.ind li::before{content:""; flex:0 0 8px; height:8px; margin-top:8px; border-radius:50%; background:var(--blue)}
@media (max-width:800px){.ind{grid-template-columns:1fr}}
.article{max-width:740px; margin-inline:auto}
.article .meta{font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:var(--ink-3); margin-top:18px; display:flex; gap:14px; flex-wrap:wrap}
.article-body{padding-block:clamp(36px,5vw,64px)}
.article-body h2{font-size:clamp(22px,2.4vw,28px); margin-top:38px}
.article-body p{color:var(--ink-2); font-size:17.5px; line-height:1.75; margin-top:16px}
.article-body ol,.article-body ul{color:var(--ink-2); font-size:17px; line-height:1.7; padding-left:22px; margin-top:14px; display:grid; gap:10px}
.article-body li b{color:var(--ink)}
.article-body .callout{border-left:3px solid var(--blue); background:rgba(59,158,234,.08); padding:16px 20px; border-radius:0 10px 10px 0; color:var(--ink); margin-top:24px}
.posts{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.post{border:1px solid var(--line); border-radius:var(--radius); padding:26px; background:rgba(20,30,63,.35); display:grid; gap:12px; align-content:start; text-decoration:none; color:inherit; transition:transform .2s, border-color .2s}
.post:hover{transform:translateY(-3px); border-color:rgba(59,158,234,.5)}
.post .cat{font-family:var(--mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--blue)}
.post h3{font-size:21px}
.post p{color:var(--ink-2); font-size:15.5px}
.post .more{color:var(--blue-2)}
@media (max-width:900px){.posts{grid-template-columns:1fr}}
.method-band{border-top:1px solid var(--line)}
.method{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:0; counter-reset:m; border:1px solid var(--line); border-radius:16px; overflow:hidden}
.method li{counter-increment:m; padding:26px 24px; display:grid; gap:8px; border-right:1px solid var(--line); background:rgba(20,30,63,.35); position:relative}
.method li:last-child{border-right:0}
.method li::before{content:"0" counter(m); font-family:var(--mono); font-size:12px; color:var(--blue); letter-spacing:.12em}
.method b{font-family:var(--display); font-size:26px; font-weight:800; letter-spacing:-.02em}
.method span{color:var(--ink-2); font-size:15px}
@media (max-width:900px){.method{grid-template-columns:1fr 1fr}.method li:nth-child(2){border-right:0}.method li:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:480px){.method{grid-template-columns:1fr}.method li{border-right:0; border-bottom:1px solid var(--line)}.method li:last-child{border-bottom:0}}
.tiles{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.tiles a{display:grid; gap:6px; padding:22px 24px; border:1px solid var(--paper-line); border-radius:var(--radius); background:#fff; text-decoration:none; color:var(--paper-ink); transition:transform .2s, box-shadow .2s, border-color .2s}
.tiles a:hover{transform:translateY(-2px); box-shadow:0 14px 34px rgba(14,22,50,.08); border-color:rgba(31,127,208,.4)}
.tiles b{font-family:var(--display); font-size:18px; display:flex; justify-content:space-between; gap:10px}
.tiles b::after{content:"→"; color:#1F7FD0}
.tiles span{color:var(--paper-ink-2); font-size:14.5px}
@media (max-width:900px){.tiles{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.tiles{grid-template-columns:1fr}}
