/* Argo Intelligence site 2.13.1 · built 2026-08-30 */
:root{
  --ink:#0F1622;
  --ink-2:#1B2432;
  --body:#525E71;
  --muted:#7A8697;
  --line:#E4E7EC;
  --line-soft:#EFF1F4;
  --paper:#FFFFFF;
  --canvas:#F6F7F9;
  --canvas-2:#F0F2F5;
  --accent:#FBCC24;
  --accent-deep:#B98F00;
  --radius:16px;
  --radius-sm:10px;
  --shadow-1:0 1px 2px rgba(15,22,34,.04), 0 1px 3px rgba(15,22,34,.03);
  --shadow-2:0 2px 6px rgba(15,22,34,.05), 0 16px 40px rgba(15,22,34,.07);
  --shadow-3:0 30px 70px rgba(15,22,34,.14);
  --display:"Albert Sans",system-ui,-apple-system,sans-serif;
  --text:"Inter",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --wrap:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--text);font-size:17px;line-height:1.62;font-weight:400;
  letter-spacing:-.009em;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}

h1,h2,h3{font-family:var(--display);font-weight:600;margin:0;color:var(--ink)}
h1{font-size:clamp(40px,5.4vw,68px);line-height:1.04;letter-spacing:-.038em}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.1;letter-spacing:-.03em}
h3{font-size:21px;line-height:1.28;letter-spacing:-.018em}
p{margin:0 0 16px;color:var(--body)}
.lede{font-size:clamp(17px,1.35vw,19.5px);line-height:1.6;color:var(--body);max-width:58ch}

/* eyebrow: sentence case, no shouting */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:14px;font-weight:600;color:var(--muted);letter-spacing:0;margin-bottom:18px;
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.on-dark .eyebrow{color:rgba(255,255,255,.72)}

/* ---------- header ---------- */
header.site{
  position:sticky;top:0;z-index:60;background:rgba(246,247,249,.82);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(15,22,34,.06);
}
.head{display:flex;align-items:center;gap:12px;height:70px}
.brand img{height:26px;width:auto}
nav.main{display:flex;align-items:center;gap:2px;margin-left:auto}
nav.main a,nav.main button{
  font-family:var(--text);font-size:15px;font-weight:500;color:var(--ink);
  text-decoration:none;padding:9px 14px;border:0;background:none;cursor:pointer;border-radius:999px;
}
nav.main a:hover,nav.main button:hover{background:rgba(15,22,34,.05)}
.menu{position:relative}
.menu>button{display:inline-flex;align-items:center;gap:7px}
.menu>button svg{width:10px;height:10px;opacity:.5}
.menu-panel{
  position:absolute;top:calc(100% + 10px);left:-6px;min-width:290px;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);
  padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
}
.menu:hover .menu-panel,.menu:focus-within .menu-panel{opacity:1;visibility:visible;transform:none}
.menu-panel a{display:block;padding:11px 13px;border-radius:var(--radius-sm)}
.menu-panel .nm{display:block;font-weight:600;font-size:15.5px}
.menu-panel .ds{display:block;font-size:13.5px;color:var(--muted);line-height:1.4;margin-top:2px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--text);font-size:15.5px;font-weight:600;text-decoration:none;
  padding:13px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 1px 2px rgba(15,22,34,.10)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,22,34,.24)}
.btn-light{background:#fff;color:var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.16)}
.btn-light:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.30)}
.btn-light svg{width:16px;height:16px;color:var(--accent);transition:transform .18s ease}
.btn-light:hover svg{transform:translateX(3px)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,22,34,.22)}
.btn-quiet{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.28)}
.btn-quiet:hover{background:rgba(255,255,255,.18)}
.btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-1)}
.btn-ghost:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}
.btn-sm{padding:10px 18px;font-size:14.5px}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

/* ---------- sections ---------- */
section{padding:112px 0}
.tight{padding:88px 0}
.dark{background:var(--ink);color:#fff}
.dark h2,.dark h3{color:#fff}
.dark p{color:rgba(255,255,255,.72)}
.dark .lede{color:rgba(255,255,255,.74)}

.shead{max-width:56ch;margin-bottom:8px}
.shead h2 + .lede{margin-top:16px}

/* ---------- hero ---------- */
.hero{
  position:relative;padding:132px 0 124px;overflow:hidden;
  background:var(--ink-2);color:#fff;
}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 90% at 12% 15%, rgba(15,22,34,.92) 0%, rgba(15,22,34,.72) 42%, rgba(15,22,34,.42) 100%),
    linear-gradient(180deg, rgba(15,22,34,.35) 0%, rgba(15,22,34,.86) 100%);
}
.hero .wrap{position:relative;z-index:2}
.hero h1{color:#fff;max-width:15ch}
.hero .lede{color:rgba(255,255,255,.8);margin-top:22px;max-width:52ch}
.hero .eyebrow{color:rgba(255,255,255,.74)}
.trust{
  margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);
  display:flex;gap:28px;flex-wrap:wrap;font-size:14.5px;color:rgba(255,255,255,.68);
}
.trust span{display:inline-flex;align-items:center;gap:9px}
.trust span::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.45)}

/* ---------- cards ---------- */
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 28px 28px;box-shadow:var(--shadow-1);
  transition:transform .2s ease, box-shadow .2s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.card p{font-size:15.5px;line-height:1.55;margin:0}
.dark .card{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.1);box-shadow:none}
.dark .card:hover{background:rgba(255,255,255,.075);transform:translateY(-3px);box-shadow:none}

.mark{
  width:44px;height:44px;border-radius:12px;background:var(--canvas-2);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.dark .mark{background:rgba(255,255,255,.08)}
.mark svg{width:22px;height:22px}

.quote{font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-.018em;line-height:1.34;color:var(--ink);margin:0 0 12px}
.dark .quote{color:#fff}

/* product cards */
.prod{display:flex;flex-direction:column;text-decoration:none}
.prod .name{font-family:var(--display);font-size:15px;font-weight:600;color:var(--accent-deep);margin-bottom:8px;letter-spacing:0}
.prod h3{margin-bottom:10px}
.prod .pills{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 22px}
.prod .pills span{
  font-size:13px;font-weight:500;color:var(--body);background:var(--canvas-2);
  padding:6px 12px;border-radius:999px;
}
.prod .go{margin-top:auto;font-size:15px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:7px}
.prod:hover .go svg{transform:translateX(3px)}
.prod .go svg{width:14px;height:14px;transition:transform .18s ease}

/* ---------- diagram card ---------- */
.figure{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-2);padding:30px 28px 22px;margin-top:34px;
}
.figure .scroll{overflow-x:auto}
.figure svg{width:100%;height:auto;display:block;min-width:720px}
.figure figcaption{
  margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft);
  display:flex;gap:26px;flex-wrap:wrap;font-size:14px;color:var(--muted);
}
.dgm-box{fill:#F4F6F8;stroke:#D3D9E2;stroke-width:1.5}
.dgm-ink{fill:#0F1622}
.dgm-acc{fill:#FBCC24}
.dgm-line{stroke:#C2CAD6;stroke-width:1.5;fill:none}
.dgm-flow{stroke:#C2CAD6;stroke-width:1.5;fill:none}
.dgm-dot{fill:#FBCC24}
.dgm-zone{fill:#EDF0F4;stroke:#D3D9E2;stroke-width:1.5}
.dgm-t{font-family:var(--mono);font-size:11.5px;fill:#4B5566}
.dgm-tw{font-family:var(--mono);font-size:11.5px;fill:rgba(255,255,255,.9)}
.dgm-td{font-family:var(--mono);font-size:11.5px;fill:#0F1622}
.dgm-lbl{font-family:var(--text);font-size:12.5px;font-weight:600;fill:#7A8697}


/* ---------- breather image ---------- */
.breather{position:relative;height:clamp(200px,26vw,320px);overflow:hidden}
.breather img{width:100%;height:100%;object-fit:cover}
.breather::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,22,34,.12),rgba(15,22,34,.35))}

/* ---------- ecosystem ---------- */
.eco{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:8px}
.eco-row{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line-soft)}
.eco-row:last-child{border-bottom:0}
.eco-row .cat{font-size:14px;font-weight:600;color:var(--muted)}
.eco-row .items{display:flex;flex-wrap:wrap;gap:8px}
.eco-row .items span{font-size:14px;font-weight:500;color:var(--ink);background:var(--canvas-2);padding:7px 14px;border-radius:999px}
.eco-row .items .more{
  background:transparent;border:1px dashed #CBD2DC;color:var(--muted);font-weight:500;
}
.eco-ghost{
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 70%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 70%,transparent 100%);
  padding-bottom:26px;
}
.eco-ghost .cat{color:#A6B0BE}
.eco-ghost .items span{background:transparent;border:1px dashed #D3D9E2;color:#A6B0BE}
.eco-endless{margin-top:34px;text-align:center;padding:0 24px}
.eco-endless .big{
  font-family:var(--display);font-size:clamp(22px,2.4vw,30px);font-weight:600;
  letter-spacing:-.024em;color:var(--ink);margin:0 0 10px;
}
.eco-endless p{max-width:52ch;margin:0 auto;font-size:15.5px}
.eco-endless .rule{
  width:52px;height:3px;border-radius:2px;background:var(--accent);margin:0 auto 20px;
}

/* ---------- beta ---------- */
.beta-note{
  display:inline-flex;align-items:center;gap:10px;background:rgba(251,204,36,.14);
  color:var(--accent-deep);font-size:14px;font-weight:600;padding:8px 16px;border-radius:999px;margin-bottom:20px;
}
.dark .beta-note{background:rgba(251,204,36,.16);color:var(--accent)}

/* ---------- CTA ---------- */
.cta{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}

/* ---------- footer ---------- */
footer.site{background:var(--ink);color:#fff;padding:64px 0 34px}
footer.site img{height:30px;width:auto}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
footer.site h4{font-family:var(--text);font-size:14px;font-weight:600;color:rgba(255,255,255,.5);margin:0 0 16px}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin-bottom:10px}
footer.site li a{color:rgba(255,255,255,.8);text-decoration:none;font-size:15px}
footer.site li a:hover{color:var(--accent)}
.ftag{color:rgba(255,255,255,.6);font-size:15px;margin-top:14px;max-width:30ch}
.fbase{
  margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:13.5px;color:rgba(255,255,255,.5);
}
.fbase a{color:rgba(255,255,255,.5);text-decoration:none;margin-right:20px}
.fbase a:hover{color:var(--accent)}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.2,.7,.3,1),transform .55s cubic-bezier(.2,.7,.3,1)}
.js .rv.in{opacity:1;transform:none}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}

a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}

@media (max-width:960px){
  .g3,.g2,.cta,.fgrid{grid-template-columns:1fr}
  .eco-row{grid-template-columns:1fr;gap:10px}
  section{padding:76px 0}
  .hero{padding:92px 0 84px}
  .head{height:auto;padding:12px 0;flex-wrap:wrap}
  nav.main{margin-left:0;width:100%;flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;transition:none}
  .dgm-dot{display:none}
  html{scroll-behavior:auto}
}

/* ===========================================================
   v2 — components for inner pages
   =========================================================== */

/* --- hero archetypes --- */
.hero-split-wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.hero-statement{padding:132px 0 116px;text-align:left}
.hero-statement h1{max-width:17ch}
.hero-statement .lede{max-width:56ch;margin-top:22px}
.hero-compact{padding:96px 0 72px}
.hero-compact h1{font-size:clamp(34px,4.4vw,54px);max-width:20ch}
.hero-light{background:var(--paper);border-bottom:1px solid var(--line)}
.hero-tint{background:linear-gradient(180deg,#EEF1F6 0%,var(--canvas) 100%);border-bottom:1px solid var(--line)}
.hero-figcard{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-2);padding:26px 24px 20px;
}
.hero-figcard svg{width:100%;height:auto;display:block}
.hero-figcard .cap{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);font-size:13.5px;color:var(--muted)}
.hero-photo-sm{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-2);aspect-ratio:1/1}
.hero-photo-sm img{width:100%;height:100%;object-fit:cover}
@media (max-width:960px){.hero-split-wrap{grid-template-columns:1fr;gap:32px}.hero-statement{padding:88px 0 72px}}

/* --- q&a rows --- */
.qa{margin-top:34px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:6px 8px}
.qa-row{display:grid;grid-template-columns:250px 1fr;gap:28px;padding:18px 20px;
  border-bottom:1px solid var(--line-soft);align-items:baseline}
.qa-row:last-child{border-bottom:0}
.qa-row dt{font-size:15px;font-weight:600;color:var(--muted);margin:0}
.qa-row dd{margin:0;font-size:16.5px;line-height:1.5;color:var(--ink);font-weight:500}
.dark .qa{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.1);box-shadow:none}
.dark .qa-row{border-bottom-color:rgba(255,255,255,.08)}
.dark .qa-row dt{color:rgba(255,255,255,.55)}
.dark .qa-row dd{color:#fff}
@media (max-width:760px){.qa-row{grid-template-columns:1fr;gap:6px}}

/* --- flow figure with legend --- */
.flowcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-2);padding:30px 28px 22px;margin-top:34px}
.dark .flowcard{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.1);box-shadow:none}
.flowcard .scroll{overflow-x:auto}
.flowcard svg{width:100%;height:auto;display:block;min-width:720px}
.flowlegend{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:22px;padding-top:18px;
  border-top:1px solid var(--line-soft)}
.dark .flowlegend{border-top-color:rgba(255,255,255,.1)}
.flowlegend .s{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:5px}
.dark .flowlegend .s{color:#fff}
.flowlegend p{margin:0;font-size:14px;line-height:1.45}
@media (max-width:960px){.flowlegend{grid-template-columns:1fr 1fr}}

/* --- gated panel --- */
.gated{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:34px 32px 30px;margin-top:34px}
.dark .gated{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:none}
.gated .lockrow{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;
  color:var(--accent-deep);background:rgba(251,204,36,.14);padding:7px 14px;border-radius:999px;margin-bottom:18px}
.dark .gated .lockrow{color:var(--accent);background:rgba(251,204,36,.15)}
.gated .lockrow svg{width:14px;height:14px}
.gated ul{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px}
.gated li{font-size:15.5px;padding:11px 0;border-bottom:1px solid var(--line-soft);color:var(--body);
  display:flex;gap:11px;align-items:flex-start}
.dark .gated li{border-bottom-color:rgba(255,255,255,.09);color:rgba(255,255,255,.75)}
.gated li::before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:9px}
@media (max-width:760px){.gated ul{grid-template-columns:1fr}}

/* --- query cards --- */
.queries{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px}
.query{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:28px 26px 24px;transition:transform .2s ease,box-shadow .2s ease}
.query:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.query .q{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.018em;
  line-height:1.3;color:var(--ink);margin:0 0 16px}
.query .a{display:flex;gap:10px;align-items:flex-start;padding-top:14px;border-top:1px solid var(--line-soft);
  font-size:14.5px;color:var(--body);margin:0}
.query .a svg{flex:0 0 auto;width:15px;height:15px;color:var(--accent-deep);margin-top:3px}
@media (max-width:760px){.queries{grid-template-columns:1fr}}

/* --- leadership --- */
.leads{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:36px}
.lead{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:26px 26px 24px;display:flex;gap:20px;align-items:flex-start}
.dark .lead{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);box-shadow:none}
.lead img{width:104px;height:104px;border-radius:14px;object-fit:cover;object-position:center top;flex:0 0 auto}
.lead h3{font-size:19px;margin-bottom:2px}
.lead .role{display:block;font-size:14px;font-weight:600;color:var(--accent-deep);margin-bottom:10px}
.dark .lead .role{color:var(--accent)}
.lead p{font-size:14.5px;line-height:1.5;margin:0}
@media (max-width:960px){.leads{grid-template-columns:1fr}}

/* --- use case tables --- */
.uc{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:hidden;margin-top:26px}
.uc th{text-align:left;font-size:13.5px;font-weight:600;color:var(--muted);padding:16px 20px;
  background:var(--canvas-2);border-bottom:1px solid var(--line)}
.uc td{padding:18px 20px;border-bottom:1px solid var(--line-soft);font-size:15.5px;color:var(--body);vertical-align:top;line-height:1.5}
.uc tr:last-child td{border-bottom:0}
.uc td:first-child{font-weight:600;color:var(--ink);width:22%}
.uc td.sys{width:24%;color:var(--muted);font-size:14.5px}
.uc td.pr{width:16%}
.chip{display:inline-block;font-size:13px;font-weight:600;color:var(--body);background:var(--canvas-2);
  padding:5px 12px;border-radius:999px}
@media (max-width:860px){
  .uc thead{display:none}
  .uc tr{display:block;border-bottom:1px solid var(--line-soft)}
  .uc td,.uc td:first-child,.uc td.sys,.uc td.pr{display:block;width:auto;border-bottom:0;padding:4px 20px}
  .uc td:first-child{padding-top:16px}
  .uc td.pr{padding-bottom:16px}
}

/* --- form --- */
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:34px}
.fcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:30px 28px}
.field{margin-bottom:20px}
.field:last-child{margin-bottom:0}
.field label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:8px}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--text);font-size:16px;color:var(--ink);background:var(--canvas);
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;
  -webkit-appearance:none;appearance:none;transition:border-color .15s ease, background .15s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:var(--ink);outline:3px solid rgba(251,204,36,.35);outline-offset:1px}
.field textarea{min-height:132px;resize:vertical;line-height:1.5}
.field .hint{display:block;margin-top:7px;font-size:13.5px;color:var(--muted)}
.formnote{margin-top:16px;font-size:14.5px;color:var(--muted)}
.formok{display:none;margin-top:16px;background:rgba(251,204,36,.12);border-radius:var(--radius-sm);
  padding:14px 16px;font-size:15px;color:var(--ink)}
.formok.on{display:block}
@media (max-width:860px){.formgrid{grid-template-columns:1fr;gap:24px}}

/* --- misc --- */
.two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px}
@media (max-width:860px){.two-col{grid-template-columns:1fr}}
.statement{font-family:var(--display);font-size:clamp(22px,2.5vw,30px);font-weight:600;
  letter-spacing:-.024em;line-height:1.24;color:var(--ink);max-width:26ch}
.dark .statement{color:#fff}
.tint{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.center{text-align:center}
.center .shead{margin-left:auto;margin-right:auto}
.center .lede{margin-left:auto;margin-right:auto}

/* --- button glyphs, sized and colored consistently --- */
.btn svg{width:16px;height:16px;flex:0 0 auto;transition:transform .18s ease}
.btn:hover svg{transform:translateX(3px)}
.btn-primary svg,.btn-dark svg{color:var(--accent)}
.btn-light svg{color:var(--accent)}
.btn-ghost svg{color:var(--accent-deep)}
.btn-quiet svg{color:var(--accent)}

/* --- split heroes: headline sized for a half-width column --- */
.hero-split-wrap h1{font-size:clamp(32px,3.7vw,50px);letter-spacing:-.032em}
.hero-split-wrap .lede{max-width:44ch}

/* ===========================================================
   v2.1 — bento layouts, card art, varied heights
   =========================================================== */

/* cards size to their content instead of stretching to the row */
.grid{align-items:start}

/* 12-column bento */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:start;margin-top:40px}
.sp3{grid-column:span 3}.sp4{grid-column:span 4}.sp5{grid-column:span 5}
.sp6{grid-column:span 6}.sp7{grid-column:span 7}.sp8{grid-column:span 8}.sp12{grid-column:span 12}
.bento .stackcol{grid-column:span 5;display:grid;gap:20px;align-content:start}
@media (max-width:960px){
  .bento{grid-template-columns:1fr}
  .sp3,.sp4,.sp5,.sp6,.sp7,.sp8,.sp12,.bento .stackcol{grid-column:span 1}
}

/* art panel inside a card */
.card-art{
  margin:22px -28px -28px;padding:26px 28px 28px;
  background:linear-gradient(180deg,var(--canvas) 0%,var(--canvas-2) 100%);
  border-top:1px solid var(--line-soft);border-radius:0 0 var(--radius) var(--radius);
}
.card-art svg{width:100%;height:auto;display:block}
.dark .card-art{background:rgba(255,255,255,.035);border-top-color:rgba(255,255,255,.08)}
.card-art-tall{padding-top:34px;padding-bottom:36px}

/* feature card: big art, big claim */
.feature{padding-bottom:0;overflow:hidden}
.feature .quote,.feature h3{max-width:22ch}

/* small stat inside a card */
.kpi{font-family:var(--display);font-size:clamp(30px,3.4vw,44px);font-weight:600;
  letter-spacing:-.035em;color:var(--ink);line-height:1;margin:0 0 8px}
.dark .kpi{color:#fff}
.kpi-sub{font-size:14.5px;color:var(--muted);margin:0}

/* inverted card for emphasis */
.card-ink{background:var(--ink);border-color:var(--ink)}
.card-ink h3,.card-ink .quote,.card-ink .kpi{color:#fff}
.card-ink p{color:rgba(255,255,255,.72)}
.card-ink .card-art{background:rgba(255,255,255,.05);border-top-color:rgba(255,255,255,.1)}

/* ===========================================================
   v2.2 — scrollable card deck
   =========================================================== */
.deck-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.deck-nav{display:flex;gap:10px}
.deck-nav button{
  width:44px;height:44px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:var(--paper);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease,border-color .15s ease,opacity .15s ease;
}
.deck-nav button svg{width:16px;height:16px}
.deck-nav button:hover{background:var(--canvas-2)}
.deck-nav button[disabled]{opacity:.35;cursor:default}
.dark .deck-nav button{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#fff}
.dark .deck-nav button:hover{background:rgba(255,255,255,.13)}

.deck-wrap{position:relative;margin-top:32px}
.deck{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 2px 26px;scroll-padding-left:2px;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;
}
.deck::-webkit-scrollbar{height:6px}
.deck::-webkit-scrollbar-track{background:transparent}
.deck::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.dark .deck::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2)}

.dcard{
  flex:0 0 316px;scroll-snap-align:start;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:26px 24px 24px;display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;
}
.dcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.dark .dcard{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);box-shadow:none}
.dark .dcard:hover{background:rgba(255,255,255,.08)}
.dcard .n{font-family:var(--mono);font-size:13px;color:var(--muted);margin-bottom:18px}
.dark .dcard .n{color:rgba(255,255,255,.45)}
.dcard h3{font-size:19px;line-height:1.28;margin-bottom:10px}
.dcard p{font-size:15px;line-height:1.55;margin:0 0 20px}
.dcard .state{
  margin-top:auto;display:inline-flex;align-items:center;gap:9px;align-self:flex-start;
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;
  color:var(--accent-deep);background:rgba(251,204,36,.14);
  padding:7px 13px;border-radius:999px;
}
.dark .dcard .state{color:var(--accent);background:rgba(251,204,36,.15)}
.dcard .state::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.deck-hint{font-size:14px;color:var(--muted);margin-top:2px}
.dark .deck-hint{color:rgba(255,255,255,.5)}
@media (max-width:760px){.dcard{flex:0 0 78%}.deck-nav{display:none}}

/* ===========================================================
   v2.3 — Apple-style typography
   San Francisco renders natively on Apple devices; Inter is the
   closest metric-compatible fallback everywhere else.
   =========================================================== */
:root{
  --display:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --text:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

body{
  font-size:17px;line-height:1.5;letter-spacing:-.012em;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
p{margin:0 0 14px}

/* SF carries its own optical tracking, so pull ours back */
h1,h2,h3{font-weight:600}
h1{font-size:clamp(40px,5.2vw,64px);line-height:1.06;letter-spacing:-.022em}
h2{font-size:clamp(30px,3.4vw,44px);line-height:1.09;letter-spacing:-.018em}
h3{font-size:21px;line-height:1.24;letter-spacing:-.014em}
.hero-split-wrap h1{font-size:clamp(32px,3.6vw,48px);letter-spacing:-.02em}
.hero-compact h1{letter-spacing:-.02em}
.lede{font-size:clamp(17px,1.3vw,19px);line-height:1.47;letter-spacing:-.012em}
.statement,.quote,.kpi{letter-spacing:-.018em}

/* Apple-style eyebrow: title case, no dot, no tracking, quietly dark */
.eyebrow{
  display:block;font-size:16px;font-weight:400;line-height:1.3;
  color:var(--body);letter-spacing:-.01em;margin-bottom:10px;
}
.eyebrow::before{content:none}
.dark .eyebrow,.on-dark .eyebrow,.hero .eyebrow{color:rgba(255,255,255,.66)}

/* cards: Apple sets the label above a bold claim */
.prod .name{font-size:16px;font-weight:400;color:var(--body);letter-spacing:-.01em;margin-bottom:6px}
.dcard .n{font-size:15px;font-weight:400;letter-spacing:-.01em}
.beta-note{font-size:15px;font-weight:500;letter-spacing:-.01em}

/* nav and controls */
nav.main a,nav.main button{font-size:16px;font-weight:400;letter-spacing:-.012em}
.btn{font-size:16px;font-weight:500;letter-spacing:-.012em}
.btn-sm{font-size:15px}
.qa-row dt{font-size:16px;font-weight:400;letter-spacing:-.012em}
.qa-row dd{font-size:17px;font-weight:500;letter-spacing:-.014em}
.flowlegend .s{font-size:15px;font-weight:600;letter-spacing:-.012em}
.eco-row .cat{font-size:15px;font-weight:400;letter-spacing:-.01em}
.uc th{font-size:14px;font-weight:400;letter-spacing:-.008em}
.field label{font-size:15px;font-weight:500;letter-spacing:-.01em}
footer.site h4{font-size:15px;font-weight:400;letter-spacing:-.01em}

/* ===========================================================
   v2.4 — even card heights within a row
   =========================================================== */
.grid{align-items:stretch}
.grid > .card{display:flex;flex-direction:column}
.two-col{align-items:stretch}
.two-col > .card{display:flex;flex-direction:column}
.leads{align-items:stretch}

/* product cards: link sits under the copy, art pins to the card foot */
.prod .go{margin-top:0}
.prod .card-art{margin-top:auto}

/* the bento keeps deliberate, unequal blocks */
.bento{align-items:start}

/* ===========================================================
   v2.5 — ask simulator carousel
   =========================================================== */
.simdeck{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 2px 26px;margin-top:30px;
}
.simdeck::-webkit-scrollbar{height:6px}
.simdeck::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.sim{
  flex:0 0 min(560px,86vw);scroll-snap-align:start;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:26px 26px 24px;display:flex;flex-direction:column;min-height:430px;
}
.sim-bar{
  display:flex;align-items:center;gap:12px;background:var(--canvas);
  border:1px solid var(--line);border-radius:999px;padding:14px 20px;
}
.sim-bar svg{width:18px;height:18px;flex:0 0 auto;color:var(--muted)}
.sim-q{font-size:16.5px;color:var(--ink);letter-spacing:-.012em;white-space:pre-wrap}
.caret{
  width:2px;height:19px;background:var(--ink);display:inline-block;flex:0 0 auto;
  animation:blink 1.05s step-end infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.sim.is-done .caret{display:none}

.sim-status{
  display:flex;align-items:center;gap:10px;margin:18px 2px 0;
  font-size:14.5px;color:var(--muted);opacity:0;transition:opacity .3s ease;
}
.sim.is-thinking .sim-status,.sim.is-done .sim-status{opacity:1}
.sim.is-done .sim-status{color:var(--body)}
.sim-status .pulse{
  width:8px;height:8px;border-radius:50%;background:var(--accent);
  animation:pulsedot 1.1s ease-in-out infinite;
}
.sim.is-done .sim-status .pulse{animation:none}
@keyframes pulsedot{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}

.sim-out{margin-top:16px;border-top:1px solid var(--line-soft);padding-top:6px}
.sim-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:13px 2px;border-bottom:1px solid var(--line-soft);
  opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease;
}
.sim-row:last-of-type{border-bottom:0}
.sim.is-done .sim-row{opacity:1;transform:none}
.sim.is-done .sim-row:nth-of-type(1){transition-delay:.05s}
.sim.is-done .sim-row:nth-of-type(2){transition-delay:.22s}
.sim.is-done .sim-row:nth-of-type(3){transition-delay:.39s}
.sim.is-done .sim-row:nth-of-type(4){transition-delay:.56s}
.sim-row .t{font-size:15.5px;color:var(--ink);font-weight:450;letter-spacing:-.012em}
.sim-row .t em{font-style:normal;color:var(--accent-deep);font-weight:600}
.sim-row .m{
  flex:0 0 auto;font-family:var(--mono);font-size:12.5px;color:var(--muted);
  background:var(--canvas-2);padding:5px 11px;border-radius:999px;
}
.sim-foot{
  margin-top:auto;padding-top:18px;font-size:14px;color:var(--muted);
  opacity:0;transition:opacity .4s ease .72s;
}
.sim.is-done .sim-foot{opacity:1}

@media (prefers-reduced-motion:reduce){
  .caret{animation:none}
  .sim-row{opacity:1;transform:none;transition:none}
  .sim-status{opacity:1}
  .sim-foot{opacity:1;transition:none}
}

/* ===========================================================
   v2.6 — numbered card deck with watermark numerals
   =========================================================== */
.ndeck{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 2px 26px;margin-top:30px;
}
.ndeck::-webkit-scrollbar{height:6px}
.ndeck::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.dark .ndeck::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2)}

.ncard{
  position:relative;overflow:hidden;
  flex:0 0 min(320px,80vw);scroll-snap-align:start;min-height:344px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:28px 26px 26px;
  display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.ncard:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.dark .ncard{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);box-shadow:none}
.dark .ncard:hover{background:rgba(255,255,255,.085)}

.ncard .num{
  position:relative;z-index:1;display:block;
  font-size:46px;font-weight:600;line-height:1;letter-spacing:-.04em;
  color:rgba(15,22,34,.14);margin-bottom:22px;
}
.dark .ncard .num{color:rgba(255,255,255,.16)}
.ncard h3{position:relative;z-index:1;font-size:22px;margin-bottom:12px;letter-spacing:-.016em}
.ncard p{position:relative;z-index:1;font-size:15.5px;line-height:1.5;margin:0}
.ncard .tags{position:relative;z-index:1;margin-top:auto;padding-top:20px;display:flex;flex-wrap:wrap;gap:7px}
.ncard .tags span{
  font-size:13px;font-weight:500;color:var(--body);background:var(--canvas-2);
  padding:6px 12px;border-radius:999px;position:relative;z-index:1;
}
.dark .ncard .tags span{color:rgba(255,255,255,.8);background:rgba(255,255,255,.1)}

/* ===========================================================
   v2.7 — sovereignty cards (the differentiator, given room)
   =========================================================== */
.scards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;align-items:stretch}
.scard{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:34px 30px 30px;display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;
}
.scard:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.scard h3{font-size:24px;margin-bottom:10px;letter-spacing:-.018em}
.scard .s-lead{font-size:17px;line-height:1.45;color:var(--ink);font-weight:500;letter-spacing:-.014em;margin:0 0 22px}
.facts{list-style:none;margin:auto 0 0;padding:0;border-top:1px solid var(--line-soft)}
.facts li{padding:15px 0;border-bottom:1px solid var(--line-soft)}
.facts li:last-child{border-bottom:0;padding-bottom:0}
.facts .k{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px;letter-spacing:-.01em}
.facts .v{display:block;font-size:14.5px;line-height:1.45;color:var(--body)}
@media (max-width:960px){.scards{grid-template-columns:1fr}}

/* problem cards: three equal columns, quote leads */
.card > .quote{font-size:20px;line-height:1.32;margin-bottom:12px}
.card > .quote + p{margin:0}

/* ===========================================================
   v2.8 — use cases: filters, featured cases, compact index
   =========================================================== */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.chip-btn{
  font-family:var(--text);font-size:15px;font-weight:500;letter-spacing:-.012em;
  color:var(--body);background:var(--paper);border:1px solid var(--line);
  padding:10px 18px;border-radius:999px;cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.chip-btn:hover{background:var(--canvas-2)}
.chip-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}

.fcases{display:grid;gap:20px;margin-top:32px}
.fcase{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:32px 30px 28px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:40px;align-items:center;
}
.fcase .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.fcase .meta span{
  font-size:13px;font-weight:500;color:var(--body);background:var(--canvas-2);
  padding:6px 12px;border-radius:999px;
}
.fcase .meta .prod{background:rgba(251,204,36,.16);color:var(--accent-deep)}
.fcase h3{font-size:23px;margin-bottom:10px}
.fcase p{font-size:15.5px;line-height:1.5;margin:0}
@media (max-width:960px){.fcase{grid-template-columns:1fr;gap:26px}}

/* animated job strip */
.jobstrip{display:flex;align-items:center;flex-wrap:wrap;gap:0}
.jstep{
  font-size:13.5px;font-weight:500;color:var(--body);letter-spacing:-.01em;
  border:1px solid var(--line);background:var(--canvas);border-radius:999px;padding:9px 15px;
  opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease;
}
.jstep.is-gate{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600}
.jlink{
  flex:0 0 22px;height:2px;background:var(--line);border-radius:2px;margin:0 6px;
  transform:scaleX(0);transform-origin:left;transition:transform .3s ease;
}
.rv.in .jstep{opacity:1;transform:none}
.rv.in .jlink{transform:scaleX(1)}
.jobstrip > *:nth-child(1){transition-delay:.05s}
.jobstrip > *:nth-child(2){transition-delay:.18s}
.jobstrip > *:nth-child(3){transition-delay:.31s}
.jobstrip > *:nth-child(4){transition-delay:.44s}
.jobstrip > *:nth-child(5){transition-delay:.57s}
.jobstrip > *:nth-child(6){transition-delay:.70s}
.jobstrip > *:nth-child(7){transition-delay:.83s}
.jobstrip > *:nth-child(8){transition-delay:.96s}
.jobstrip > *:nth-child(9){transition-delay:1.09s}
.jobcap{margin-top:16px;font-size:14px;color:var(--muted)}
.jobcap b{color:var(--accent-deep);font-weight:600}

/* compact index */
.ucindex{
  margin-top:22px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow-1);padding:4px 8px;
}
.ucrow{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) 200px 120px;gap:20px;
  padding:17px 18px;border-bottom:1px solid var(--line-soft);align-items:baseline;
}
.ucrow:last-child{border-bottom:0}
.ucrow .w{font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.012em}
.ucrow .d{font-size:15px;color:var(--body);line-height:1.45}
.ucrow .s{font-size:14px;color:var(--muted)}
.ucrow .p span{font-size:13px;font-weight:500;color:var(--body);background:var(--canvas-2);padding:5px 11px;border-radius:999px}
.is-hidden{display:none !important}
.filter-count{margin-top:18px;font-size:14.5px;color:var(--muted)}
@media (max-width:960px){
  .ucrow{grid-template-columns:1fr;gap:5px}
  .ucrow .p{margin-top:4px}
}

/* ===========================================================
   v2.9 — hero v3: light, centered, product-first
   =========================================================== */
.hero3{
  position:relative;overflow:visible;padding:104px 0 0;text-align:center;
  background:
    radial-gradient(900px 460px at 50% -8%, #FFFFFF 0%, rgba(255,255,255,0) 70%),
    radial-gradient(760px 420px at 84% 6%, rgba(251,204,36,.16) 0%, rgba(251,204,36,0) 68%),
    radial-gradient(820px 480px at 12% 4%, rgba(90,130,200,.12) 0%, rgba(90,130,200,0) 66%),
    linear-gradient(180deg,#EDF1F6 0%, var(--canvas) 62%);
}
.hero3::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(15,22,34,.055) 1px, transparent 1.3px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(circle at 50% 0%, #000 0%, transparent 62%);
  mask-image:radial-gradient(circle at 50% 0%, #000 0%, transparent 62%);
}
.hero3 .wrap{position:relative;z-index:2}
.hero3 .eyebrow{display:inline-block;margin-bottom:14px}
.hero3 h1{
  font-size:clamp(42px,5.6vw,74px);line-height:1.03;letter-spacing:-.028em;
  max-width:17ch;margin:0 auto;
}
.hero3 .lede{max-width:56ch;margin:22px auto 0}
.hero3 .btns{justify-content:center;margin-top:34px}
.hero3 .trustline{
  margin-top:26px;display:flex;justify-content:center;gap:26px;flex-wrap:wrap;
  font-size:14.5px;color:var(--muted);
}
.hero3 .trustline span{display:inline-flex;align-items:center;gap:9px}
.hero3 .trustline span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}

/* floating product visual that bleeds into the next section */
.hero-stage{position:relative;z-index:2;margin:56px auto -90px;max-width:1080px;padding:0 28px}
.hero-stage::after{
  content:"";position:absolute;left:12%;right:12%;bottom:56px;height:120px;z-index:-1;
  background:radial-gradient(60% 100% at 50% 50%, rgba(251,204,36,.28), rgba(251,204,36,0) 70%);
  filter:blur(18px);
}
.hero-card{
  background:var(--paper);border:1px solid var(--line);border-radius:20px;
  box-shadow:0 2px 6px rgba(15,22,34,.05), 0 30px 70px rgba(15,22,34,.14);
  padding:28px 28px 20px;text-align:left;
}
.hero-card .scroll{overflow-x:auto}
.hero-card svg{width:100%;height:auto;display:block;min-width:760px}
.hero-card .cap{
  display:flex;gap:26px;flex-wrap:wrap;margin-top:18px;padding-top:16px;
  border-top:1px solid var(--line-soft);font-size:14px;color:var(--muted);
}
.hero3 + section{padding-top:132px}
@media (max-width:760px){
  .hero3{padding-top:76px}
  .hero-stage{margin:36px auto -60px;padding:0 20px}
  .hero-card{padding:20px 18px 14px;border-radius:16px}
  .hero3 + section{padding-top:96px}
}

/* light hero wash, cool/steel variant (product pages) */
.hero-wash{
  position:relative;
  background:
    radial-gradient(760px 420px at 88% 0%, rgba(90,130,200,.16) 0%, rgba(90,130,200,0) 66%),
    radial-gradient(620px 380px at 8% 10%, rgba(251,204,36,.10) 0%, rgba(251,204,36,0) 68%),
    linear-gradient(180deg,#EDF1F6 0%, var(--canvas) 70%);
  border-bottom:1px solid var(--line);
}
.hero-wash::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(15,22,34,.05) 1px, transparent 1.3px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(circle at 78% 0%, #000 0%, transparent 62%);
  mask-image:radial-gradient(circle at 78% 0%, #000 0%, transparent 62%);
}
.hero-wash .wrap{position:relative;z-index:2}
.hero-figfloat{
  background:var(--paper);border:1px solid var(--line);border-radius:20px;
  box-shadow:0 2px 6px rgba(15,22,34,.05), 0 24px 56px rgba(15,22,34,.12);
  padding:26px 26px 20px;
}
.hero-figfloat svg{width:100%;height:auto;display:block}
.hero-figfloat .cap{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);
  font-size:14px;color:var(--muted);
}

/* ===========================================================
   v3.0 — answered-questionnaire grid
   =========================================================== */
.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;align-items:stretch}
.check{
  position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-1);padding:26px 26px 24px;display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;
}
.check:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.check .q{
  display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--muted);
  letter-spacing:-.01em;margin-bottom:14px;
}
.check .tick{
  flex:0 0 auto;width:22px;height:22px;border-radius:50%;
  background:rgba(251,204,36,.2);display:flex;align-items:center;justify-content:center;
}
.check .tick svg{width:12px;height:12px;color:var(--accent-deep)}
.check .a{
  font-size:20px;font-weight:600;line-height:1.28;letter-spacing:-.016em;
  color:var(--ink);margin:0 0 10px;
}
.check .n{font-size:14.5px;line-height:1.5;color:var(--body);margin:0}
.checks-foot{
  margin-top:24px;display:flex;align-items:center;gap:12px;
  font-size:15px;color:var(--body);
}
.checks-foot .tick{
  width:22px;height:22px;border-radius:50%;background:rgba(251,204,36,.2);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.checks-foot .tick svg{width:12px;height:12px;color:var(--accent-deep)}
@media (max-width:960px){.checks{grid-template-columns:1fr}}

/* ===========================================================
   v3.1 — the gate stack (replaces diagram + legend duplication)
   =========================================================== */
.gates{margin-top:40px}
.gate{
  display:grid;grid-template-columns:56px 1fr;gap:26px;align-items:start;
  padding:26px 0;border-bottom:1px solid rgba(255,255,255,.09);
}
.gate:first-child{padding-top:6px}
.gate:last-child{border-bottom:0;padding-bottom:6px}
.gate .num{
  width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:17px;font-weight:600;letter-spacing:-.01em;
  color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.2);
}
.gate.key .num{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.gate h3{font-size:22px;margin-bottom:8px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gate .pin{
  font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--accent);
  background:rgba(251,204,36,.16);padding:5px 12px;border-radius:999px;
}
.gate p{margin:0;font-size:16px;line-height:1.5;max-width:62ch}
.gate-notes{
  display:grid;grid-template-columns:1fr 1fr;gap:44px;
  margin-top:46px;padding-top:34px;border-top:1px solid rgba(255,255,255,.14);
}
.gate-notes h3{font-size:20px;margin-bottom:8px}
.gate-notes p{margin:0;font-size:15.5px;line-height:1.5}
@media (max-width:860px){
  .gate{grid-template-columns:44px 1fr;gap:18px}
  .gate .num{width:44px;height:44px;font-size:15px}
  .gate-notes{grid-template-columns:1fr;gap:26px}
}

/* ===========================================================
   v3.2 — stacked cards (one at a time, the rest peeking behind)
   =========================================================== */
.stackwrap{max-width:760px;margin:44px auto 0}
.stackdeck{position:relative;height:288px;margin-top:44px}
.sc{
  position:absolute;left:0;right:0;top:0;
  background:var(--paper);border:1px solid var(--line);border-radius:18px;
  padding:36px 36px 34px;cursor:pointer;user-select:none;
  transition:transform .5s cubic-bezier(.2,.75,.28,1), opacity .4s ease, box-shadow .4s ease;
  will-change:transform;
}
.sc .n{
  display:block;font-size:14px;font-weight:500;color:var(--muted);
  letter-spacing:-.01em;margin-bottom:14px;
}
.sc h3{font-size:clamp(21px,2.2vw,27px);line-height:1.24;margin-bottom:12px}
.sc p{font-size:16.5px;line-height:1.5;margin:0;max-width:52ch}
.sc[data-pos="0"]{transform:translateY(0) scale(1);z-index:4;opacity:1;
  box-shadow:0 2px 6px rgba(15,22,34,.05), 0 26px 60px rgba(15,22,34,.14)}
.sc[data-pos="1"]{transform:translateY(-18px) scale(.955);z-index:3;opacity:.92;box-shadow:var(--shadow-1)}
.sc[data-pos="2"]{transform:translateY(-36px) scale(.91);z-index:2;opacity:.7;box-shadow:var(--shadow-1)}
.sc[data-pos="3"]{transform:translateY(-54px) scale(.865);z-index:1;opacity:.45;box-shadow:none}
.sc[data-pos="0"]:hover{transform:translateY(-3px) scale(1)}

.stackbar{
  display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px;
}
.stackbar .count{font-size:15px;color:var(--muted);min-width:52px;text-align:center}
.stackdots{display:flex;gap:7px}
.stackdots button{
  width:8px;height:8px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(15,22,34,.18);transition:background .2s ease,transform .2s ease;
}
.stackdots button[aria-current="true"]{background:var(--accent);transform:scale(1.25)}
.dark .stackdots button{background:rgba(255,255,255,.25)}
.dark .stackdots button[aria-current="true"]{background:var(--accent)}
@media (max-width:760px){
  .stackdeck{height:340px}
  .sc{padding:28px 24px 26px;border-radius:16px}
}
@media (prefers-reduced-motion:reduce){.sc{transition:none}}

/* ===========================================================
   v3.3 — leadership: light, square portraits, startup feel
   =========================================================== */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:38px;align-items:stretch}
.tcard{
  background:var(--paper);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow-1);padding:14px 14px 22px;display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;
}
.tcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.tcard .photo{
  aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:var(--canvas-2);margin-bottom:18px;
}
.tcard .photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 18%;
  filter:grayscale(1) contrast(1.02);transition:filter .35s ease,transform .5s ease;
}
.tcard:hover .photo img{filter:grayscale(0) contrast(1);transform:scale(1.03)}
.tcard .body{padding:0 8px}
.tcard h3{font-size:19px;margin-bottom:3px;letter-spacing:-.014em}
.tcard .role{
  display:block;font-size:14px;font-weight:500;color:var(--accent-deep);
  letter-spacing:-.01em;margin-bottom:12px;
}
.tcard p{font-size:14.5px;line-height:1.5;margin:0}
@media (max-width:1000px){.team{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.team{grid-template-columns:1fr}}


/* =========================================================
   v3.4 — blue accent system
   ink   : identity and content
   blue  : you can click this
   yellow: a human decides (approval gates only)
   ========================================================= */
:root{
  --blue:#2B5CE6;
  --blue-deep:#1E45B8;
  --blue-soft:rgba(43,92,230,.10);
}

/* logo lockup */
.lock{display:flex;align-items:center;gap:11px;text-decoration:none;flex:0 0 auto}
.lock .mk{height:28px;width:auto}
.lock .wd{height:19px;width:auto}
footer.site .lock .wd{height:20px}

/* hero washes go cool */
.hero3{
  background:
    radial-gradient(900px 460px at 50% -8%, #FFFFFF 0%, rgba(255,255,255,0) 70%),
    radial-gradient(780px 430px at 84% 4%, rgba(43,92,230,.16) 0%, rgba(43,92,230,0) 68%),
    radial-gradient(820px 480px at 12% 6%, rgba(43,92,230,.09) 0%, rgba(43,92,230,0) 66%),
    linear-gradient(180deg,#EBF0F9 0%, var(--canvas) 62%);
}
.hero-stage::after{background:radial-gradient(60% 100% at 50% 50%, rgba(43,92,230,.24), rgba(43,92,230,0) 70%)}
.hero-wash{
  background:
    radial-gradient(760px 420px at 88% 0%, rgba(43,92,230,.16) 0%, rgba(43,92,230,0) 66%),
    radial-gradient(620px 380px at 8% 10%, rgba(43,92,230,.08) 0%, rgba(43,92,230,0) 68%),
    linear-gradient(180deg,#EBF0F9 0%, var(--canvas) 70%);
}

/* rotating hero line: content, not a link */
.rot{display:block;min-height:1.06em;color:var(--ink)}
.rot .w{display:inline-block;transition:opacity .3s ease, transform .3s ease}
.rot .w.out{opacity:0;transform:translateY(-.22em)}

/* interactive = blue */
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 1px 2px rgba(43,92,230,.24)}
.btn-primary:hover{background:var(--blue-deep);box-shadow:0 12px 28px rgba(43,92,230,.30)}
.btn-primary svg,.btn-dark svg{color:#fff}
.btn-ghost svg,.btn-light svg,.btn-quiet svg{color:var(--blue)}
.prod .go,.stack .go,.pillar .go{color:var(--blue)}
.dark .btn-light svg{color:var(--blue)}
a:not(.btn):not(.prod):not(.lock):not(.card):hover{color:var(--blue)}
.menu-panel a:hover .nm{color:var(--blue)}
footer.site li a:hover,.fbase a:hover,.foot-legal a:hover{color:#9DB4FF}
.query:hover,.tile:hover,.check:hover{border-color:rgba(43,92,230,.3)}
.chip-btn[aria-pressed="true"]{background:var(--blue);border-color:var(--blue)}
.stackdots button[aria-current="true"]{background:var(--blue)}
.field input:focus,.field select:focus,.field textarea:focus{outline-color:rgba(43,92,230,.35)}
a:focus-visible,button:focus-visible{outline-color:var(--blue)}

/* not interactive, so not blue */
.prod .name{color:var(--muted)}
.tcard .role{color:var(--muted)}
.scard .facts .k{color:var(--ink)}
.beta-note,.dark .beta-note{background:rgba(255,255,255,.08);color:rgba(255,255,255,.82)}
.gated .lockrow,.dark .gated .lockrow{background:var(--blue-soft);color:var(--blue)}
.dark .gated .lockrow{background:rgba(43,92,230,.18);color:#9DB4FF}
.check .tick{background:var(--blue-soft)}
.check .tick svg,.checks-foot .tick svg{color:var(--blue)}
.checks-foot .tick{background:var(--blue-soft)}
.query .a svg{color:var(--blue)}
.ncard .num{color:rgba(15,22,34,.14)}
.dark .ncard .num{color:rgba(255,255,255,.16)}
.ncard .tags span,.prod .pills span,.eco-row .items span{background:#EEF2FA}
.card-art{background:linear-gradient(180deg,var(--canvas) 0%, #EDF1F8 100%)}
.sim-row .t em{color:var(--blue)}
.sim-status .pulse{background:var(--blue)}
.jstep.is-gate{background:#FBCC24;border-color:#FBCC24;color:var(--ink)}
.jobcap b{color:var(--blue)}
.flowlegend div .s{color:var(--ink)}
.dark .flowlegend div .s{color:#fff}
.gate .pin{color:var(--ink);background:rgba(251,204,36,.9)}
.gate.key .num{background:#FBCC24;border-color:#FBCC24;color:var(--ink)}
.eco-more b{color:var(--ink)}
.eco-endless .rule{background:var(--blue)}
.stamp b{color:var(--blue)}
.dark .stamp b{color:#9DB4FF}

/* diagram motion is slate, not blue (nothing in a diagram is clickable) */
.dgm-dot{fill:#6B7A96}
.dark .dgm-dot,.band-deep .dgm-dot{fill:#8FA0BC}
.dgm-lbl{fill:#6F7C91}

/* ===========================================================
   v3.5 — yellow discipline in job strips and the gate stack
   =========================================================== */

/* job strips: pills keep a pill shape, never collapse into ellipses */
.jstep{
  border-radius:10px;white-space:nowrap;line-height:1.25;
}
.jstep.is-gate{
  background:rgba(251,204,36,.18);
  border:1px solid rgba(251,204,36,.9);
  color:var(--ink);font-weight:600;
}
.jlink{flex:0 0 18px}
.jobstrip{gap:6px 0}

/* use-case meta chips are labels, not signals */
.fcase .meta .prod{background:var(--canvas-2);color:var(--body)}

/* the gate stack: one quiet yellow marker, nothing else */
.gate.key .num{
  background:transparent;
  border:2px solid var(--gate-line, rgba(251,204,36,.85));
  color:#E3B70A;
}
.dark .gate.key .num{color:#FBCC24}
.gate .pin{
  background:transparent;
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.72);
  font-weight:500;
}

/* ===========================================================
   v3.6 — featured use cases: calm two-column, numbered steps
   =========================================================== */
.fcase{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:52px;
  padding:36px 36px 34px;align-items:start;
}
.fc-prod{display:block;font-size:14.5px;color:var(--muted);margin-bottom:8px}
.fcase h3{font-size:24px;margin-bottom:12px;letter-spacing:-.018em}
.fcase p{font-size:15.5px;line-height:1.55;margin:0}
.fc-sys{margin-top:16px !important;font-size:14px;color:var(--muted)}

.fsteps{list-style:none;margin:0;padding:0;position:relative}
.fsteps::before{
  content:"";position:absolute;left:13px;top:16px;bottom:16px;width:1px;background:var(--line);
}
.fsteps li{
  position:relative;display:flex;align-items:center;gap:14px;
  padding:9px 0;font-size:15.5px;color:var(--body);letter-spacing:-.012em;
}
.fsteps .sn{
  position:relative;z-index:1;flex:0 0 auto;
  width:27px;height:27px;border-radius:50%;background:var(--paper);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  font-size:13px;color:var(--muted);
}
.fsteps li.is-gate .sn{border-color:rgba(251,204,36,.9);color:#B98F00;font-weight:600}
.fsteps li.is-gate .st{color:var(--ink);font-weight:600}
.fsteps .you{
  margin-left:auto;font-size:12.5px;color:#B98F00;
  background:rgba(251,204,36,.16);padding:4px 10px;border-radius:999px;
}
.fc-cap{margin-top:20px !important;padding-top:16px;border-top:1px solid var(--line-soft);
  font-size:14.5px;color:var(--muted)}
@media (max-width:960px){.fcase{grid-template-columns:1fr;gap:26px;padding:26px 22px 24px}}

/* ===========================================================
   v3.7 — product plates (deliberately unlike every other card)
   =========================================================== */
.plates{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;align-items:stretch}
.plate{
  position:relative;overflow:hidden;text-decoration:none;
  border:0;border-radius:26px;padding:52px 34px 46px;text-align:center;
  display:flex;flex-direction:column;align-items:center;min-height:400px;
  transition:transform .25s ease, box-shadow .25s ease;
  box-shadow:0 1px 2px rgba(15,22,34,.04);
}
.plate:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(15,22,34,.10)}
.plate-1{background:linear-gradient(180deg,#E9EFFC 0%,#F7F9FD 62%)}
.plate-2{background:linear-gradient(180deg,#E8ECF4 0%,#F7F8FB 62%)}
.plate-3{background:linear-gradient(180deg,#EAEDF9 0%,#F8F8FC 62%)}

.plate .pname{
  font-size:clamp(24px,2.4vw,30px);font-weight:600;letter-spacing:-.02em;
  color:var(--ink);margin:0 0 10px;
}
.plate .pline{
  font-size:17.5px;line-height:1.4;color:var(--body);letter-spacing:-.014em;
  margin:0;max-width:22ch;
}
.plate .pgo{
  margin-top:26px;display:inline-flex;align-items:center;gap:8px;
  font-size:16px;font-weight:500;color:var(--blue);
}
.plate .pgo svg{width:14px;height:14px;transition:transform .18s ease}
.plate:hover .pgo svg{transform:translateX(3px)}

/* the quiet mark that hints at the product, low contrast, decorative */
.plate .glyph{
  margin-top:auto;width:100%;max-width:220px;opacity:.5;
}
.plate .glyph svg{width:100%;height:auto;display:block}
@media (max-width:1000px){
  .plates{grid-template-columns:1fr}
  .plate{min-height:0;padding:40px 28px 36px}
}

/* ===========================================================
   v3.8 — three products, three treatments
   =========================================================== */
.plate-1{
  background:#FFFFFF;
  border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(15,22,34,.05), 0 10px 26px rgba(15,22,34,.05);
}
.plate-1:hover{box-shadow:0 2px 6px rgba(15,22,34,.06), 0 22px 50px rgba(15,22,34,.10)}

.plate-2{
  background:linear-gradient(165deg,#DCE6FB 0%,#EEF3FD 48%,#F6F9FE 100%);
  border:1px solid rgba(43,92,230,.14);
}
.plate-2 .pname{color:var(--ink)}

.plate-3{
  background:linear-gradient(165deg,#E6E9EF 0%,#F1F3F7 52%,#F8F9FB 100%);
  border:1px solid rgba(15,22,34,.08);
}

/* glyphs pick up their plate's tone instead of one flat grey */
.plate-1 .glyph{opacity:.42}
.plate-2 .glyph{opacity:.55}
.plate-3 .glyph{opacity:.5}
.plate-2 .glyph svg [stroke]{stroke:#93AEEA}
.plate-3 .glyph svg [stroke]{stroke:#AEB7C6}

/* lighter plate gradients */
.plate-2{
  background:linear-gradient(165deg,#EDF2FD 0%,#F5F8FE 50%,#FAFCFE 100%);
  border-color:rgba(43,92,230,.10);
}
.plate-3{
  background:linear-gradient(165deg,#F0F2F6 0%,#F6F8FA 52%,#FBFCFD 100%);
  border-color:rgba(15,22,34,.06);
}
.plate-2 .glyph svg [stroke]{stroke:#A8BEF0}
.plate-3 .glyph svg [stroke]{stroke:#BAC2CE}

/* ===========================================================
   v3.9 — capability plates (Argo for Z)
   =========================================================== */
.wplates{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:42px;align-items:stretch}
.wplate{
  position:relative;overflow:hidden;border-radius:26px;
  padding:44px 40px 38px;display:flex;flex-direction:column;min-height:260px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.wplate:hover{transform:translateY(-3px)}
.wplate .wnum{
  font-family:var(--mono);font-size:13px;color:var(--muted);margin-bottom:18px;display:block;
}
.wplate h3{font-size:clamp(22px,2.2vw,27px);letter-spacing:-.02em;margin-bottom:12px}
.wplate p{font-size:16.5px;line-height:1.5;margin:0;max-width:40ch;color:var(--body)}
.wplate .wglyph{margin-top:auto;padding-top:26px;width:74px;opacity:.45}
.wplate .wglyph svg{width:100%;height:auto;display:block}

.wplate-1{background:#FFFFFF;border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(15,22,34,.05), 0 10px 26px rgba(15,22,34,.05)}
.wplate-1:hover{box-shadow:0 2px 6px rgba(15,22,34,.06), 0 22px 50px rgba(15,22,34,.10)}
.wplate-2{background:linear-gradient(165deg,#EDF2FD 0%,#F5F8FE 52%,#FAFCFE 100%);
  border:1px solid rgba(43,92,230,.10)}
.wplate-3{background:linear-gradient(165deg,#F0F2F6 0%,#F6F8FA 52%,#FBFCFD 100%);
  border:1px solid rgba(15,22,34,.06)}
.wplate-4{background:linear-gradient(165deg,#E9EFFA 0%,#F3F7FD 52%,#FAFCFE 100%);
  border:1px solid rgba(43,92,230,.12)}
.wplate-2 .wglyph svg [stroke]{stroke:#A8BEF0}
.wplate-3 .wglyph svg [stroke]{stroke:#BAC2CE}
.wplate-4 .wglyph svg [stroke]{stroke:#9FB7EC}
@media (max-width:960px){.wplates{grid-template-columns:1fr}.wplate{padding:32px 26px 28px;min-height:0}}

/* ===========================================================
   v4.0 — stacked cards: squarer, taller, with arrows
   =========================================================== */
.stackwrap{max-width:520px}
.stackdeck{height:400px}
.sc{
  padding:40px 38px;border-radius:22px;
  display:flex;flex-direction:column;justify-content:center;
}
.sc h3{font-size:clamp(23px,2.3vw,29px);line-height:1.2;margin-bottom:14px}
.sc p{font-size:17px;line-height:1.5;max-width:34ch}
.sc[data-pos="1"]{transform:translateY(-16px) scale(.955)}
.sc[data-pos="2"]{transform:translateY(-32px) scale(.91)}
.sc[data-pos="3"]{transform:translateY(-48px) scale(.865)}

.stackbar{gap:22px}
.stacknav{
  width:42px;height:42px;border-radius:50%;cursor:pointer;flex:0 0 auto;
  border:1px solid var(--line);background:var(--paper);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.stacknav svg{width:15px;height:15px}
.stacknav:hover{background:var(--canvas-2);border-color:#C8D0DC}
.stacknav:active{transform:scale(.94)}
.stackdots button{width:9px;height:9px}
@media (max-width:560px){
  .stackdeck{height:440px}
  .sc{padding:30px 26px}
}

/* stack cards fill the deck so they read as squares, not slabs */
.sc{height:100%}
.stackdeck{height:380px}
@media (max-width:560px){.stackdeck{height:420px}}

/* ===========================================================
   v4.1 — announcement bar, FAQ
   =========================================================== */
.announce{
  background:var(--ink);color:rgba(255,255,255,.86);
  font-size:14.5px;letter-spacing:-.01em;
}
.announce .wrap{
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:11px 28px;flex-wrap:wrap;text-align:center;
}
.announce .tag{
  font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);
  background:var(--gate-pill, #FBCC24);padding:3px 10px;border-radius:999px;
}
.announce a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:7px;font-weight:500}
.announce a svg{width:13px;height:13px;transition:transform .18s ease}
.announce a:hover svg{transform:translateX(3px)}

/* FAQ */
.faq{margin-top:38px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;
  font-size:19px;font-weight:600;letter-spacing:-.016em;color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:6px;top:50%;width:13px;height:13px;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:translateY(-70%) rotate(45deg);transition:transform .22s ease;
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq summary:hover{color:var(--blue)}
.faq .a{padding:0 60px 26px 0;margin:0;font-size:16.5px;line-height:1.6;color:var(--body);max-width:74ch}
.faq .a + .a{padding-top:14px}
@media (max-width:760px){
  .faq summary{font-size:17.5px;padding-right:36px}
  .faq .a{padding-right:0;font-size:16px}
}

/* ===========================================================
   v4.2 — restore breathing room between sections
   =========================================================== */
/* the hero card no longer bleeds into the next band */
.hero-stage{margin:56px auto 0}
.hero-stage::after{bottom:-10px}
.hero3{padding-bottom:104px}
.hero3 + section{padding-top:96px}

@media (max-width:760px){
  .hero-stage{margin:36px auto 0}
  .hero3{padding-bottom:72px}
  .hero3 + section{padding-top:72px}
}

/* ===========================================================
   v4.3 — thesis, comparison, layer stack (new section shapes)
   =========================================================== */

/* --- thesis: an argument, set as prose --- */
.thesis{max-width:940px}
.thesis .t-lead{
  font-size:clamp(24px,2.9vw,38px);line-height:1.24;letter-spacing:-.024em;
  color:var(--ink);font-weight:600;margin:0 0 26px;max-width:22ch;
}
.thesis .say{
  font-size:clamp(17px,1.4vw,20px);line-height:1.58;color:var(--body);
  max-width:62ch;margin:0 0 18px;
}
.thesis .say b{color:var(--ink);font-weight:600}
.thesis-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:44px;padding-top:38px;border-top:1px solid var(--line)}
.thesis-split h3{font-size:19px;margin-bottom:10px}
.thesis-split p{font-size:16px;line-height:1.55;margin:0}
@media (max-width:860px){.thesis-split{grid-template-columns:1fr;gap:28px}}

/* --- why us: blunt comparison, no cards --- */
.why{margin-top:40px;border-top:1px solid var(--line)}
.why-row{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;
  padding:30px 0;border-bottom:1px solid var(--line);align-items:start;
}
.why-row h3{font-size:20px;letter-spacing:-.016em;margin:0}
.why-row p{margin:0;font-size:16.5px;line-height:1.55}
.why-row p b{color:var(--ink);font-weight:600}
.dark .why,.dark .why-row{border-color:rgba(255,255,255,.12)}
@media (max-width:860px){.why-row{grid-template-columns:1fr;gap:10px;padding:24px 0}}

/* --- layer stack --- */
.layers{margin-top:42px;display:grid;gap:20px}
.layer{
  display:grid;grid-template-columns:104px minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;
  background:var(--paper);border:1px solid var(--line);border-radius:20px;
  box-shadow:var(--shadow-1);padding:32px 34px;
}
.layer .lnum{
  font-size:15px;color:var(--muted);
}
.layer .lnum b{display:block;font-size:34px;font-weight:600;color:var(--ink);letter-spacing:-.03em;line-height:1;margin-bottom:6px}
.layer h3{font-size:22px;margin-bottom:10px;letter-spacing:-.018em}
.layer p{margin:0;font-size:16px;line-height:1.55}
.layer ul{list-style:none;margin:0;padding:0}
.layer li{
  font-size:15.5px;color:var(--body);padding:9px 0;border-bottom:1px solid var(--line-soft);
  display:flex;gap:11px;align-items:flex-start;
}
.layer li:last-child{border-bottom:0}
.layer li::before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-top:8px}
@media (max-width:960px){
  .layer{grid-template-columns:1fr;gap:18px;padding:26px 24px}
  .layer .lnum{display:flex;align-items:baseline;gap:10px}
  .layer .lnum b{margin-bottom:0}
}

/* emphasis inside the comparison rows must invert on dark */
.dark .why-row p b{color:#fff}
.dark .why-row p{color:rgba(255,255,255,.74)}

/* comparison deck: the "others / Argo" split inside each card */
.dcard .vs{
  font-size:14.5px;line-height:1.45;color:var(--muted);
  padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line-soft);
}
.dark .dcard .vs{color:rgba(255,255,255,.5);border-bottom-color:rgba(255,255,255,.12)}
.dcard .vs em{font-style:normal;font-weight:600;color:rgba(255,255,255,.72)}
.dcard.wide{flex:0 0 min(360px,84vw)}

/* ===========================================================
   v4.4 — thesis as a visual: the answer vs the work
   =========================================================== */
.thesis-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:56px;align-items:start}
.thesis-grid .say{font-size:17.5px;line-height:1.55;color:var(--body);max-width:46ch;margin:0 0 16px}
.thesis-grid .say b{color:var(--ink);font-weight:600}

.tcard{
  background:var(--paper);border:1px solid var(--line);border-radius:20px;
  box-shadow:var(--shadow-2);padding:26px 26px 22px;
}
.tstep-label{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:13.5px;color:var(--muted);margin-bottom:12px;
}
.tbubble{
  background:var(--canvas-2);border-radius:14px;padding:16px 18px;
  font-size:16px;color:var(--ink);line-height:1.45;
}
.tdivider{
  display:flex;align-items:center;gap:14px;margin:22px 0 14px;
  font-size:13.5px;color:var(--muted);
}
.tdivider::before,.tdivider::after{content:"";flex:1;height:1px;background:var(--line)}

/* the manual work, bracketed and labelled so the times are unambiguous */
.tbracket{
  position:relative;border-left:3px solid var(--blue);border-radius:4px;
  padding:6px 0 6px 18px;margin-top:6px;
}
.tbracket-tag{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;
  font-size:13px;font-weight:600;color:var(--blue);
  background:rgba(43,92,230,.10);padding:5px 12px;border-radius:999px;
}
.thead{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  font-size:12.5px;color:var(--muted);padding:0 2px 6px;
}
.twork{list-style:none;margin:0;padding:0}
.twork li{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:11px 2px;border-bottom:1px solid var(--line-soft);font-size:16px;color:var(--ink);
}
.twork li:last-child{border-bottom:0}
.twork .t{font-family:var(--mono);font-size:12.5px;color:var(--muted);flex:0 0 auto}
.ttotals{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;padding-top:16px;
  border-top:1px solid var(--line);
}
.ttotals .k{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px}
.ttotals .v{font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.014em}
.ttotals .now .v{color:var(--body);font-weight:500}
@media (max-width:520px){.ttotals{grid-template-columns:1fr;gap:12px}}

/* glossary strip: two terms, clearly labelled and attached */
.glossary{
  margin-top:34px;background:var(--canvas-2);border:1px solid var(--line);
  border-radius:18px;padding:24px 28px 22px;
  display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;
}
.gl-label{font-size:13.5px;font-weight:600;color:var(--muted);padding-top:2px}
.glossary dl{margin:0}
.glossary dt{font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.014em;margin-bottom:5px}
.glossary dd{margin:0;font-size:15.5px;line-height:1.5;color:var(--body)}
@media (max-width:960px){
  .thesis-grid{grid-template-columns:1fr;gap:30px}
  .glossary{grid-template-columns:1fr;gap:18px}
}

/* ===========================================================
   v4.5 — current page marker in the nav
   =========================================================== */
nav.main > a[aria-current="page"],
nav.main .menu[data-current="true"] > button{
  color:var(--ink);font-weight:600;position:relative;
}
nav.main > a[aria-current="page"]::after,
nav.main .menu[data-current="true"] > button::after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;
  border-radius:2px;background:var(--blue);
}
nav.main .menu[data-current="true"] > button::after{right:26px}
.menu-panel a[aria-current="page"] .nm{color:var(--blue)}
.menu-panel a[aria-current="page"]{background:var(--blue-soft)}

/* the underline belongs to the top-level nav, not to items inside the dropdown */
.menu-panel a[aria-current="page"]::after{content:none}

/* ===========================================================
   v4.6 — why-argo: tab rail + comparison pane
   =========================================================== */
.whypanel{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);
  border-radius:24px;padding:32px;margin-top:38px;
  display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start;
}
.whytabs{display:flex;flex-direction:column;gap:6px}
.whytab{
  display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;
  background:transparent;border:0;border-radius:14px;padding:13px 14px;
  font-family:var(--text);font-size:16px;color:rgba(255,255,255,.62);letter-spacing:-.012em;
  transition:background .18s ease,color .18s ease;
}
.whytab:hover{background:rgba(255,255,255,.05);color:#fff}
.whytab[aria-selected="true"]{background:rgba(255,255,255,.09);color:#fff;font-weight:600}
.whytab .ic{
  width:34px;height:34px;border-radius:10px;flex:0 0 auto;
  background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;
}
.whytab .ic svg{width:17px;height:17px;color:rgba(255,255,255,.7)}
.whytab[aria-selected="true"] .ic{background:var(--blue)}
.whytab[aria-selected="true"] .ic svg{color:#fff}

.whypane{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  border-radius:18px;padding:36px 36px 32px;min-height:360px;
}
.whypane[hidden]{display:none}
.whypane h3{
  font-size:clamp(26px,3vw,38px);line-height:1.1;letter-spacing:-.026em;color:#fff;margin:0 0 14px;max-width:18ch;
}
.whypane h3 span{display:block;color:rgba(255,255,255,.52);font-weight:600}
.whypane .lede{color:rgba(255,255,255,.72);max-width:52ch;margin:0 0 30px;font-size:16.5px}

.cmp{display:grid;gap:18px}
.cmp-row .lab{
  display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
  color:rgba(255,255,255,.45);margin-bottom:10px;text-transform:uppercase;
}
.cmp-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cmp-chips span{
  font-size:13.5px;color:rgba(255,255,255,.62);background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);padding:8px 13px;border-radius:9px;
}
.cmp-chips .arrow{background:none;border:0;padding:0 2px;color:rgba(255,255,255,.3)}
.cmp-row.ours .cmp-chips span{color:#DCE5FF;background:rgba(43,92,230,.20);border-color:rgba(110,147,255,.42)}
.cmp-row.ours .cmp-chips .arrow{background:none;border:0;color:rgba(255,255,255,.35)}
.cmp-verdict{
  display:inline-flex;align-items:center;gap:8px;margin-left:6px;
  font-size:13.5px;font-weight:600;
}
.cmp-row.theirs .cmp-verdict{color:rgba(255,255,255,.45)}
.cmp-row.ours .cmp-verdict{color:#9DB4FF}
@media (max-width:960px){
  .whypanel{grid-template-columns:1fr;padding:20px}
  .whytabs{flex-direction:row;overflow-x:auto;gap:8px}
  .whytab{flex:0 0 auto;padding:10px 14px}
  .whytab .ic{display:none}
  .whypane{padding:26px 22px 24px;min-height:0}
}

/* ===========================================================
   v4.7 — founder story: prose, deliberately unlike the rest
   =========================================================== */
.story{max-width:640px}
.story .open{
  font-size:clamp(21px,2.2vw,26px);line-height:1.34;letter-spacing:-.02em;
  color:var(--ink);font-weight:600;margin:0 0 26px;
}
.story p{font-size:17.5px;line-height:1.62;color:var(--body);margin:0 0 20px}
.story .quote-line{
  font-size:clamp(20px,2.1vw,25px);line-height:1.34;letter-spacing:-.018em;
  color:var(--ink);font-weight:600;margin:34px 0;padding-left:22px;
  border-left:3px solid var(--blue);max-width:34ch;
}
.story .sig{
  margin-top:34px;padding-top:22px;border-top:1px solid var(--line);
  font-size:16px;color:var(--body);
}
.story .sig b{color:var(--ink);font-weight:600;display:block;margin-bottom:2px}
@media (max-width:760px){
  .story .quote-line{padding-left:16px;margin:26px 0}
}

/* FAQ questions: lighter and smaller so the list reads calmly */
.faq summary{
  font-size:17px;font-weight:500;letter-spacing:-.014em;
  padding:20px 44px 20px 0;
}
.faq summary::after{width:11px;height:11px;border-width:1.6px}
.faq details[open] summary{font-weight:600}
.faq .a{padding-bottom:24px;font-size:16.5px}
@media (max-width:760px){.faq summary{font-size:16.5px;padding:18px 34px 18px 0}}

/* ===========================================================
   v4.8 — mobile: real navigation, tighter type, calmer sections
   =========================================================== */
.navtoggle{display:none}

@media (max-width:860px){
  /* ---- header ---- */
  .head{height:58px;gap:12px}
  .lock .mk{height:24px}
  .lock .wd{height:16px}
  .navtoggle{
    display:flex;margin-left:auto;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:12px;border:1px solid var(--line);
    background:var(--paper);cursor:pointer;padding:0;
  }
  .navtoggle .bars{display:block;width:18px}
  .navtoggle i{
    display:block;height:2px;background:var(--ink);border-radius:2px;margin:4px 0;
    transition:transform .22s ease,opacity .18s ease;
  }
  .navtoggle[aria-expanded="true"] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .navtoggle[aria-expanded="true"] i:nth-child(2){opacity:0}
  .navtoggle[aria-expanded="true"] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  nav.main{
    position:fixed;left:0;right:0;top:var(--navtop,58px);
    display:block;background:var(--paper);border-bottom:1px solid var(--line);
    padding:8px 20px 20px;box-shadow:0 20px 40px rgba(15,22,34,.10);
    max-height:calc(100vh - 58px);overflow-y:auto;
    transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
  }
  nav.main.open{transform:none;opacity:1;visibility:visible;pointer-events:auto}
  nav.main a{display:block;padding:14px 4px;font-size:17px;border-radius:0;border-bottom:1px solid var(--line-soft)}
  nav.main a:hover{background:transparent}
  nav.main .btn{
    display:flex;justify-content:center;margin:16px 0 0 !important;border-bottom:0;
    padding:14px 22px;font-size:16px;
  }
  .menu{display:block}
  .menu > button{
    width:100%;justify-content:space-between;padding:14px 4px;font-size:17px;
    border-bottom:1px solid var(--line-soft);border-radius:0;
  }
  .menu-panel{
    position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;
    box-shadow:none;border:0;padding:2px 0 6px 12px;min-width:0;width:auto;background:transparent;
  }
  .menu-panel a{padding:12px 4px}
  .menu-panel .ds{display:none}

  /* ---- announcement bar: short on small screens ---- */
  .announce .wrap{padding:9px 20px;gap:9px;flex-wrap:nowrap}
  .announce .msg{display:none}
  .announce a{white-space:nowrap}

  /* ---- typography and rhythm ---- */
  h1{font-size:clamp(32px,8.4vw,42px);line-height:1.06}
  h2{font-size:clamp(25px,6.6vw,32px);line-height:1.12}
  .lede{font-size:16.5px}
  section{padding:56px 0}
  .tight{padding:48px 0}
  .wrap{padding:0 20px}
  .shead{margin-bottom:4px}

  /* ---- cards and grids ---- */
  .card{padding:22px 20px}
  .grid{gap:14px}
  .plate{min-height:0;padding:30px 24px 26px}
  .plate .glyph{margin-top:22px;max-width:170px}

  /* ---- decks: full-width cards, snap, edge hint ---- */
  .deck{padding-bottom:6px}
  .dcard,.ncard,.sim{flex:0 0 86vw}
  .deck-head{flex-direction:column;align-items:flex-start;gap:14px}
  .deck-nav{margin-left:0}

  /* ---- diagrams: scrollable with a visible hint ---- */
  .flowcard .scroll,.hero-card .scroll,.stage-card .scroll{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .flowcard .scroll::-webkit-scrollbar,.hero-card .scroll::-webkit-scrollbar{display:none}
  .scrollnote{
    display:block;margin-top:10px;font-size:12.5px;color:var(--muted);
  }

  /* ---- forms ---- */
  .field input,.field select,.field textarea{font-size:16px}  /* stops iOS zoom */
  .btns .btn{width:100%;justify-content:center}
}

@media (min-width:861px){.scrollnote{display:none}}

@media (max-width:860px){
  /* why-argo: tabs scroll horizontally and show they can be scrolled */
  .whypanel{padding:16px;gap:16px;border-radius:20px}
  .whytabs{
    gap:8px;padding-bottom:4px;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .whytabs::-webkit-scrollbar{display:none}
  .whytab{
    scroll-snap-align:start;font-size:15px;padding:10px 15px;border-radius:999px;
    border:1px solid rgba(255,255,255,.12);white-space:nowrap;
  }
  .whytab[aria-selected="true"]{border-color:transparent}
  .whypane{padding:22px 20px 20px;border-radius:16px}
  .whypane h3{font-size:24px;margin-bottom:10px}
  .whypane .lede{font-size:16px;margin-bottom:22px}
  /* the arrows read as noise once the chips wrap */
  .cmp-chips .arrow{display:none}
  .cmp-chips{gap:7px}
  .cmp-chips span{font-size:13px;padding:7px 11px}
  .cmp-verdict{margin-left:0;width:100%;margin-top:4px}
}

@media (max-width:860px){
  .whytabs{display:flex;flex-direction:row;overflow-x:auto}
  .whytab{flex:0 0 auto;width:auto}
}

@media (max-width:860px){
  /* sticky header can hide anchored targets and section tops */
  html{scroll-padding-top:70px}

  /* diagrams: show they scroll, and keep the card from feeling cramped */
  .flowcard,.stage-card,.hero-card{padding:18px 16px 16px}
  .stage-cap,.flowlegend{gap:14px}
  .flowlegend{grid-template-columns:1fr 1fr !important;gap:16px 14px}
  .stage-cap{flex-direction:column;gap:8px}

  /* tables of pills wrap rather than overflow */
  .eco-row{grid-template-columns:1fr;gap:8px;padding:14px 14px}
  .eco-row .items span{font-size:13.5px;padding:6px 11px}
  .eco{padding:4px 4px}

  /* thesis card */
  .tcard{padding:20px 18px 18px}
  .tbubble{font-size:15px;padding:14px 15px}
  .twork li{font-size:15px;padding:10px 2px;gap:10px}
  .thead{font-size:11.5px}
  .glossary{padding:20px 20px 18px;border-radius:16px}

  /* founder story reads better slightly tighter */
  .story p{font-size:16.5px;line-height:1.6}
  .story .open{font-size:21px}
  .story .quote-line{font-size:19px}

  /* use-case steps */
  .fcase{padding:22px 18px 20px}
  .fsteps li{font-size:15px;gap:12px}
  .fsteps .sn{width:24px;height:24px;font-size:12px}
  .fsteps .you{font-size:11.5px;padding:3px 8px}

  /* security grid, gates, team */
  .checks{grid-template-columns:1fr;gap:12px}
  .team{grid-template-columns:1fr 1fr;gap:14px}
  .tcard .photo{aspect-ratio:1}
  .gate{grid-template-columns:44px 1fr;gap:16px;padding:20px 0}
  .scards{gap:14px}
  .layer{padding:22px 20px}

  /* footer */
  .fgrid{grid-template-columns:1fr 1fr;gap:26px}
  .fbase{flex-direction:column;gap:10px}
}

@media (max-width:860px){
  /* tap targets: nothing interactive under ~44px */
  .announce a{padding:8px 2px;min-height:38px;display:inline-flex;align-items:center}
  .menu > button{min-height:48px}
  .whytab{min-height:44px}
  .chip-btn{min-height:44px;padding:11px 16px}
  .stackdots{gap:14px}
  .stackdots button{width:14px;height:14px;position:relative}
  .stackdots button::after{content:"";position:absolute;inset:-13px}
  .footer-legal a,.fbase a{padding:6px 0;display:inline-block}
  footer.site li a{padding:8px 0;display:inline-block}
  .prod .go,.plate .pgo{min-height:44px;align-items:center}
}

@media (max-width:860px){
  .plate .pgo,.prod .go{min-height:44px;display:inline-flex}
  .stackdots button{width:16px;height:16px}
  .stackdots button::after{inset:-14px}
}

/* ---------- harness diagram ---------- */
.hx-zone{fill:rgba(15,22,34,.030);stroke:#CBD4E1;stroke-width:1.4}
.hx-bx{fill:#FFFFFF;stroke:#CBD4E1;stroke-width:1.4}
.hx-ghost{fill:#FFFFFF;stroke:#CBD4E1;stroke-width:1.4;stroke-dasharray:5 5;opacity:.55}
.hx-ghost-t{opacity:.55}
.hx-ghost2{fill:#FFFFFF;stroke:#CBD4E1;stroke-width:1.4;stroke-dasharray:5 5;opacity:.22}
.hx-more{font-family:var(--text);font-size:13px;font-weight:500;fill:#6F7C91}
.hx-more2{font-family:var(--mono);font-size:11.5px;fill:#8B97AB}
.hx-bx2{fill:#F2F5FA;stroke:#CBD4E1;stroke-width:1.4}
.hx-t{font-family:var(--mono);font-size:12px;fill:#4A5568}
.hx-lbl{font-family:var(--text);font-size:12.5px;font-weight:500;fill:#6F7C91}
.hx-mini{font-family:var(--text);font-size:12px;fill:#8B97AB}
.hx-ln{stroke:#B9C4DA;stroke-width:1.5;fill:none}
.hx-dot{fill:#2B5CE6}
.hx-dk{fill:#0F1622}
.hx-name{font-family:var(--text);font-size:17px;font-weight:600;fill:#fff}
.hx-sub{font-family:var(--mono);font-size:11.5px;fill:#8FA0BC}
.hx-row{fill:rgba(255,255,255,.07)}
.hx-dt{font-family:var(--mono);font-size:12px;fill:#C9D2E0}
.hx-gate{fill:#FBCC24}
.hx-gt{font-family:var(--mono);font-size:12px;fill:#0F1622;font-weight:500}
.hx-inner{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.18);stroke-width:1.3}
@media (prefers-reduced-motion:reduce){.hx-dot{display:none}}

/* ---------- platform stack diagram ---------- */
.px-bx{fill:#FFFFFF;stroke:#CBD4E1;stroke-width:1.4}
.px-ghost{fill:#FFFFFF;stroke:#CBD4E1;stroke-width:1.4;stroke-dasharray:5 5;opacity:.5}
.px-ghost-t{font-family:var(--mono);font-size:12.5px;fill:#4A5568;opacity:.5}
.px-t{font-family:var(--mono);font-size:12.5px;fill:#4A5568}
.px-lbl{font-family:var(--text);font-size:13px;font-weight:500;fill:#6F7C91}
.px-ln{stroke:#B9C4DA;stroke-width:1.5;fill:none}
.px-dot{fill:#2B5CE6}
.px-dk{fill:#0F1622}
.px-name{font-family:var(--text);font-size:18px;font-weight:600;fill:#fff}
.px-sub{font-family:var(--mono);font-size:11.5px;fill:#8FA0BC}
.px-chip{fill:rgba(255,255,255,.07)}
.px-chip-t{font-family:var(--mono);font-size:12.5px;fill:#C9D2E0}
.px-chip-hot{fill:#FBCC24}
.px-chip-ht{font-family:var(--mono);font-size:12.5px;fill:#0F1622;font-weight:500}
@media (prefers-reduced-motion:reduce){.px-dot{display:none}}

/* the platform hero diagram needs room; it sits in a half-width card */
.hero-wash .hero-figure{max-width:none}
@media (min-width:961px){
  .hero-wash .wrap > .hero-split{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:44px}
}
@media (max-width:860px){
  .hx-lbl,.px-lbl{font-size:11.5px}
  .hx-t,.px-t,.hx-dt,.px-chip-t{font-size:11px}
  .hx-mini{font-size:10.5px}
}


/* ===========================================================
   v4.9 — sovereignty: one choice open at a time
   =========================================================== */
.sov{margin-top:34px;border-top:1px solid var(--line)}
.sovrow{border-bottom:1px solid var(--line)}
.sovhead{
  width:100%;display:flex;align-items:center;gap:18px;padding:26px 4px;cursor:pointer;
  background:none;border:0;text-align:left;font-family:var(--text);
}
.sovhead .ic{
  width:42px;height:42px;border-radius:12px;background:var(--canvas-2);flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;color:var(--ink);
  transition:background .24s ease,color .24s ease;
}
.sovhead .ic svg{width:20px;height:20px}
.sovhead .nm{font-size:22px;font-weight:600;letter-spacing:-.018em;color:var(--ink);flex:0 0 auto;min-width:132px}
.sovhead .cl{font-size:17px;color:var(--body);letter-spacing:-.012em}
.sovhead .chev{
  margin-left:auto;width:11px;height:11px;flex:0 0 auto;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:translateY(-3px) rotate(45deg);transition:transform .26s ease;
}
.sovrow[data-open="true"] .chev{transform:translateY(2px) rotate(-135deg)}
.sovrow[data-open="true"] .ic{background:var(--blue);color:#fff}
.sovhead:hover .nm{color:var(--blue)}

.sovbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s cubic-bezier(.2,.8,.3,1)}
.sovrow[data-open="true"] .sovbody{grid-template-rows:1fr}
.sovinner{overflow:hidden}
.sovtheirs{
  display:flex;gap:10px;align-items:center;margin:0 4px 20px 78px;padding:12px 14px;
  background:var(--canvas-2);border-radius:10px;font-size:14.5px;color:var(--muted);
}
.sovtheirs svg{width:13px;height:13px;flex:0 0 auto}
.sovgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;padding:0 4px 30px 78px}
.sovfact{padding:14px 0;border-top:1px solid var(--line-soft)}
.sovfact b{display:block;font-size:15px;color:var(--ink);margin-bottom:4px;font-weight:600}
.sovfact span{font-size:15.5px;color:var(--body);line-height:1.5}

@media (max-width:860px){
  .sovhead{gap:13px;padding:20px 2px;min-height:64px}
  .sovhead .nm{min-width:0;font-size:19px}
  .sovhead .cl{display:none}
  .sovhead .ic{width:38px;height:38px}
  .sovtheirs{margin:0 2px 16px 2px;font-size:14px}
  .sovgrid{grid-template-columns:1fr;padding:0 2px 22px 2px}
  .sovfact span{font-size:15px}
}


/* ===========================================================
   v5.0 — capacity you own
   =========================================================== */
.mband{
  position:relative;overflow:hidden;background:var(--paper);
  border:1px solid var(--line);border-radius:26px;padding:44px 46px 38px;margin-top:32px;
  box-shadow:var(--shadow-2);
}
.msplit{display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:center}
.mband h3{font-size:clamp(25px,2.8vw,36px);line-height:1.08;letter-spacing:-.028em;margin-bottom:16px;max-width:15ch}
.mlede{font-size:17.5px;line-height:1.5;color:var(--body);max-width:38ch;margin:0 0 28px}
.mrows{list-style:none;margin:0;padding:0}
.mrows li{
  display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:baseline;
  padding:14px 10px;border-top:1px solid var(--line);border-radius:10px;
  transition:background .2s ease,transform .2s ease;
}
.mrows li:hover{background:var(--canvas-2);transform:translateX(4px)}
.mrows .rk{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.mrows .rv b{display:block;font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.014em}
.mrows .rv em{display:block;font-style:normal;font-size:14.5px;color:var(--muted);margin-top:2px}
.mart svg{width:100%;height:auto;display:block}
.cf-cell{fill:#E7EBF2}
.cf-own{fill:#2B5CE6}
.cf-ring{fill:none;stroke:rgba(43,92,230,.45);stroke-width:1.4}

@media (max-width:860px){
  .mband{padding:26px 20px 22px;border-radius:20px}
  .msplit{grid-template-columns:1fr;gap:26px}
  .mband h3{font-size:24px}
  .mlede{font-size:16.5px;margin-bottom:20px}
  .mrows li{grid-template-columns:78px 1fr;gap:14px;padding:13px 6px}
  .mrows .rv b{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .cf-own{opacity:1 !important}
  .cf-own animate{display:none}
  .mrows li{transition:none}
}


/* ===========================================================
   v2.6.0 — parallax and microinteractions
   =========================================================== */

/* scroll progress, sits under the announcement bar */
.progress{
  position:fixed;top:0;left:0;height:2px;width:100%;z-index:200;
  background:linear-gradient(90deg,var(--blue),#6E93FF);
  transform:scaleX(0);transform-origin:0 50%;
  transition:opacity .3s ease;opacity:0;pointer-events:none;
}
.progress.on{opacity:1}

/* elements that drift against the scroll */
[data-par]{will-change:transform}

/* hero: the card lags the page slightly and settles as it arrives */
.hero-stage{
  transform:translate3d(0,var(--par,0px),0) scale(var(--parscale,1));
  transform-origin:50% 0;
}
.hero3 .wrap{
  transform:translate3d(0,calc(var(--heropar,0px) * -1),0);
  opacity:var(--herofade,1);
}
/* the wash drifts more slowly than the content above it */
.hero3{background-position:center calc(var(--washpar,0px))}
.hero3 .dots{transform:translate3d(0,calc(var(--washpar,0px) * .5),0)}

/* the photo band shifts inside its frame */
.breather{position:relative;overflow:hidden}
.breather img{
  transform:translate3d(0,var(--par,0px),0) scale(1.14);
  will-change:transform;
}

/* --- microinteractions ------------------------------------ */

/* pointer spotlight on the product plates */
.plate{position:relative;isolation:isolate}
.plate::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  opacity:0;transition:opacity .35s ease;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),
             rgba(43,92,230,.13), rgba(43,92,230,0) 62%);
}
.plate:hover::after{opacity:1}
.plate .pgo svg{transition:transform .3s cubic-bezier(.2,.8,.3,1)}
.plate:hover .pgo svg{transform:translateX(5px)}
.plate .glyph{transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .4s ease}
.plate:hover .glyph{transform:translateY(-5px);opacity:.75}

/* buttons lean toward the cursor, then spring back */
.btn[data-mag]{will-change:transform}
.btn-primary:active,.btn-light:active,.btn-ghost:active{transform:translateY(1px) scale(.985)}

/* nav underline grows from the left */
nav.main > a{position:relative}
nav.main > a::before{
  content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;
  background:var(--blue);border-radius:2px;
  transform:scaleX(0);transform-origin:0 50%;transition:transform .26s cubic-bezier(.2,.8,.3,1);
}
nav.main > a:hover::before{transform:scaleX(1)}
nav.main > a[aria-current="page"]::before{transform:scaleX(1)}

/* ecosystem chips lift one at a time under the pointer */
.eco-row .items span{transition:transform .2s ease,background .2s ease,color .2s ease}
.eco-row .items span:hover{transform:translateY(-2px);background:#E3EAF8;color:var(--ink)}

/* FAQ rows slide slightly as you sweep them */
.faq summary{transition:padding-left .22s ease,color .2s ease}
.faq summary:hover{padding-left:8px}

/* the work list highlights row by row as the card scrolls in */
.twork li{transition:background .4s ease,color .4s ease;border-radius:8px}
.twork li.lit{background:var(--canvas-2)}
.twork li.lit .t{color:var(--ink);font-weight:600}

/* staggered entrance for anything in a grid */
.js .stagger > *{opacity:0;transform:translateY(16px)}
.js .stagger.in > *{
  opacity:1;transform:none;
  transition:opacity .55s cubic-bezier(.2,.7,.3,1),transform .55s cubic-bezier(.2,.7,.3,1);
  transition-delay:calc(var(--i,0) * 90ms);
}

@media (prefers-reduced-motion:reduce){
  [data-par],.hero-stage,.hero3 .wrap,.breather img{transform:none !important}
  .progress{display:none}
  .js .stagger > *{opacity:1;transform:none}
  .plate::after{display:none}
}


/* ===========================================================
   v2.6.1 — motion layer across the rest of the site
   =========================================================== */

/* product hero figures drift gently against their section */
.hero-figcard,.hero-photo-sm{transform:translate3d(0,var(--par,0px),0);will-change:transform}

/* cards lift under the pointer, wherever they are */
.card,.tcard,.check,.scard,.layer,.wplate,.fcase{
  transition:transform .26s cubic-bezier(.2,.8,.3,1),
             box-shadow .26s ease, border-color .26s ease;
}
.card:hover,.check:hover,.scard:hover,.layer:hover,.wplate:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(15,22,34,.09);
}
.dark .card:hover{box-shadow:0 16px 34px rgba(0,0,0,.34)}

/* leadership portraits ease in rather than snapping */
.tcard .photo img{transition:transform .5s cubic-bezier(.2,.8,.3,1),filter .4s ease}
.tcard:hover .photo img{transform:scale(1.05)}

/* deck arrows acknowledge the press */
.deck-nav button,.stacknav{transition:transform .16s ease,background .18s ease,border-color .18s ease}
.deck-nav button:active,.stacknav:active{transform:scale(.92)}

/* filter chips settle rather than jump */
.chip-btn{transition:background .2s ease,border-color .2s ease,color .2s ease,transform .18s ease}
.chip-btn:active{transform:scale(.97)}

/* the numbered use-case steps nudge on hover */
.fsteps li{transition:transform .2s ease}
.fsteps li:hover{transform:translateX(4px)}

/* gate rows on Trust respond to the pointer */
.gate{transition:background .22s ease,transform .22s ease;border-radius:12px}
.gate:hover{background:rgba(255,255,255,.04);transform:translateX(4px)}

/* ecosystem and pill rows */
.prod .pills span,.ncard .tags span{transition:transform .18s ease,background .18s ease}
.prod .pills span:hover,.ncard .tags span:hover{transform:translateY(-2px)}

/* the contact form fields focus with a soft ring rather than a hard outline */
.field input,.field select,.field textarea{transition:border-color .2s ease,box-shadow .2s ease}
.field input:focus,.field select:focus,.field textarea:focus{
  box-shadow:0 0 0 4px rgba(43,92,230,.12);
}

@media (prefers-reduced-motion:reduce){
  .hero-figcard,.hero-photo-sm{transform:none !important}
  .card,.tcard,.check,.scard,.layer,.wplate,.fcase,
  .fsteps li,.gate,.prod .pills span,.ncard .tags span{transition:none !important}
  .card:hover,.check:hover,.scard:hover,.layer:hover,.wplate:hover,
  .fsteps li:hover,.gate:hover{transform:none !important}
}


/* ===========================================================
   v2.7.0 — the first meeting, and the ecosystem hub
   =========================================================== */

/* --- megaphone and quote stack --- */
.heard{
  position:relative;overflow:hidden;border-radius:26px;margin-top:34px;padding:56px 52px 60px;
  background:
    radial-gradient(620px 380px at 12% 20%, rgba(43,92,230,.16), rgba(43,92,230,0) 62%),
    radial-gradient(560px 360px at 88% 78%, rgba(251,204,36,.14), rgba(251,204,36,0) 60%),
    linear-gradient(160deg,#EEF2F9 0%, #F7F9FC 60%, #EFF3F9 100%);
  border:1px solid var(--line);
}
.heard::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(15,22,34,.055) 1px, transparent 1.3px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(circle at 30% 40%,#000 0%,transparent 72%);
  mask-image:radial-gradient(circle at 30% 40%,#000 0%,transparent 72%);
}
.heard > *{position:relative;z-index:1}
.hsplit{display:grid;grid-template-columns:270px minmax(0,1fr);gap:56px;align-items:center}
.mg{width:100%;max-width:240px}
.mg svg{width:100%;height:auto;display:block;overflow:visible}
.mg-horn{fill:var(--ink)}
.mg-grip{fill:#33415A}
.mg-handle{fill:none;stroke:var(--ink);stroke-width:7;stroke-linecap:round}
.mg-body{transform-origin:70px 100px;animation:mgnudge 4.6s ease-in-out infinite}
@keyframes mgnudge{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
.mg-w{fill:none;stroke:#8B97AB;stroke-width:4.5;stroke-linecap:round;opacity:0}
.w1{animation:mgw 2.4s ease-out infinite}
.w2{animation:mgw 2.4s ease-out infinite .28s}
.w3{animation:mgw 2.4s ease-out infinite .56s}
@keyframes mgw{0%{opacity:0;transform:translateX(-6px)}25%{opacity:.85}70%{opacity:0;transform:translateX(10px)}100%{opacity:0}}

.qstack{position:relative;height:290px;cursor:pointer}
.qcard{
  position:absolute;inset:0;background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.85);border-radius:22px;padding:36px 38px 32px;
  box-shadow:0 2px 6px rgba(15,22,34,.05), 0 28px 60px rgba(15,22,34,.13);
  backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  transition:transform .62s cubic-bezier(.2,.8,.28,1), opacity .5s ease, filter .5s ease;
  transform-origin:50% 100%;
}
.qcard[data-pos="0"]{transform:none;opacity:1;z-index:3}
.qcard[data-pos="1"]{transform:translate3d(26px,-22px,0) rotate(3.2deg) scale(.955);opacity:.72;z-index:2;filter:saturate(.8)}
.qcard[data-pos="2"]{transform:translate3d(50px,-42px,0) rotate(6.4deg) scale(.91);opacity:.45;z-index:1;filter:saturate(.65)}
.qmark{display:block;font-size:46px;line-height:.6;color:var(--muted);opacity:.45;margin-bottom:14px;font-family:Georgia,serif}
.qt{font-size:clamp(20px,2.1vw,26px);line-height:1.24;letter-spacing:-.02em;color:var(--ink);font-weight:600;margin:0 0 14px;max-width:24ch}
.qs{font-size:16px;line-height:1.5;color:var(--body);margin:0;max-width:40ch}
.qcard[data-pos="1"] .qs,.qcard[data-pos="2"] .qs{opacity:0}
.qbar{display:flex;align-items:center;gap:12px;margin-top:26px}
.qdots{display:flex;gap:9px}
.qdots button{
  width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;position:relative;
  background:#C7D0DE;transition:background .2s ease,transform .2s ease;
}
.qdots button::after{content:"";position:absolute;inset:-12px}
.qdots button[aria-current="true"]{background:var(--blue);transform:scale(1.25)}

/* --- ecosystem hub --- */
.eco2{
  position:relative;margin-top:36px;padding:34px 30px;
  background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-1);
  display:grid;grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr);gap:40px;align-items:center;
}
.eco-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.eco2 > *:not(.eco-wires){position:relative;z-index:1}
.hub{background:var(--ink);color:#fff;border-radius:20px;padding:24px 22px;box-shadow:0 18px 40px rgba(15,22,34,.20)}
.hub .nm{font-size:20px;font-weight:600;letter-spacing:-.016em;display:block;margin-bottom:4px}
.hub .sub{font-family:var(--mono);font-size:11.5px;color:#8FA0BC;display:block;margin-bottom:16px}
.hub .ways{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.hub .ways li{font-family:var(--mono);font-size:11.5px;color:#C9D2E0;background:rgba(255,255,255,.07);border-radius:7px;padding:7px 10px}
.bkts{display:grid;gap:12px}
.bkt{
  background:var(--canvas-2);border:1px solid var(--line);border-radius:16px;padding:15px 16px 13px;
  transition:transform .24s cubic-bezier(.2,.8,.3,1),border-color .24s ease,box-shadow .24s ease,background .24s ease;
}
.bkt:hover{transform:translateY(-3px);background:#fff;border-color:rgba(43,92,230,.34);box-shadow:0 14px 30px rgba(15,22,34,.09)}
.bkt-k{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:10px}
.bkt-chips{display:flex;flex-wrap:wrap;gap:6px}
.bkt-chips span{
  font-size:12.5px;color:var(--body);background:#fff;border:1px solid var(--line);
  padding:5px 10px;border-radius:999px;transition:transform .18s ease,border-color .18s ease;
}
.bkt:hover .bkt-chips span{border-color:#D3DCEA}
.bkt-chips span:hover{transform:translateY(-2px);border-color:rgba(43,92,230,.4)}
.bkt-chips .more{
  background:transparent;border:0;color:var(--muted);letter-spacing:.14em;
  padding:5px 6px;font-size:14px;line-height:1;display:inline-flex;align-items:center;
}
.bkt-chips .more:hover{transform:none}
.bkt:hover .bkt-chips .more{color:var(--blue)}
.bkt.ghost{background:transparent;border-style:dashed}
.bkt.ghost .bkt-k{color:var(--muted)}
.bkt.ghost .bkt-chips span{background:transparent;border-style:dashed;color:var(--muted)}
.wire{fill:none;stroke:#C6D0E0;stroke-width:1.5;transition:stroke .25s ease,stroke-width .25s ease}
.wire.lit{stroke:var(--blue);stroke-width:2.2}
.wire.ghost{stroke-dasharray:5 6}
.pip{fill:#8B97AB}
.pip.lit{fill:var(--blue)}
.eco-foot{margin-top:22px;display:flex;gap:26px;flex-wrap:wrap;font-size:14.5px;color:var(--muted)}
.eco-foot b{color:var(--ink);font-weight:600}

@media (max-width:900px){
  .heard{padding:28px 20px 30px;border-radius:20px}
  .hsplit{grid-template-columns:1fr;gap:24px}
  .mg{max-width:150px}
  .qstack{height:320px}
  .qcard{padding:26px 22px 24px;border-radius:18px}
  .qcard[data-pos="1"]{transform:translate3d(14px,-14px,0) rotate(2.4deg) scale(.96)}
  .qcard[data-pos="2"]{transform:translate3d(28px,-27px,0) rotate(4.8deg) scale(.92)}
  .eco2{grid-template-columns:1fr;gap:16px;padding:22px 18px}
  .eco-wires{display:none}
  .hub{order:-1;padding:18px}
  .eco-foot{gap:10px;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  .mg-body,.mg-w{animation:none}
  .mg-w{opacity:.5}
  .qcard,.bkt{transition:none}
  .pip{display:none}
}


/* ===========================================================
   v2.7.1 — security review: checklist anchor, rotating answers
   =========================================================== */
.sec{
  position:relative;overflow:hidden;margin-top:34px;padding:44px 46px 46px;border-radius:26px;
  background:
    radial-gradient(560px 340px at 82% 16%, rgba(43,92,230,.14), rgba(43,92,230,0) 62%),
    linear-gradient(160deg,#EEF2F9 0%, #F8FAFC 62%, #EFF3F9 100%);
  border:1px solid var(--line);
}
.sec::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(15,22,34,.05) 1px, transparent 1.3px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(circle at 22% 30%,#000 0%,transparent 70%);
  mask-image:radial-gradient(circle at 22% 30%,#000 0%,transparent 70%);
}
.sec > *{position:relative;z-index:1}
.ssplit{display:grid;grid-template-columns:330px minmax(0,1fr);gap:48px;align-items:start}

.sheet{
  background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);border-radius:20px;
  padding:22px 20px 18px;backdrop-filter:blur(14px) saturate(150%);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  box-shadow:0 2px 6px rgba(15,22,34,.05), 0 20px 44px rgba(15,22,34,.10);
}
.sheet-hd{display:flex;align-items:center;gap:11px;padding:0 6px 14px;border-bottom:1px solid var(--line)}
.sheet-hd .sh{width:30px;height:30px;border-radius:9px;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.sheet-hd .sh svg{width:17px;height:17px}
.sh-tick{stroke-dasharray:16;stroke-dashoffset:16;animation:shdraw 5.4s ease-in-out infinite}
@keyframes shdraw{0%{stroke-dashoffset:16}22%{stroke-dashoffset:0}82%{stroke-dashoffset:0}100%{stroke-dashoffset:16}}
.sheet-hd .ti{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.sheet-hd .ct{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--muted)}

.srow{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
  background:none;border:0;border-bottom:1px solid var(--line-soft);padding:13px 6px;
  font-family:var(--text);font-size:15.5px;color:var(--muted);
  transition:color .2s ease,background .2s ease;border-radius:8px;
}
.srow:last-of-type{border-bottom:0}
.srow:hover{color:var(--ink);background:rgba(255,255,255,.6)}
.srow .tk{
  width:20px;height:20px;border-radius:50%;flex:0 0 auto;border:1.6px solid #C7D0DE;
  color:transparent;display:flex;align-items:center;justify-content:center;
  transition:background .3s ease,border-color .3s ease,color .3s ease;
}
.srow .tk svg{width:11px;height:11px}
.srow.done .tk{background:var(--blue);border-color:var(--blue);color:#fff}
.srow[aria-current="true"]{color:var(--ink);font-weight:600;background:rgba(255,255,255,.75)}
.srow[aria-current="true"] .tk{border-color:var(--blue)}

.astack{position:relative;height:262px;cursor:pointer}
.acard{
  position:absolute;inset:0;background:rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.9);border-radius:22px;padding:34px 36px 30px;
  box-shadow:0 2px 6px rgba(15,22,34,.05), 0 26px 56px rgba(15,22,34,.12);
  backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  transition:transform .6s cubic-bezier(.2,.8,.28,1), opacity .45s ease;
  transform-origin:50% 100%;opacity:0;pointer-events:none;
}
.acard[data-pos="0"]{transform:none;opacity:1;z-index:3;pointer-events:auto}
.acard[data-pos="1"]{transform:translate3d(24px,-20px,0) rotate(2.8deg) scale(.96);opacity:.6;z-index:2}
.acard[data-pos="2"]{transform:translate3d(46px,-38px,0) rotate(5.6deg) scale(.92);opacity:.32;z-index:1}
.ak{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;
  text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.at{font-size:clamp(24px,2.6vw,32px);line-height:1.14;letter-spacing:-.024em;color:var(--ink);
  font-weight:600;margin:0 0 12px;max-width:20ch}
.as{font-size:16.5px;line-height:1.5;color:var(--body);margin:0;max-width:42ch}
.acard[data-pos="1"] .as,.acard[data-pos="2"] .as,
.acard[data-pos="1"] .ak,.acard[data-pos="2"] .ak{opacity:0}

@media (max-width:900px){
  .sec{padding:24px 18px 26px;border-radius:20px}
  .ssplit{grid-template-columns:1fr;gap:20px}
  .astack{height:300px}
  .acard{padding:24px 20px 22px;border-radius:18px}
  .acard[data-pos="1"]{transform:translate3d(14px,-13px,0) rotate(2.2deg) scale(.965)}
  .acard[data-pos="2"]{transform:translate3d(27px,-25px,0) rotate(4.4deg) scale(.93)}
}
@media (prefers-reduced-motion:reduce){
  .sh-tick{animation:none;stroke-dashoffset:0}
  .acard{transition:none}
}


/* v2.7.2 — leadership bios carry more copy */
.tcard .body p{font-size:15px;line-height:1.52}
@media (min-width:961px){
  .team{gap:16px}
  .tcard{padding-bottom:22px}
}


/* v2.8.1 — arrows on the quote stack */
.qbar{display:flex;align-items:center;gap:14px;margin-top:26px}
.qnav{
  width:42px;height:42px;border-radius:50%;cursor:pointer;flex:0 0 auto;
  border:1px solid rgba(15,22,34,.12);background:rgba(255,255,255,.7);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  transition:background .18s ease,border-color .18s ease,transform .15s ease;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.qnav svg{width:15px;height:15px}
.qnav:hover{background:#fff;border-color:rgba(43,92,230,.4)}
.qnav:active{transform:scale(.94)}
.qct{font-family:var(--mono);font-size:12.5px;color:var(--muted)}


/* v2.10.1 — why-argo rotates on its own */
.whytab{position:relative;overflow:hidden}
.whytab::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--blue);transform:scaleX(0);transform-origin:0 50%;
}
.whytab[aria-selected="true"]::after{
  animation:whydwell 7s linear forwards;
}
.whypanel:hover .whytab[aria-selected="true"]::after{animation-play-state:paused}
@keyframes whydwell{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
  .whytab[aria-selected="true"]::after{animation:none;transform:scaleX(1)}
}


/* v2.12.1 — the platform hero breaks on its own line at every width */
.hero-wash h1 br{display:inline}


/* ===========================================================
   v2.12.2 — pre-launch fixes
   =========================================================== */
.skip{
  position:absolute;left:-9999px;top:0;z-index:300;
  background:var(--ink);color:#fff;padding:12px 18px;border-radius:0 0 10px 0;
  font-size:15px;font-weight:600;text-decoration:none;
}
.skip:focus{left:0}
main:focus{outline:none}

/* legal links and the logo lockup need a full-size hit area */
.fbase a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
.lock{display:inline-flex;align-items:center;gap:9px;min-height:44px}
footer.site .lock{min-height:44px}

/* the belief-deck dots on Company: small marks, full-size hit areas */
.stackdots{gap:18px}
.stackdots button{width:14px;height:14px;position:relative}
.stackdots button::after{content:"";position:absolute;left:-15px;right:-15px;top:-15px;bottom:-15px}
.stacknav{min-width:44px;min-height:44px}
