/* ============================================================
   Tokens — 7 type steps, 4 radii, one accent.
   ============================================================ */
:root{
  --black:#0a0a0c;
  --ink:#1c1c1e;
  --ink-soft:#27272a;
  --g-900:#434349;
  --g-700:#6f7078;
  --g-400:#ceced6;
  --g-200:#e6e6ea;
  --g-100:#f2f2f3;
  --g-50:#f7f7f8;
  --white:#fff;

  --accent:#ff5a00;      /* display only: washes, glows, gradient text, large type */
  --accent-btn:#c7430a;  /* any fill that carries white text — 4.96:1 */
  --accent-ink:#b83c00;  /* interactive text on light — 5.70:1 */
  --accent-hi:#ff7a2e;
  --accent-soft:#ffd4be;
  --accent-wash:#fff4ee;
  --green:#22c55e;

  --t-xs:12px; --t-sm:14px; --t-base:16px; --t-lg:19px;
  --t-xl:clamp(24px,2.3vw,30px);
  --t-2xl:clamp(34px,4.4vw,56px);
  --t-3xl:clamp(44px,6.6vw,92px);

  --r-xs:8px; --r-sm:14px; --r:20px; --r-lg:28px; --r-pill:999px;
  --gutter:clamp(24px,5.56vw,80px);
  --maxw:1400px;
  --ease:cubic-bezier(.45,0,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--white);color:var(--ink);
  font-family:"General Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:var(--t-base);line-height:1.5;letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3{font-weight:500;letter-spacing:-.035em;line-height:1.02;color:var(--ink)}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit;color:inherit}
ul{list-style:none}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;background:var(--ink);color:#fff;padding:12px 18px;z-index:200}
.skip:focus{left:0;top:0}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:clamp(80px,9vw,140px);position:relative}

/* the faint page grid the whole layout sits on */
.guides{position:absolute;inset:0;pointer-events:none;z-index:0}
.guides i{position:absolute;top:0;bottom:0;width:1px;background:rgba(0,0,0,.055)}
.guides i:nth-child(1){left:var(--gutter)}
.guides i:nth-child(2){right:var(--gutter)}
.on-dark .guides i{background:rgba(255,255,255,.07)}

/* ---------- type ---------- */
.h2{font-size:var(--t-2xl)}
.h3{font-size:var(--t-xl)}
.soft{color:var(--g-400)}
.grad{background:linear-gradient(100deg,var(--accent-soft) 0%,#ffa06b 32%,var(--accent) 68%,var(--accent-hi) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.lede{font-size:var(--t-lg);line-height:1.52;color:var(--g-700);max-width:54ch}
.on-dark .lede{color:var(--g-400)}
.label{font-size:var(--t-sm);color:var(--g-700)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;
  border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:500;letter-spacing:-.01em;
  transition:background .18s var(--ease),color .18s,border-color .18s,transform .12s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn--white{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(10,10,12,.1)}
.btn--white:hover{background:var(--g-100)}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{background:var(--ink-soft)}
.btn--accent{background:var(--accent-btn);color:#fff}
.btn--accent:hover{background:#ad3a08}
.btn--glass{background:linear-gradient(#ffffff1a,#ffffff0d),var(--ink-soft);color:#fff;
  box-shadow:inset 0 1px 0 #ffffff26,0 1px 2px rgba(0,0,0,.4)}
.btn--glass:hover{background:linear-gradient(#ffffff26,#ffffff14),var(--g-900)}
.btn--ghost-light{border:1px solid rgba(255,255,255,.4);color:#fff}
.btn--ghost-light:hover{background:rgba(255,255,255,.12)}
.btn--sm{height:36px;padding:0 16px;font-size:var(--t-sm)}
.btn .arr{transition:transform .2s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}

/* ============================================================
   NAV — transparent over the hero, solid once you scroll past it
   ============================================================ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:68px;transition:background .25s,border-color .25s,backdrop-filter .25s;border-bottom:1px solid transparent}
.nav.is-solid{background:rgba(247,247,248,.86);backdrop-filter:saturate(180%) blur(16px);border-bottom-color:var(--g-200)}
.nav__in{height:100%;display:flex;align-items:center;gap:30px;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.brand{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:600;letter-spacing:-.045em;color:#fff;transition:color .25s}
.nav.is-solid .brand{color:var(--ink)}
.brand svg{width:26px;height:18px;flex:none}
.nav__links{display:flex;gap:30px;margin-inline:auto;font-size:var(--t-base);font-weight:500;color:rgba(255,255,255,.88);transition:color .25s}
.nav.is-solid .nav__links{color:var(--g-900)}
.nav__links a{transition:opacity .15s}
.nav__links a:hover{opacity:.65}
.nav__right{display:flex;align-items:center;gap:22px;font-size:var(--t-base);font-weight:500;color:#fff;transition:color .25s}
.nav.is-solid .nav__right{color:var(--ink)}
.nav__right .go{display:inline-flex;align-items:center;gap:7px}
.nav__burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;
  border-radius:var(--r-xs);color:inherit;flex:none}
.nav__burger svg{width:22px;height:22px}
.mnav{position:fixed;inset:68px 0 0;z-index:95;display:none;flex-direction:column;
  background:var(--white);border-top:1px solid var(--g-200);padding:12px var(--gutter) 32px;overflow-y:auto}
.mnav.open{display:flex}
.mnav a{padding:18px 0;font-size:var(--t-xl);letter-spacing:-.03em;color:var(--ink);border-bottom:1px solid var(--g-200)}
.mnav .btn{margin-top:26px;width:100%}

/* ============================================================
   HERO — one atmospheric wash from black through brand to white
   ============================================================ */
.hero{position:relative;min-height:760px;padding-top:190px;padding-bottom:96px;text-align:center;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  linear-gradient(180deg,
    #05050a 0%, #08070a 16%, #1d0a02 27%,
    #8d2e00 39%, #e04e00 50%, var(--accent) 59%,
    #ff9357 71%, #ffcdae 84%, #fff4ed 94%, #ffffff 100%)}
/* a second, off-centre bloom so the wash is not a flat ramp */
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(90% 55% at 50% 62%,rgba(255,150,80,.55),transparent 70%),
  radial-gradient(60% 40% at 18% 30%,rgba(255,90,0,.3),transparent 70%)}
/* a single soft band passing over the wash — "being scanned", one movement
   rather than a field of them, so it does not scatter across a wide hero */
.hero__scan{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;mix-blend-mode:overlay}
.hero__scan::before{content:"";position:absolute;top:-12%;bottom:-12%;left:0;width:30%;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,.05) 30%,
    rgba(255,255,255,.14) 62%,
    rgba(255,255,255,.3) 84%,
    rgba(255,255,255,.46) 93%,
    rgba(255,255,255,.1) 97%,
    transparent 100%);
  transform:translateX(-130%) skewX(-10deg);will-change:transform;
  animation:heroScan 9s cubic-bezier(.45,0,.2,1) infinite}
@keyframes heroScan{0%{transform:translateX(-130%) skewX(-10deg)}
  58%,100%{transform:translateX(330%) skewX(-10deg)}}
@media (prefers-reduced-motion:reduce){.hero__scan{display:none}}
.hero__in{position:relative;z-index:2;max-width:1120px;margin-inline:auto;padding-inline:var(--gutter)}
.ann{display:inline-flex;align-items:center;gap:0;height:44px;padding:4px;border-radius:var(--r-pill);
  background:rgba(12,8,6,.3);border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(10px);font-size:var(--t-sm);color:#fff;
  box-shadow:0 8px 24px -10px rgba(0,0,0,.4)}
.ann b{padding:0 16px;font-weight:400;background:linear-gradient(90deg,#ffd9c4,#fff 55%,#ffd9c4);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.ann span{display:inline-flex;align-items:center;height:100%;padding:0 16px;border-left:1px solid rgba(255,255,255,.22);font-weight:500}
.hero h1{font-size:var(--t-3xl);letter-spacing:-.045em;line-height:.99;color:#fff;margin-top:46px}
.hero h1 b{display:block;font-weight:500}
.hero h1 .line2{color:rgba(255,255,255,.62)}
.hero__sub{margin:28px auto 0;max-width:46ch;font-size:var(--t-lg);line-height:1.5;color:rgba(255,255,255,.82)}

/* the hero CTA is an input, not a button */
.ask{margin:46px auto 0;max-width:620px;position:relative;display:flex;align-items:center;
  background:#fff;border-radius:var(--r-lg);padding:10px 10px 10px 26px;
  box-shadow:0 2px 4px rgba(10,10,12,.06),0 24px 56px -20px rgba(10,10,12,.35)}
.ask input{flex:1;border:0;outline:0;background:none;height:56px;font-size:var(--t-lg);color:var(--ink);letter-spacing:-.01em}
.ask input::placeholder{color:var(--g-700)}
.ask button{flex:none;width:48px;height:48px;border:0;border-radius:50%;background:var(--accent-btn);color:#fff;
  display:grid;place-items:center;cursor:pointer;transition:background .18s,transform .12s var(--ease)}
.ask button:hover{background:#ad3a08}
.ask button:active{transform:scale(.95)}
.ask button svg{width:19px;height:19px}
.hero__note{margin-top:24px;font-size:var(--t-sm);font-weight:500;color:rgba(92,38,8,.62)}

/* ---------- tool strip ---------- */
.strip{background:#fff;padding-block:40px;border-bottom:1px solid var(--g-200)}
.strip__in{display:flex;align-items:center;gap:40px;min-width:0;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.strip__t{flex:none;max-width:22ch;font-size:var(--t-base);line-height:1.35;color:var(--ink)}
.marq{flex:1;min-width:0;max-width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.track{display:flex;align-items:center;gap:60px;width:max-content}
.track img{height:26px;width:auto;opacity:.5;filter:grayscale(1);transition:opacity .2s,filter .2s}
.track img:hover{opacity:1;filter:none}

/* ============================================================
   DARK FEATURE BLOCK
   ============================================================ */
.on-dark{background:var(--ink);color:var(--g-100);position:relative;overflow:hidden}
.on-dark h2,.on-dark h3{color:#fff}
.dashes{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 1px,transparent 1px 25%)}
.mark{position:absolute;right:-6%;bottom:-18%;width:52%;z-index:0;opacity:.035;pointer-events:none}
.split{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(40px,6vw,96px);align-items:start}
.split__l h2{font-size:var(--t-2xl)}
.split__l .lede{margin-top:24px}
.split__l .btn{margin-top:32px}

/* tabs */
.tabs{margin-top:clamp(56px,7vw,104px)}
.tabs__nav{display:flex;gap:28px;border-bottom:1px solid var(--g-900)}
.tabs__nav button{background:none;border:0;padding:0 0 14px;font-size:var(--t-base);font-weight:500;color:var(--g-700);cursor:pointer;position:relative;transition:color .18s}
.tabs__nav button[aria-selected=true]{color:#fff}
.tabs__nav button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--accent-soft),var(--accent));opacity:0;transition:opacity .2s}
.tabs__nav button[aria-selected=true]::after{opacity:1}
.tabs__panel{padding-top:26px;font-size:var(--t-base);line-height:1.6;color:var(--g-400);max-width:56ch}
.tabs__panel b{color:#fff;font-weight:500}
.tabs__panel[hidden]{display:none}

/* floating glass console */
.who{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:var(--t-sm);color:var(--g-400)}
.who i{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--accent),#7a2b00);color:#fff;font-size:12px;font-style:normal;font-weight:600}
.who b{color:#fff;font-weight:500}
.glass{position:relative;border-radius:var(--r-lg);background:linear-gradient(180deg,#232327,#1a1a1d);
  border:1px solid #2e2e34;padding:22px;
  box-shadow:0 1px 0 #ffffff14 inset,0 40px 90px -40px rgba(255,90,0,.28),0 30px 70px -30px rgba(0,0,0,.8)}
.glass::before{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  background:radial-gradient(60% 50% at 80% 0%,rgba(255,122,46,.22),transparent 70%)}
.bubble{position:relative;z-index:1;display:inline-block;max-width:84%;padding:12px 16px;border-radius:var(--r-sm);
  background:#2b2b31;border:1px solid #37373e;font-size:var(--t-sm);line-height:1.45;color:var(--g-100)}
.bubble--me{margin-left:auto;display:block;background:#202024;border-color:#303037}
.term{position:relative;z-index:1;margin-top:16px;background:#0b0b0d;border:1px solid #27272c;border-radius:var(--r-sm);
  padding:16px;font-family:"JetBrains Mono",monospace;font-size:13px;line-height:1.95;min-height:150px;text-align:left}
.term div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-a{color:#fdba74}.c-g{color:#86efac}.c-r{color:#fca5a5}.c-d{color:#5d5d66}
.caret{display:inline-block;width:7px;height:14px;background:var(--accent);vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.glass__foot{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:16px;
  padding:14px 16px;border-radius:var(--r-sm);background:#202024;border:1px solid #2e2e34}
.glass__foot b{display:block;font-size:var(--t-sm);color:#fff;font-weight:500}
.glass__foot span{display:block;font-size:13px;color:var(--g-700);margin-top:2px}
.sev{flex:none;margin-left:auto;padding:4px 12px;border-radius:var(--r-pill);background:rgba(255,90,0,.18);color:#ffb088;font-size:var(--t-xs);font-weight:500}

/* ============================================================
   BENTO — what a result looks like
   ============================================================ */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cell{background:#fff;border:1px solid var(--g-200);border-radius:var(--r-lg);padding:clamp(24px,2.4vw,32px);
  display:flex;flex-direction:column;transition:border-color .2s,transform .2s var(--ease),box-shadow .2s}
.cell:hover{border-color:var(--g-400);transform:translateY(-3px);box-shadow:0 20px 44px -26px rgba(10,10,12,.24)}
.cell--wide{grid-column:span 2;background:var(--ink);border-color:var(--ink);color:var(--g-100)}
.cell--wide:hover{border-color:var(--ink)}
.cell__top{font-family:"JetBrains Mono",monospace;font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--g-700)}
.cell h3{margin-top:18px;font-size:var(--t-xl)}
.cell--wide h3{color:#fff}
.cell p{margin-top:12px;font-size:var(--t-sm);line-height:1.6;color:var(--g-700)}
.cell--wide p{color:var(--g-400)}
.cell__who{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:26px}
.cell__who i{width:34px;height:34px;border-radius:var(--r-xs);background:var(--accent-wash);color:var(--accent-ink);
  display:grid;place-items:center;font-style:normal;font-size:var(--t-xs);font-weight:600;flex:none}
.cell__who b{display:block;font-size:var(--t-sm);font-weight:500}
.cell__who span{display:block;font-size:13px;color:var(--g-700)}
.kv{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.kv>div{display:flex;gap:14px;font-size:var(--t-sm);line-height:1.5}
.kv dt{flex:none;width:92px;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--g-700);padding-top:3px}
.kv dd{color:var(--g-100)}

/* ============================================================
   NUMBERS — heading left, live activity right
   ============================================================ */
.nums-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:center}
.nums-top h2{font-size:var(--t-2xl)}
.nums-top .lede{margin-top:24px}
.nums-top .btn{margin-top:30px}
.feed{position:relative;display:flex;flex-direction:column;gap:14px;
  mask-image:radial-gradient(85% 90% at 50% 50%,#000 45%,transparent 92%)}
.feed__row{display:flex;gap:14px}
.feed__row:nth-child(2){margin-left:-7%}
.feed__row:nth-child(3){margin-left:4%}
.ev{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:14px 18px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.55);border:1px solid var(--g-200);font-size:var(--t-sm);color:var(--g-700)}
.ev i{width:28px;height:28px;border-radius:var(--r-xs);flex:none;display:grid;place-items:center;
  background:var(--g-100);font-style:normal;font-size:12px}
.ev b{color:var(--ink);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev time{margin-left:auto;flex:none;font-size:13px;color:var(--g-400)}
.ev--hi{background:#fff;border-color:#fff;color:var(--ink);
  box-shadow:0 2px 4px rgba(10,10,12,.05),0 20px 44px -20px rgba(255,90,0,.4)}
.ev--hi i{background:var(--accent-wash);color:var(--accent-ink)}
.ev--hi b{font-weight:500}
.chip{display:inline-flex;align-items:center;height:36px;padding:0 18px;border-radius:var(--r-pill);
  background:#fff;border:1px solid var(--g-200);font-size:var(--t-sm);color:var(--g-700)}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;text-align:center}
.nums .label{display:block;margin-bottom:12px}
.nums b{display:block;font-size:clamp(30px,3.6vw,46px);font-weight:500;letter-spacing:-.045em;line-height:1}

/* ---------- coverage ---------- */
.cover{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--g-200);
  border:1px solid var(--g-200);border-radius:var(--r);overflow:hidden}
.cover div{background:#fff;padding:14px 16px;font-size:var(--t-sm);color:var(--g-900);transition:background .15s,color .15s}
.cover div:hover{background:var(--accent-wash);color:var(--accent-ink)}

/* ---------- pricing ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{display:flex;flex-direction:column;background:#fff;border:1px solid var(--g-200);border-radius:var(--r-lg);padding:clamp(26px,2.6vw,34px)}
.plan--hi{background:var(--ink);border-color:var(--ink);color:var(--g-100)}
.plan__n{display:flex;align-items:center;gap:10px;font-size:var(--t-base);font-weight:500}
.plan--hi .plan__n{color:#fff}
.plan__n em{font-style:normal;margin-left:auto;padding:4px 11px;border-radius:var(--r-pill);
  background:var(--accent-btn);color:#fff;font-size:var(--t-xs);font-weight:500}
.plan__p{margin-top:24px;font-size:clamp(30px,3vw,38px);font-weight:500;letter-spacing:-.045em;line-height:1}
.plan--hi .plan__p{color:#fff}
.plan__p small{font-size:var(--t-sm);font-weight:400;color:var(--g-700);letter-spacing:0}
.plan p{margin-top:14px;font-size:var(--t-sm);line-height:1.55;color:var(--g-700)}
.plan--hi p{color:var(--g-400)}
.plan ul{margin:24px 0 28px;display:flex;flex-direction:column;gap:12px}
.plan li{display:flex;gap:11px;font-size:var(--t-sm);line-height:1.5}
.plan li::before{content:"";flex:none;width:17px;height:17px;margin-top:1px;border-radius:50%;
  background:var(--accent-wash) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d94e00' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
.plan--hi li::before{background-color:rgba(255,90,0,.22)}
.plan .btn{margin-top:auto;width:100%}

/* ---------- faq ---------- */
.faq{max-width:860px;margin-inline:auto;border-top:1px solid var(--g-200)}
.faq details{border-bottom:1px solid var(--g-200)}
.faq summary{display:flex;align-items:center;gap:18px;padding:24px 0;font-size:var(--t-lg);font-weight:500;
  letter-spacing:-.025em;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";margin-left:auto;flex:none;width:10px;height:10px;
  border-right:1.6px solid var(--g-400);border-bottom:1.6px solid var(--g-400);
  transform:rotate(45deg) translateY(-3px);transition:transform .22s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.faq p{padding-bottom:26px;font-size:var(--t-base);line-height:1.65;color:var(--g-700);max-width:72ch}

/* ============================================================
   CTA CARD + FOOTER
   ============================================================ */
.cta{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--accent-btn);color:#fff;
  padding:clamp(44px,5.5vw,84px);isolation:isolate}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(70% 90% at 85% 15%,rgba(255,255,255,.22),transparent 60%)}
.cta__grid{position:absolute;right:0;top:0;bottom:0;width:58%;z-index:-1;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);
  background-size:120px 120px}
.cta__mark{position:absolute;right:-2%;bottom:-24%;width:44%;z-index:-1;opacity:.22}
.cta h2{font-size:var(--t-2xl);color:#fff;max-width:16ch}
.cta h2 span{display:block;color:rgba(255,255,255,.62)}
.cta__b{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}

.foot{background:var(--g-50);border-top:1px solid var(--g-200)}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px;padding-block:clamp(56px,6vw,88px)}
.foot .brand{color:var(--ink)}
.foot__tag{margin-top:24px;font-size:var(--t-base);line-height:1.45;color:var(--ink)}
.foot__tag span{display:block;color:var(--g-700)}
.foot__h{font-size:var(--t-sm);color:var(--g-700)}
.foot__col a{display:block;margin-top:16px;font-size:var(--t-base);color:var(--ink);transition:color .15s}
.foot__col a:hover{color:var(--accent-ink)}
.foot__bar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-block:26px;
  border-top:1px solid var(--g-200);font-size:var(--t-sm);color:var(--g-700)}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 46%}
    @keyframes rv{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  }
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav__links{display:none}
  /* the links carried the centring auto-margin; with them hidden nothing
     pushed the right-hand group to the edge, so it sat mid-bar */
  .nav__right{margin-left:auto}
  .nav__burger{display:grid;place-items:center}
  .nav__right .go{display:none}
  .nav{background:rgba(247,247,248,.92);backdrop-filter:saturate(180%) blur(16px);border-bottom-color:var(--g-200)}
  .nav .brand,.nav .nav__right{color:var(--ink)}
  .split,.nums-top{grid-template-columns:1fr;gap:48px}
  .bento{grid-template-columns:1fr 1fr}
  .cell--wide{grid-column:span 2}
  .cover{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr}
  .nums{grid-template-columns:1fr 1fr;gap:34px}
  .foot__grid{grid-template-columns:1fr 1fr}
  .strip__in{flex-direction:column;align-items:flex-start;gap:24px}
  .strip__t{max-width:none}
}
@media (max-width:620px){
  .hero{padding-top:140px;min-height:0}
  .bento,.cover,.foot__grid{grid-template-columns:1fr}
  .cell--wide{grid-column:span 1}
  .ask{padding-left:18px;border-radius:var(--r)}
  .ask input{font-size:var(--t-base);height:48px}
  .feed__row{margin-left:0!important}
  
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}html{scroll-behavior:auto}}

/* ---------- add-on row, sits under the three plans ---------- */
.addon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,56px);align-items:center;
  margin-top:20px;padding:clamp(26px,2.6vw,36px);border-radius:var(--r-lg);
  background:#fff;border:1px solid var(--g-200)}
.addon__tag{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:var(--r-pill);
  background:var(--accent-wash);color:var(--accent-ink);font-size:var(--t-xs);font-weight:500}
.addon h3{margin-top:16px;font-size:var(--t-xl)}
.addon p{margin-top:12px;font-size:var(--t-sm);line-height:1.6;color:var(--g-700);max-width:62ch}
.addon__feats{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px}
.addon__feats span{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm);color:var(--g-700)}
.addon__feats span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none}
.addon__right{text-align:right;white-space:nowrap}
.addon__p{font-size:clamp(26px,2.6vw,34px);font-weight:500;letter-spacing:-.045em;line-height:1}
.addon__p small{display:block;margin-top:8px;font-size:var(--t-sm);font-weight:400;color:var(--g-700);letter-spacing:0}
.addon .btn{margin-top:18px}
@media (max-width:860px){.addon{grid-template-columns:1fr}.addon__right{text-align:left}}

/* ============================================================
   DOCUMENT PAGES — legal, policy, report. Same system, read mode.
   ============================================================ */
.subhero{position:relative;overflow:hidden;padding:150px 0 clamp(48px,5vw,76px);isolation:isolate;text-align:center}
.subhero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:linear-gradient(180deg,#05050a 0%,#0c0806 34%,#4a1800 62%,#b03c00 84%,#ff5a00 100%)}
.subhero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(70% 70% at 50% 110%,rgba(255,140,70,.55),transparent 70%)}
.subhero .eyebrow{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:var(--t-xs);
  letter-spacing:.14em;text-transform:uppercase;color:#ffc9a8}
.subhero h1{margin-top:18px;font-size:clamp(34px,4.6vw,60px);letter-spacing:-.04em;line-height:1.02;color:#fff}
.subhero h1 span{color:rgba(255,255,255,.62)}
.subhero p{margin:22px auto 0;max-width:58ch;font-size:var(--t-lg);line-height:1.5;color:rgba(255,255,255,.82)}

.doc{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:clamp(32px,5vw,80px);
  align-items:start;padding-block:clamp(48px,6vw,88px)}
.toc{position:sticky;top:96px;font-size:var(--t-sm)}
.toc__h{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--g-700);margin-bottom:14px}
.toc a{display:block;padding:8px 0 8px 16px;border-left:1px solid var(--g-200);color:var(--g-700);
  line-height:1.35;transition:color .15s,border-color .15s}
.toc a:hover{color:var(--ink);border-left-color:var(--accent)}

.prose{max-width:68ch}
.prose h2{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.03em;line-height:1.12;margin:48px 0 16px;scroll-margin-top:100px}
.prose h2:first-of-type{margin-top:0}
.prose h3{font-size:var(--t-lg);font-weight:500;letter-spacing:-.02em;margin:28px 0 10px}
.prose p{font-size:var(--t-base);line-height:1.7;color:var(--g-900);margin-bottom:16px}
.prose ul,.prose ol{margin:0 0 20px}
.prose li{position:relative;padding-left:24px;margin-bottom:10px;font-size:var(--t-base);line-height:1.62;color:var(--g-900)}
.prose ul li::before{content:"";position:absolute;left:5px;top:11px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.prose ol{counter-reset:n}
.prose ol li{counter-increment:n}
.prose ol li::before{content:counter(n) ".";position:absolute;left:0;top:0;font-family:"JetBrains Mono",monospace;
  font-size:13px;color:var(--accent-ink)}
.prose a{color:var(--accent-ink);border-bottom:1px solid var(--accent-soft);transition:border-color .15s}
.prose a:hover{border-bottom-color:var(--accent-ink)}
.prose strong{font-weight:500;color:var(--ink)}
.prose code{font-family:"JetBrains Mono",monospace;font-size:13.5px;background:var(--g-50);
  border:1px solid var(--g-200);border-radius:6px;padding:2px 6px}
.prose table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:var(--t-sm)}
.prose th,.prose td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--g-200);vertical-align:top;color:var(--g-900)}
.prose th{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--g-700)}
.prose__meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-family:"JetBrains Mono",monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--g-700);
  padding-bottom:22px;margin-bottom:36px;border-bottom:1px solid var(--g-200)}
.notice{display:flex;gap:14px;padding:18px 20px;border-radius:var(--r);border:1px solid var(--accent-soft);
  background:var(--accent-wash);font-size:var(--t-sm);line-height:1.6;color:var(--g-900);margin-bottom:32px}
.notice b{color:var(--accent-ink)}
@media (max-width:980px){.doc{grid-template-columns:1fr}.toc{display:none}}

/* ---------- sample report ---------- */
.rep{background:#fff;border:1px solid var(--g-200);border-radius:var(--r-lg);overflow:hidden;margin-bottom:32px}
.rep__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:22px 26px;border-bottom:1px solid var(--g-200);background:var(--g-50)}
.rep__title{font-size:var(--t-xl);letter-spacing:-.03em}
.rep__class{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:var(--t-xs);color:var(--g-700)}
.rep__sec{padding:26px;border-bottom:1px solid var(--g-200)}
.rep__sec:last-child{border-bottom:0}
.rep__sec h2{font-size:var(--t-lg);font-weight:500;letter-spacing:-.025em;margin:0 0 12px;scroll-margin-top:100px}
.rep__sec p{font-size:var(--t-sm);line-height:1.65;color:var(--g-700);margin-bottom:12px}
.rep__sec p:last-child{margin-bottom:0}
.rep__kv{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
.rep__kv .k{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--g-700);margin-bottom:5px}
.rep__kv .v{font-size:var(--t-sm);line-height:1.5;color:var(--ink)}
.rep__ex{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rep__cap{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--g-700);margin-bottom:7px}
.rep__term{margin:0;background:var(--black);color:#e7e7ea;border-radius:var(--r-sm);padding:15px;
  font-family:"JetBrains Mono",monospace;font-size:12.5px;line-height:1.9;overflow-x:auto;white-space:pre}
.rep__chain{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.rep__chain>div{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--g-200);
  border-radius:var(--r-sm);background:var(--g-50);font-size:var(--t-sm);color:var(--g-700)}
.rep__chain .n{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--accent-ink)}
.rep__chain .h{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--g-700)}
.rep__status{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:500;color:#15803d;
  background:#eafbf0;border:1px solid #bbf7d0;border-radius:var(--r-pill);padding:6px 14px}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badges span{font-family:"JetBrains Mono",monospace;font-size:11px;padding:5px 11px;border-radius:var(--r-pill);
  background:var(--g-100);color:var(--g-900)}
@media (max-width:760px){.rep__kv,.rep__ex{grid-template-columns:1fr}}

/* ---------- demo page ---------- */
.demo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,56px);align-items:start;padding-block:clamp(48px,6vw,80px)}
.demo__panel{border:1px solid var(--g-200);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.demo__bar{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--g-200);
  background:var(--g-50);font-size:var(--t-sm);color:var(--g-700)}
.demo__bar b{color:var(--ink);font-weight:500}
.demo__bar .chip{margin-left:auto}
.demo__body{padding:20px;min-height:620px}
.demo__note{margin-top:16px;font-size:var(--t-sm);color:var(--g-700)}
.demo__card{border:1px solid var(--g-200);border-radius:var(--r);padding:24px;background:#fff;margin-bottom:16px}
.demo__card h3{font-size:var(--t-lg);font-weight:500;letter-spacing:-.02em}
.demo__card p{margin-top:10px;font-size:var(--t-sm);line-height:1.6;color:var(--g-700)}
.demo__card ul{margin-top:14px;display:flex;flex-direction:column;gap:9px}
.demo__card li{display:flex;gap:10px;font-size:var(--t-sm);line-height:1.5;color:var(--g-900)}
.demo__card li::before{content:"";flex:none;width:16px;height:16px;margin-top:2px;border-radius:50%;
  background:var(--accent-wash) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d94e00' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
.cal-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:560px;color:var(--g-700);font-size:var(--t-sm)}
.spin{width:18px;height:18px;border-radius:50%;border:2px solid var(--g-200);border-top-color:var(--accent);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:980px){.demo{grid-template-columns:1fr}.demo__body{min-height:520px}}

/* ---------- 404 ---------- */
.nf{text-align:center;padding-block:clamp(56px,7vw,96px)}
.nf p{font-size:var(--t-lg);color:var(--g-700);max-width:48ch;margin:0 auto}
.nf__b{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}

/* ---------- segment picker ---------- */
.pick{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pick a{display:flex;flex-direction:column;background:#fff;border:1px solid var(--g-200);border-radius:var(--r-lg);
  padding:clamp(24px,2.4vw,32px);transition:border-color .2s,transform .2s var(--ease),box-shadow .2s}
.pick a:hover{border-color:var(--g-400);transform:translateY(-3px);box-shadow:0 20px 44px -26px rgba(10,10,12,.22)}
.pick h3{font-size:var(--t-xl);letter-spacing:-.025em;max-width:18ch}
.pick p{margin-top:12px;font-size:var(--t-sm);line-height:1.6;color:var(--g-700)}
.pick .go{margin-top:auto;padding-top:24px;display:inline-flex;align-items:center;gap:8px;
  font-size:var(--t-sm);font-weight:500;color:var(--accent-ink)}
.pick a:hover .arr{transform:translateX(3px)}

/* ---------- identity replay matrix ---------- */
.mtx{border:1px solid var(--g-200);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.mtx__h{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 24px;border-bottom:1px solid var(--g-200);background:var(--g-50)}
.mtx__h b{display:block;font-size:var(--t-base);font-weight:500}
.mtx__h span{display:block;font-size:var(--t-sm);color:var(--g-700);margin-top:3px}
.mtx__flag{margin-left:auto;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 14px;
  border-radius:var(--r-pill);background:var(--accent-wash);border:1px solid var(--accent-soft);
  color:var(--accent-ink);font-size:var(--t-sm);font-weight:500}
.mtx__w{overflow-x:auto}
.mtx table{width:100%;border-collapse:collapse;min-width:720px;font-size:var(--t-sm)}
.mtx th,.mtx td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--g-200)}
.mtx thead th{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:400;letter-spacing:.09em;
  text-transform:uppercase;color:var(--g-700)}
.mtx tbody td:first-child{font-family:"JetBrains Mono",monospace;font-size:12.5px;color:var(--ink)}
.mtx tbody tr:last-child td{border-bottom:0}
.c{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:28px;padding:0 10px;
  border-radius:var(--r-xs);font-family:"JetBrains Mono",monospace;font-size:12px}
.c.n{background:var(--g-100);color:var(--g-700)}
.c.y{background:#eafbf0;color:#15803d}
.c.x{background:var(--accent-btn);color:#fff;box-shadow:0 0 0 4px var(--accent-wash)}
.mtx__f{padding:16px 24px;border-top:1px solid var(--g-200);background:var(--g-50);
  font-size:var(--t-sm);line-height:1.6;color:var(--g-700)}
.mtx__f b{color:var(--ink);font-weight:500}

/* ---------- stress (authorized load testing) ---------- */
.strs-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px);text-align:center;
  margin-bottom:clamp(28px,3vw,44px)}
.strs-scale b{display:block;font-size:clamp(64px,8vw,110px);font-weight:500;letter-spacing:-.05em;
  line-height:1;color:var(--ink)}
.strs-scale span{display:block;margin-top:12px;font-size:var(--t-sm);color:var(--g-700)}
@media(max-width:880px){.strs-scale{grid-template-columns:repeat(4,1fr);gap:16px}}
@media(max-width:560px){.strs-scale{grid-template-columns:repeat(2,1fr);gap:24px 12px}
  .strs-scale b{font-size:clamp(44px,11vw,60px)}}
.strs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}
@media(max-width:880px){.strs{grid-template-columns:1fr}}
@media(max-width:560px){.strs__grid{grid-template-columns:1fr 1fr}
  .strs__row{flex-wrap:wrap;row-gap:6px}}
.strs__card{border:1px solid var(--g-200);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.strs__h{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 24px;border-bottom:1px solid var(--g-200);background:var(--g-50)}
.strs__h b{display:block;font-size:var(--t-base);font-weight:500}
.strs__h span{display:block;font-size:var(--t-sm);color:var(--g-700);margin-top:3px}
.strs__flag{margin-left:auto;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 14px;
  border-radius:var(--r-pill);background:var(--accent-wash);border:1px solid var(--accent-soft);
  color:var(--accent-ink);font-size:var(--t-sm);font-weight:500}
.strs__fam{list-style:none;padding:6px 0}
.strs__fam li{display:flex;gap:14px;padding:15px 24px;border-bottom:1px solid var(--g-200);font-size:var(--t-sm);color:var(--g-700);line-height:1.55}
.strs__fam li:last-child{border-bottom:0}
.strs__fam i{flex:none;width:7px;height:7px;margin-top:7px;border-radius:50%;background:var(--accent-btn);font-style:normal}
.strs__fam b{display:block;font-weight:500;color:var(--ink);font-size:var(--t-base)}
.strs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--g-200)}
.strs__cell{background:#fff;padding:18px 24px}
.strs__cell .label{display:block;margin-bottom:8px}
.strs__cell b{display:block;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:clamp(20px,2.2vw,26px);
  font-weight:500;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.strs__cell b small{font-size:13px;color:var(--g-700);font-weight:400}
.strs__cell>small{display:block;margin-top:7px;font-size:var(--t-xs);color:var(--g-700)}
.strs__row{display:flex;align-items:baseline;gap:24px;padding:16px 24px;border-bottom:1px solid var(--g-200);font-size:var(--t-sm)}
.strs__row:last-of-type{border-bottom:0}
.strs__row b{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;color:var(--ink)}
.strs__note{display:flex;gap:12px;padding:15px 24px;border-bottom:1px solid var(--g-200);
  background:var(--accent-wash);font-size:var(--t-sm);line-height:1.55;color:var(--g-700)}
.strs__note:last-of-type{border-bottom:0}
.strs__note i{flex:none;width:16px;height:16px;margin-top:2px;border-radius:50%;
  background:var(--accent-btn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16v-6M12 8h.01'/%3E%3C/svg%3E") center/10px no-repeat}
.strs__note b{color:var(--ink);font-weight:500}
.strs__rails{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.strs__rails span{display:inline-flex;align-items:center;height:32px;padding:0 16px;border-radius:var(--r-pill);
  background:var(--g-100);border:1px solid var(--g-200);font-size:var(--t-sm);color:var(--g-700)}

/* ---------- comparison ---------- */
.cmp-w{overflow-x:auto;border:1px solid var(--g-200);border-radius:var(--r-lg);background:#fff}
table.cmp{width:100%;border-collapse:collapse;min-width:820px;font-size:var(--t-sm)}
table.cmp th,table.cmp td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--g-200);vertical-align:top}
table.cmp thead th{font-size:var(--t-sm);font-weight:500;color:var(--g-700);background:var(--g-50)}
table.cmp thead th.us{color:var(--accent-ink);background:var(--accent-wash)}
table.cmp tbody th{font-weight:400;color:var(--ink);max-width:340px}
table.cmp td{color:var(--g-700)}
table.cmp td.us{background:color-mix(in srgb,var(--accent-wash) 72%,transparent);color:var(--ink);
  border-left:1px solid var(--accent-soft);border-right:1px solid var(--accent-soft)}
table.cmp tbody tr:last-child td.us{border-bottom:1px solid var(--accent-soft)}
table.cmp .yes{display:inline-flex;align-items:flex-start;gap:8px}
table.cmp .yes::before{content:"";flex:none;width:16px;height:16px;margin-top:2px;border-radius:50%;
  background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
table.cmp .no{color:var(--g-400)}

/* ---------- four steps ---------- */
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--g-200);
  border-radius:var(--r-lg);overflow:hidden;background:#fff}
.steps4>div{padding:clamp(24px,2.4vw,34px);border-right:1px solid var(--g-200)}
.steps4>div:last-child{border-right:0}
.steps4 .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:var(--accent-wash);color:var(--accent-ink);font-family:"JetBrains Mono",monospace;font-size:12px}
.steps4 h3{margin-top:18px;font-size:var(--t-lg);font-weight:500;letter-spacing:-.02em}
.steps4 p{margin-top:10px;font-size:var(--t-sm);line-height:1.6;color:var(--g-700)}

/* ---------- founder ---------- */
.founder{display:flex;gap:26px;align-items:flex-start;padding:clamp(28px,3vw,40px);
  border:1px solid var(--g-200);border-radius:var(--r-lg);background:#fff}
.founder img{width:76px;height:76px;border-radius:var(--r);flex:none;object-fit:cover;border:1px solid var(--g-200)}
.founder q{display:block;font-size:var(--t-lg);line-height:1.55;letter-spacing:-.018em;color:var(--ink);quotes:none}
.founder .nm{margin-top:18px;font-size:var(--t-sm);color:var(--g-700)}
.founder .nm b{color:var(--ink);font-weight:500}
.founder .nm a{color:var(--accent-ink)}

@media (max-width:1080px){.pick,.steps4{grid-template-columns:1fr 1fr}.steps4>div:nth-child(2){border-right:0}.steps4>div:nth-child(-n+2){border-bottom:1px solid var(--g-200)}}
@media (max-width:620px){.pick,.steps4{grid-template-columns:1fr}.steps4>div{border-right:0;border-bottom:1px solid var(--g-200)}.founder{flex-direction:column}}

/* right column of the dark split */
.split__r{position:relative}

/* ============================================================
   COMPLIANCE MINI-VISUALS — purpose-built, not borrowed
   ============================================================ */
.cviz{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--r);
  background:var(--g-50);border:1px solid var(--g-200);margin-bottom:24px;height:200px;justify-content:center}

/* 1 · finding maps to controls */
.cviz__find{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-xs);
  background:#fff;border:1px solid var(--accent-soft);font-size:var(--t-sm);color:var(--ink)}
.cviz__find i{width:7px;height:7px;border-radius:50%;background:var(--accent-btn);flex:none;font-style:normal}
.cviz__find b{margin-left:auto;font-weight:500;color:var(--accent-ink);font-size:var(--t-xs)}
.cviz__arrow{display:flex;align-items:center;gap:10px;padding-left:4px;
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--g-700)}
.cviz__arrow::after{content:"";flex:1;height:1px;background:var(--g-200)}
.cviz__ctrls{display:flex;flex-wrap:wrap;gap:7px}
.cviz__ctrls span{padding:7px 12px;border-radius:var(--r-xs);background:#fff;border:1px solid var(--g-200);
  font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--g-900)}

/* 2 · schedule */
.cviz__week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cviz__week span{display:grid;place-items:center;height:38px;border-radius:var(--r-xs);background:#fff;
  border:1px solid var(--g-200);font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--g-400)}
.cviz__week span.on{background:var(--accent-btn);border-color:var(--accent-btn);color:#fff}
.cviz__line{display:flex;align-items:center;gap:10px;font-size:var(--t-sm);color:var(--g-700)}
.cviz__line i{width:7px;height:7px;border-radius:50%;background:#16a34a;flex:none;font-style:normal}
.cviz__line b{margin-left:auto;font-weight:400;font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--g-900)}

/* 3 · trust page */
.cviz__card{border-radius:var(--r-xs);border:1px solid var(--g-200);background:#fff;overflow:hidden}
.cviz__url{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid var(--g-200);
  background:var(--g-50);font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--g-700)}
.cviz__url i{width:16px;height:16px;border-radius:4px;background:var(--accent-btn);flex:none}
.cviz__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;
  font-size:var(--t-sm);color:var(--g-700);border-bottom:1px solid var(--g-200)}
.cviz__row:last-child{border-bottom:0}
.cviz__row b{font-weight:500;color:var(--ink)}
.cviz__row b.ok{color:#15803d}

/* ---------- footer: a line, not fake seals ---------- */
.foot__maps{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-left:auto;
  font-size:var(--t-sm);color:var(--g-700)}
.foot__maps b{font-weight:400;color:var(--g-900)}
.foot__maps span{font-family:"JetBrains Mono",monospace;font-size:11.5px;padding:5px 11px;
  border-radius:var(--r-pill);background:#fff;border:1px solid var(--g-200);color:var(--g-900)}
@media (max-width:860px){.foot__maps{margin-left:0}}

/* ---------- overflow guards ----------
   Flex and grid children default to min-width:auto, which lets wide content
   (a marquee track, a <pre>, a long mono string) push the page sideways. */
.strip__in>*{min-width:0}
.marq{width:100%}
.rep__ex>div,.rep__kv>div,.case__trace,.split__r,.nums-top>*{min-width:0}
.rep__term,.term,.trace{max-width:100%}
.rep__head{min-width:0}
.rep__title{min-width:0;overflow-wrap:anywhere}
.rep__class{min-width:0;overflow-wrap:anywhere}
.mark,.cta__mark{max-width:52%}
@media (max-width:860px){
  .rep__kv,.rep__ex{grid-template-columns:1fr}
  .rep__class{margin-left:0;width:100%}
}
.doc>*{min-width:0}
.rep,.rep__sec,.prose{min-width:0}
.prose th,.prose td{overflow-wrap:anywhere}
@media (max-width:620px){
  .prose table{display:block;overflow-x:auto;white-space:nowrap}
  .prose table th,.prose table td{white-space:normal;min-width:180px}
}

/* ---------- mobile: the strip reads as a band, not a cropped row ---------- */
@media (max-width:1080px){
  .strip__in{gap:20px}
  .strip__t{text-align:left}
  /* full-bleed past the gutter so the marquee has no visible cut edge */
  .marq{width:calc(100% + (var(--gutter) * 2));max-width:none;margin-inline:calc(var(--gutter) * -1)}
  .track{gap:40px}
  .track img{height:22px}
  /* the page guides are a desktop device; on narrow screens they cut through cards */
  .guides{display:none}
}

/* ============================================================
   THREAD — a line descending from the section above into a badge,
   so the page reads as one run rather than a stack of blocks.
   ============================================================ */
.thread{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:clamp(32px,4vw,52px)}
.thread i{display:block;width:1px;height:clamp(40px,5vw,72px);background:linear-gradient(var(--g-200),var(--g-400));transform-origin:top}
.thread b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--g-200);background:#fff;color:var(--accent-ink);box-shadow:0 2px 10px -4px rgba(10,10,12,.2)}
.thread svg{width:16px;height:16px}
.on-dark .thread i{background:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.3))}
.on-dark .thread b{background:var(--ink);border-color:var(--g-900);color:var(--accent-hi)}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .thread i{animation:threadIn linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
    @keyframes threadIn{from{transform:scaleY(0)}to{transform:scaleY(1)}}
  }
}

/* ============================================================
   CROP MARKS — four corner ticks around a heading. The crosshair
   motif already on the CTA card and the auth wash, applied to type.
   ============================================================ */
.brk{position:relative;display:inline-block;padding:16px 22px;margin:-16px -22px;
  --bk:1.5px;--bl:16px;--bc:var(--accent);
  background:
    linear-gradient(var(--bc),var(--bc)) 0 0/var(--bl) var(--bk) no-repeat,
    linear-gradient(var(--bc),var(--bc)) 0 0/var(--bk) var(--bl) no-repeat,
    linear-gradient(var(--bc),var(--bc)) 100% 0/var(--bl) var(--bk) no-repeat,
    linear-gradient(var(--bc),var(--bc)) 100% 0/var(--bk) var(--bl) no-repeat,
    linear-gradient(var(--bc),var(--bc)) 0 100%/var(--bl) var(--bk) no-repeat,
    linear-gradient(var(--bc),var(--bc)) 0 100%/var(--bk) var(--bl) no-repeat,
    linear-gradient(var(--bc),var(--bc)) 100% 100%/var(--bl) var(--bk) no-repeat,
    linear-gradient(var(--bc),var(--bc)) 100% 100%/var(--bk) var(--bl) no-repeat}
.on-dark .brk{--bc:var(--accent-hi)}
@media (max-width:620px){.brk{--bl:11px;padding:11px 14px;margin:-11px -14px}}

/* ============================================================
   RAIL — the four steps become a sequence, not a grid
   ============================================================ */
.rail{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.rail__step{position:relative}
/* the connector belongs to each step, so it starts at that badge and ends at
   the next one — a single bar across the row drifts out of alignment */
.rail__step::after{content:"";position:absolute;left:46px;right:-24px;top:17px;height:1px;
  background-image:linear-gradient(90deg,var(--g-400) 0 6px,transparent 6px 12px);background-size:12px 1px}
.rail__step:last-child::after{display:none}
.rail__n{position:relative;z-index:1;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:#fff;border:1px solid var(--g-200);font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--accent-ink)}
.rail__step:first-child .rail__n,.rail__step:last-child .rail__n{box-shadow:0 0 0 5px var(--white)}
.rail__step h3{margin-top:20px;font-size:var(--t-lg);font-weight:500;letter-spacing:-.02em}
.rail__step p{margin-top:10px;font-size:var(--t-sm);line-height:1.6;color:var(--g-700)}
.rail__tag{display:block;margin-bottom:22px;text-align:right;font-family:"JetBrains Mono",monospace;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--g-700)}
@media (max-width:860px){
  .rail{grid-template-columns:1fr 1fr;gap:32px 24px}
  .rail__step::after{display:none}
  .rail__tag{display:none}
}
@media (max-width:560px){.rail{grid-template-columns:1fr}}
