/* Generated by scripts/import-design.py: the design export's inline styles, in their cascade order. Edit the export, not this file. */

/* ── from the rules of the first font block ── */
.shot-adapt{display:block;width:100%;height:auto}
.shot-dark{display:none}
[data-theme="dark"] .shot-light{display:none}
[data-theme="dark"] .shot-dark{display:block}
.rx{font-size:10.5px;color:var(--text);padding:14px;display:flex;flex-direction:column;gap:9px;text-align:left}
.rx b{font-weight:600}
.rx-num{font-family:var(--font-mono);text-align:right;white-space:nowrap}
.rx-mut{color:var(--muted)}
.rx-lbl{font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rx-fl{font-size:10px;margin-bottom:3px}
.rx-ins{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px}
.rx-in{border:1px solid var(--border);border-radius:4px;padding:5px 8px;background:var(--surface-2);font-family:var(--font-mono)}
.rx-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rx-pill{background:var(--success);color:#fff;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:600}
.rx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.rx-kpi{border:1px solid var(--border);border-radius:5px;padding:6px 8px}
.rx-kpi b{display:block;font-size:12px;margin-top:2px}
.rx-chart text{font-family:var(--font-mono);font-size:8px;fill:var(--muted)}
[data-lang="fr"] .rx-chart text.l-en,[data-lang="en"] .rx-chart text.l-fr{display:none}
.rx-legend{display:flex;gap:16px;justify-content:center;font-size:9.5px;color:var(--text-2)}
.rx-legend span{display:flex;align-items:center;gap:5px}
.rx-sw{width:14px;border-top:1.5px solid var(--accent)}
.rx-sw.dash{border-top:1.5px dashed var(--muted)}
.rx-tbl{width:100%;border-collapse:collapse;font-size:9.5px;border:1px solid var(--border)}
.rx-tbl th,.rx-tbl td{padding:3px 6px;border-bottom:1px solid var(--border);text-align:right}
.rx-tbl th:first-child,.rx-tbl td:first-child{text-align:left}
.rx-tbl th{font-weight:600}
.rx-tbl.rx-plain{border:0}
.rx-tbl.rx-plain td{border:0;padding:2px 6px}
.rx-tbl.rx-plain th{border:0;padding:2px 6px}
.rx-box{border:1px solid var(--border);border-radius:5px;padding:8px 10px}
.rx-agg{opacity:.55;display:flex;flex-direction:column;gap:4px}
.rx-aggr{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);border-radius:4px;padding:4px 7px;color:var(--muted)}
.rx-row{display:grid;grid-template-columns:minmax(0,1fr) 54px 34px 34px 34px;gap:5px;align-items:center;border:1px solid var(--border);border-radius:5px;padding:5px 7px}
.rx-tag{border:1px solid var(--border);border-radius:3px;padding:1px 5px;background:var(--surface-2);font-size:9px;margin-right:5px}
.rx-f{border:1px solid var(--border);border-radius:3px;padding:2px 5px;color:var(--muted);font-size:9px;text-align:center}
.rx-sel{color:var(--text);display:flex;justify-content:space-between}
.rx-ok{color:var(--success)}
.rx-help{color:var(--muted);font-size:9px}
.rx-foot{display:flex;justify-content:flex-end;gap:12px;align-items:center}
.rx-btn{background:var(--text);color:var(--bg);border-radius:4px;padding:5px 11px;font-weight:600}
.rx-mocks{display:flex;flex-direction:column;gap:18px}
.split.split-stack{grid-template-columns:minmax(0,1fr)}
.split-stack .diag-pts{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.split-stack .diag-pts{grid-template-columns:minmax(0,1fr)}}
.split-stack .rx-mocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));align-items:start;gap:20px}
.diag-pt .rx-ul li b{display:inline;font-size:13px;margin:0}
.rx-ul{margin:6px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:3px}
.sc-col{display:flex;flex-direction:column;gap:20px;min-width:0}
.sc-ttl{font-size:12.5px;font-weight:600;margin-bottom:2px}
.sc-box{border:1px solid var(--border);border-radius:5px;padding:3px 0}
.sc-node{display:flex;align-items:center;gap:6px;padding:3px 10px;color:var(--muted)}
.sc-node.on{color:var(--text)}
.sc-car{width:8px;color:var(--muted)}
.sc-cb{width:10px;height:10px;border:1px solid var(--border-2,var(--border));border-radius:2.5px;display:inline-grid;place-items:center;flex-shrink:0}
.sc-cb.on{background:var(--accent);border-color:var(--accent);color:#fff}
.sc-cb svg{width:7px;height:7px}
.sc-val{margin-left:auto;font-family:var(--font-mono);border:1px solid var(--border);border-radius:3px;padding:0 6px;color:var(--text)}
.sc-sep{border-top:1px solid var(--border)}
.sc-in{font-family:inherit}
.sc-code{font-family:var(--font-mono);font-size:9px;color:var(--text)}
.sc-recap{background:var(--surface-2);display:flex;flex-direction:column;gap:3px}
.sc-rr{display:flex;justify-content:space-between;color:var(--text-2)}
.sc-rr .rx-num{color:var(--text)}
.sc-save{background:var(--accent);color:#fff;border-radius:4px;padding:5px 11px;font-weight:600}
.sc-q{display:flex;justify-content:flex-end;align-items:flex-start;gap:6px}
.sc-bub{background:var(--surface-2);border-radius:6px;padding:6px 9px;max-width:80%}
.sc-av{width:18px;height:18px;border-radius:4px;background:var(--accent);color:#fff;font-size:8px;font-weight:700;display:grid;place-items:center;flex-shrink:0}
.sc-a{display:flex;flex-direction:column;gap:3px;line-height:1.5}
.sc-it{font-style:italic;color:var(--text-2)}
.sc-card{border:1px solid var(--border);border-radius:5px}
.sc-ch{display:flex;align-items:center;gap:6px;padding:6px 9px}
.sc-card.open .sc-ch{border-bottom:1px solid var(--border)}
.sc-tag{background:var(--surface-2);color:var(--muted);border-radius:3px;padding:0 5px;font-size:8.5px}
.sc-ext{margin-left:auto;color:var(--muted);border:1px solid var(--border);border-radius:3px;padding:0 4px;font-size:8.5px}
.sc-cb-body{padding:8px 9px;display:flex;flex-direction:column;gap:6px}
.rc-tbl th,.rc-tbl td{text-align:left;vertical-align:middle}
.rc-tbl th{background:var(--surface-2)}
.rc-id{font-family:var(--font-mono);white-space:nowrap}
.rc-lec{color:var(--text-2)}
.rc-pill{display:inline-block;border-radius:999px;padding:1px 7px;font-size:8.5px;font-weight:600;white-space:nowrap}
.rc-pill.o{background:color-mix(in oklch,var(--success) 20%,transparent);color:var(--success)}
.rc-pill.w{background:color-mix(in oklch,oklch(0.75 0.14 75) 22%,transparent);color:oklch(0.72 0.14 75)}
.rc-doc{display:inline-grid;color:var(--muted)}
.rc-doc svg,.rc-xl svg,.rc-dl svg,.rc-zip svg{width:11px;height:11px}
.rc-grp{display:flex;align-items:center;gap:6px;font-weight:500}
.rc-file{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:5px;padding:5px 8px;margin-left:12px;min-width:0}
.rc-xl{width:20px;height:20px;border-radius:4px;display:grid;place-items:center;flex-shrink:0;background:color-mix(in oklch,var(--success) 18%,transparent);color:var(--success)}
.rc-cur{background:var(--surface-2);color:var(--muted);border-radius:3px;padding:1px 5px;font-size:9px;white-space:nowrap}
.rc-fn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rc-dl{margin-left:auto;color:var(--muted);display:inline-grid}
.rc-zip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--muted)}
.diag-pt .rx-sub{display:block;font-size:13px;font-weight:600;color:var(--text);margin:12px 0 2px}
.split-stack .diag-pts.dp-wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.dp-wide>.dp-avec{grid-column:1/-1;order:2}
.dp-wide>.diag-pt:nth-child(3),.dp-wide>.diag-pt:nth-child(4){order:1}
.dp-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}
@media (max-width:760px){.split-stack .diag-pts.dp-wide,.dp-2col{grid-template-columns:minmax(0,1fr)}}
.rp{font-size:10.5px;color:var(--text);text-align:left;display:flex;flex-direction:column}
.rp svg{width:11px;height:11px;flex-shrink:0}
.rp-hd{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--border)}
.rp-hd .rp-doc{width:15px;height:15px;color:var(--accent);margin-top:6px}
.rp-ttl{font-size:13px;font-weight:600}
.rp-sub{color:var(--text-2);font-size:10px;margin-top:2px}
.rp-ai{margin-left:auto;display:flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border-radius:5px;padding:6px 11px;font-weight:600;font-size:10px;white-space:nowrap}
.rp .rp-ai svg{width:12px;height:12px}
.rp-x{color:var(--muted);font-size:11px;padding-top:6px}
.rp-model{display:flex;gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.rp-mut{color:var(--text-2)}
.rp-sel{border:1.5px solid var(--accent);border-radius:4px;padding:5px 8px;min-width:150px;display:flex;justify-content:space-between;gap:10px}
.rp-inp{border:1px solid var(--border);background:var(--surface-2);border-radius:4px;padding:5px 8px;min-width:130px}
.rp-btn2{border:1px solid var(--border);border-radius:4px;padding:5px 10px;font-weight:500;background:var(--surface)}
.rp-reset{margin-left:auto;font-weight:500}
.rp-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:390px;overflow:hidden}
.rp-l,.rp-r{padding:12px 16px;display:flex;flex-direction:column;gap:7px;position:relative;overflow:hidden;min-width:0}
.rp-l{border-right:1px solid var(--border)}
.rp-l::after,.rp-r::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(transparent,var(--surface))}
.rp-tabs{display:inline-flex;background:var(--surface-2);border-radius:5px;padding:3px;gap:2px;align-self:flex-start;flex-wrap:wrap}
.rp-tabs span{padding:3px 8px;color:var(--text-2);border-radius:4px}
.rp-tabs .on{background:var(--surface);color:var(--text);font-weight:500}
.rp-search{border:1px solid var(--border);background:var(--surface-2);border-radius:4px;padding:6px 8px;color:var(--muted)}
.rp-grp{display:flex;align-items:center;gap:6px;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-weight:600;margin-top:2px}
.rp-car{color:var(--muted);width:8px}
.rp-cb{width:11px;height:11px;border-radius:2.5px;background:var(--text);color:var(--bg);display:inline-grid;place-items:center;flex-shrink:0}
.rp .rp-cb svg{width:8px;height:8px}
.rp-it{display:flex;align-items:center;gap:7px;padding-left:14px}
.rp .rp-gear{margin-left:auto;color:var(--muted)}
.rp .rp-lock{width:10px;height:10px;color:var(--text-2)}
.rp-codes{margin-left:19px;padding:0 0 2px 12px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:3px}
.rp-codes .h{color:var(--muted)}
.rp-codes .n{color:var(--muted);font-size:9.5px;line-height:1.45}
.rp-chev{color:var(--muted);margin-right:6px}
.rp-rh{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.rp-rt{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-weight:600}
.rp-seg{display:flex;border:1px solid var(--border);border-radius:5px;padding:2px}
.rp-seg span{padding:3px 8px;border-radius:3px}
.rp-seg .on{background:var(--accent);color:#fff;font-weight:500}
.rp-sec{display:flex;align-items:center;gap:7px;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-weight:600;padding:2px}
.rp-sec .t{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted);display:flex;align-items:center;gap:6px}
.rp-tg{width:22px;height:12px;border-radius:6px;background:var(--text);position:relative;display:inline-block}
.rp-tg::after{content:"";position:absolute;right:2px;top:2px;width:8px;height:8px;border-radius:50%;background:var(--bg)}
.rp-row{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:5px;padding:5px 8px;min-height:28px}
.rp-row .n{color:var(--muted);font-family:var(--font-mono);width:16px;text-align:right}
.rp-acts{margin-left:auto;display:flex;align-items:center;gap:9px;color:var(--text-2)}
.rp-lay{border:1px solid var(--accent);color:var(--accent);border-radius:4px;width:18px;height:18px;display:grid;place-items:center}
.rp .rp-lay svg{width:10px;height:10px}
.rp .rp-drag{width:10px;height:10px;color:var(--muted)}
.rp-ft{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border)}
.rp-gen{background:var(--text);color:var(--bg);border-radius:4px;padding:6px 12px;font-weight:600}
@media (max-width:700px){.rp-body{grid-template-columns:minmax(0,1fr)}.rp-l{display:none}}
@media (min-width:900px){#engine .io{grid-template-columns:repeat(3,minmax(0,1fr))}}
.uc-eve-l{margin:6px 0 0;padding-left:16px;display:grid;gap:2px}
.uc-eve-l code{font-family:var(--font-mono);font-size:10px;color:var(--text)}
.uc-card{border:1px solid var(--border);border-radius:6px;background:var(--surface-2);overflow:hidden}
.uc-card-h{display:flex;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--border);font-size:11px;color:var(--text)}
.uc-card-h b{font-weight:600}
.uc-chev{color:var(--muted);font-size:11px}
.uc-tag{font-family:var(--font-mono);font-size:8.5px;padding:1px 6px;border:1px solid var(--border);border-radius:10px;color:var(--muted);background:var(--surface)}
.uc-card-tb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 11px 4px}
.uc-seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}
.uc-seg span{font-size:10px;padding:2px 7px;border-radius:3px;color:var(--muted)}
.uc-seg span.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.uc-tbtn{font-size:10px;padding:3px 8px;border:1px solid var(--border);border-radius:4px;color:var(--text-2);background:var(--surface)}
.uc-card-meta{display:flex;align-items:center;gap:8px;padding:2px 11px 8px;font-size:10px;color:var(--muted)}
.uc-card-ch{position:relative;margin:0 11px 11px;padding:34px 14px 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface)}
.uc-dash{position:absolute;top:8px;right:8px}
.uc-hb{display:grid;gap:7px}
.uc-hb-r,.uc-hb-ax{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);align-items:center;gap:8px}
.uc-hb-k{font-family:var(--font-mono);font-size:9.5px;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uc-hb-t{position:relative;height:20px;border-left:1px solid var(--border);border-right:1px solid var(--border);background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),color-mix(in oklab,var(--border) 70%,transparent) calc(25% - 1px) 25%)}
.uc-hb-t i{position:absolute;right:0;top:0;bottom:0;width:var(--w);background:var(--danger);opacity:.8;border-radius:2px 0 0 2px}
.uc-hb-sc{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;color:var(--muted)}
.uc-hb-sc em{font-style:normal}
.rs-top{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:10px}
.rs-cap{text-transform:uppercase;letter-spacing:.06em}
.rs-box{border:1px solid var(--border);border-radius:6px;padding:6px 8px;display:grid;gap:3px}
.rs-gh{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 2px 0}
.rs-row{display:grid;grid-template-columns:10px 14px minmax(0,1fr) auto 18px;align-items:center;gap:7px;padding:4px;border-radius:4px;font-size:10.5px;color:var(--muted);opacity:.6}
.rs-row.on{opacity:1;color:var(--text);background:var(--surface-2)}
.rs-chev{color:var(--muted)}
.rs-cb{width:12px;height:12px;border:1px solid var(--border);border-radius:3px;display:grid;place-items:center;font-size:8px;line-height:1}
.rs-row.on .rs-cb{background:var(--accent);border-color:var(--accent);color:var(--bg,#fff)}
.rs-c{font-family:var(--font-mono);font-size:9px;text-align:right}
.rs-lines{display:grid;gap:6px}
.rs-line{display:grid;grid-template-columns:auto minmax(0,1fr) 70px 42px 42px 42px;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:10.5px;color:var(--text)}
.rs-t{color:var(--text)}
.rs-sel,.rs-f{font-size:9.5px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2);color:var(--muted)}
.rs-sel{display:flex;justify-content:space-between;color:var(--text-2)}
.rs-sel i{font-style:normal}
.rs-res{border:1px solid var(--border);border-radius:6px;padding:9px 11px;display:grid;gap:4px}
.rs-ok{font-size:11px;font-weight:600;color:var(--success,#3fb37f)}
.rs-tbl{display:grid;margin-top:4px}
.rs-tr{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,.8fr)) minmax(0,1.2fr);gap:8px;padding:3px 0;font-size:10.5px;color:var(--text)}
.rs-tr>div:not(:first-child){text-align:right;font-family:var(--font-mono);font-size:9.5px}
.rs-tr>div:nth-child(2),.rs-tr>div:nth-child(3){color:var(--muted)}
.rs-tr.h>div{font-family:inherit!important;font-weight:600;color:var(--text-2)!important;font-size:10px!important}
.rs-how{margin-top:4px}
html[data-theme] .sec-eyebrow,html[data-theme] .tile .tn,html[data-theme] .io-card .k,html[data-theme] .offer .on,html[data-theme] .level .ln,html[data-theme] .dg-inside-h,html[data-theme] .cores-gh,html[data-theme] .sec-card .tn,html[data-theme] .dd-gh{font-family:var(--font-mono)!important;font-weight:700!important;font-size:14px!important;letter-spacing:.08em!important;text-transform:uppercase!important}

/* ── from a <style> of <head> ── */
/* ─────────────────────────────────────────────────────────────────────────
   RIALTO KERNEL · Design tokens
   Quiet dark + light. Premium dark blue accent. Sans + Mono.
   ───────────────────────────────────────────────────────────────────────── */


:root {
  /* type */
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* fluid sizing — overridden via inline style by tweaks */
  --fs-12: 12px;
  --fs-13: 13px;
  --fs-14: 14px;
  --fs-16: 16px;
  --fs-20: 20px;
  --fs-28: 28px;
  --fs-36: 36px;

  /* spacing */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;

  /* radii — restrained */
  --r-1: 2px;
  --r-2: 4px;
  --r-3: 6px;
  --r-pill: 999px;

  /* layout */
  --sidebar-w: 240px;
  --header-h: 52px;
  --line: 1px;
  --easing: cubic-bezier(.2,.6,.2,1);
}

/* ─── DARK (default) ─── */
:root,
[data-theme="dark"] {
  --bg:        #0a0d12;   /* page */
  --surface:   #10141a;   /* cards, panels */
  --surface-2: #161b22;   /* hover, raised */
  --surface-3: #1b212a;   /* selected */
  --border:    #1f2630;   /* hairlines */
  --border-2:  #2a323d;   /* heavier */
  --text:      #e6e8ec;   /* off-white */
  --text-2:    #b6bbc4;   /* secondary */
  --muted:     #7e8794;   /* hints */
  --dim:       #535a66;   /* skeleton, dividers */
  --accent:    #4a7bc8;   /* premium dark blue (overridable via --accent-override) */
  --accent-2:  #6f9ad4;
  --accent-soft: rgba(74,123,200,.14);
  --success:   #4a9d6a;
  --warn:      #b58a3c;
  --danger:    #c25656;
  --scrim:     rgba(0,0,0,.55);
}

[data-theme="light"] {
  --bg:        #fafafa;
  --surface:   #ffffff;
  --surface-2: #f4f5f7;
  --surface-3: #eceef2;
  --border:    #e5e7eb;
  --border-2:  #d6d9de;
  --text:      #0b0d12;
  --text-2:    #353a44;
  --muted:     #6b7280;
  --dim:       #b3b8c0;
  --accent:    #3a6ea5;
  --accent-2:  #2c5a8a;
  --accent-soft: rgba(58,110,165,.12);
  --success:   #2f7a4f;
  --warn:      #8f6a1f;
  --danger:    #a13e3e;
  --scrim:     rgba(255,255,255,.65);
}

/* density modifiers */
[data-density="compact"] {
  --sp-3: 8px;  --sp-4: 12px;  --sp-5: 14px;  --sp-6: 18px;  --sp-8: 24px;
  --header-h: 44px;
}
[data-density="comfy"] {
  --sp-3: 14px; --sp-4: 20px;  --sp-5: 24px;  --sp-6: 30px;  --sp-8: 40px;
  --header-h: 60px;
}

/* ─── base ─── */
*,*::before,*::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; height: 100%; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: var(--fs-14);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "cv11","ss01";
  overflow: hidden;
}
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
.mono, code, kbd, pre { font-family: var(--font-mono); }
.num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

::selection { background: var(--accent-soft); color: var(--text); }

/* scrollbars — thin, quiet */
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 999px; }
*::-webkit-scrollbar-thumb:hover { background: var(--muted); }

/* ─── layout primitives ─── */
.app {
  display: grid;
  grid-template-columns: var(--sidebar-w) 1fr;
  height: 100vh;
  background: var(--bg);
}

/* sidebar */
.sidebar {
  border-right: var(--line) solid var(--border);
  background: var(--surface);
  display: flex; flex-direction: column;
  min-height: 0;
}
.sidebar-head {
  height: var(--header-h);
  padding: 0 var(--sp-4);
  display: flex; align-items: center; gap: var(--sp-3);
  border-bottom: var(--line) solid var(--border);
}
.brand {
  display: flex; align-items: center; gap: 10px;
  min-width: 0;
}
.brand-mark {
  width: 22px; height: 22px;
  display: grid; place-items: center;
  opacity: .9;
}
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-name {
  font-size: var(--fs-13);
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.brand-sub {
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .05em;
}

.sidebar-body {
  flex: 1;
  overflow-y: auto;
  padding: var(--sp-4) var(--sp-2);
  display: flex; flex-direction: column;
  gap: var(--sp-5);
}

.nav-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 0 var(--sp-3) var(--sp-2);
}

.nav-item {
  display: flex; align-items: center; gap: 10px;
  width: 100%;
  padding: 7px var(--sp-3);
  border-radius: var(--r-2);
  color: var(--text-2);
  font-size: var(--fs-13);
  transition: background .12s var(--easing), color .12s var(--easing);
  position: relative;
}
.nav-item:hover { background: var(--surface-2); color: var(--text); }
.nav-item.active {
  background: var(--surface-3);
  color: var(--text);
}
.nav-item.active::before {
  content: "";
  position: absolute;
  left: -2px; top: 6px; bottom: 6px;
  width: 2px; background: var(--accent);
}
.nav-item .ico { width: 14px; height: 14px; opacity: .85; flex: 0 0 14px; }
.nav-item.active .ico { opacity: 1; color: var(--accent); }

.recent-list { display: flex; flex-direction: column; gap: 2px; }
.recent-item {
  padding: 6px var(--sp-3);
  font-size: var(--fs-12);
  color: var(--text-2);
  border-radius: var(--r-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.recent-item:hover { background: var(--surface-2); color: var(--text); }

.sidebar-foot {
  border-top: var(--line) solid var(--border);
  padding: var(--sp-3);
  display: flex; flex-direction: column; gap: var(--sp-2);
}
.user-row {
  display: flex; align-items: center; gap: 10px;
  padding: 6px var(--sp-2);
  border-radius: var(--r-2);
}
.user-row:hover { background: var(--surface-2); }
.avatar {
  width: 26px; height: 26px;
  background: var(--surface-3);
  border: var(--line) solid var(--border);
  display: grid; place-items: center;
  font-size: 11px; font-weight: 600;
  color: var(--text-2);
  border-radius: var(--r-2);
}
.user-meta { min-width: 0; flex: 1; }
.user-name { font-size: var(--fs-13); color: var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-email { font-size: 11px; color: var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* main */
.main {
  display: flex; flex-direction: column;
  min-width: 0; min-height: 0;
}
.header {
  height: var(--header-h);
  padding: 0 var(--sp-5);
  display: flex; align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  border-bottom: var(--line) solid var(--border);
  background: var(--surface);
}
.header-left, .header-right {
  display: flex; align-items: center; gap: var(--sp-3);
  min-width: 0;
}
.header-title {
  font-size: var(--fs-14);
  font-weight: 600;
  letter-spacing: -.005em;
  white-space: nowrap;
}
.header-divider { width: 1px; height: 18px; background: var(--border); }

.view {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  background: var(--bg);
}
.view-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: var(--sp-8) var(--sp-6);
}

/* ─── primitives ─── */
.btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px;
  font-size: var(--fs-13);
  border-radius: var(--r-2);
  border: var(--line) solid var(--border);
  background: var(--surface);
  color: var(--text-2);
  transition: background .12s var(--easing), color .12s var(--easing), border-color .12s var(--easing);
  white-space: nowrap;
}
.btn:hover { background: var(--surface-2); color: var(--text); border-color: var(--border-2); }
.btn.ghost { border-color: transparent; background: transparent; }
.btn.ghost:hover { background: var(--surface-2); }
.btn.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.btn.primary:hover { background: var(--accent-2); border-color: var(--accent-2); }
.btn.danger { color: var(--danger); }
.btn.danger:hover { background: color-mix(in oklab, var(--danger) 10%, var(--surface)); }
.btn .ico { width: 14px; height: 14px; }
.btn-sq { padding: 6px; }

.select, .input {
  display: inline-flex; align-items: center;
  height: 28px; padding: 0 10px;
  font-size: var(--fs-13);
  border: var(--line) solid var(--border);
  background: var(--surface);
  color: var(--text);
  border-radius: var(--r-2);
  outline: none;
  transition: border-color .12s var(--easing), background .12s var(--easing);
  appearance: none;
}
.select { padding-right: 26px; background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position: calc(100% - 14px) 50%, calc(100% - 10px) 50%; background-size: 4px 4px, 4px 4px; background-repeat: no-repeat; }
.input:focus, .select:focus { border-color: var(--accent); }
textarea.input { height: auto; min-height: 80px; padding: 8px 10px; line-height: 1.5; resize: vertical; }

.kbd {
  display: inline-flex; align-items: center;
  padding: 1px 5px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-2);
  background: var(--surface-2);
  border: var(--line) solid var(--border);
  border-radius: var(--r-1);
}

/* language segmented switch */
.lang-switch {
  display: inline-flex;
  align-items: stretch;
  border: var(--line) solid var(--border);
  border-radius: var(--r-2);
  background: var(--surface);
  overflow: hidden;
  height: 28px;
}
.lang-opt {
  position: relative;
  padding: 0 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .06em;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-left: var(--line) solid var(--border);
  cursor: pointer;
  transition: color .12s var(--easing), background .12s var(--easing);
}
.lang-opt:first-child { border-left: 0; }
.lang-opt:hover { color: var(--text); background: var(--surface-2); }
.lang-opt.active {
  color: var(--accent);
  background: var(--accent-soft);
}
.lang-opt.active::after {
  content: "";
  position: absolute;
  left: 6px; right: 6px; bottom: 0;
  height: 2px;
  background: var(--accent);
}

.badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 2px 7px;
  font-size: 11px;
  font-family: var(--font-mono);
  letter-spacing: .02em;
  color: var(--text-2);
  background: var(--surface-2);
  border: var(--line) solid var(--border);
  border-radius: var(--r-1);
}
.badge.ok    { color: var(--success); }
.badge.warn  { color: var(--warn); }
.badge.bad   { color: var(--danger); }
.badge.accent { color: var(--accent); border-color: var(--accent-soft); background: var(--accent-soft); }
.badge .dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }

/* card / panel */
.panel {
  background: var(--surface);
  border: var(--line) solid var(--border);
  border-radius: var(--r-3);
  overflow: hidden;
}
.panel-hd {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--sp-3) var(--sp-4);
  border-bottom: var(--line) solid var(--border);
  gap: var(--sp-3);
}
.panel-hd h3 {
  margin: 0;
  font-size: var(--fs-13);
  font-weight: 600;
  color: var(--text);
}
.panel-hd .sub { font-size: var(--fs-12); color: var(--muted); }
.panel-bd { padding: var(--sp-4); }
.panel-bd.flush { padding: 0; }

/* tables */
.table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-13);
}
.table th, .table td {
  padding: 10px var(--sp-4);
  text-align: left;
  border-bottom: var(--line) solid var(--border);
}
.table th {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--surface-2);
}
.table tbody tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: var(--surface-2); }
.table .num { text-align: right; }
.table th.num { text-align: right; }

/* divider / heading */
.eyebrow {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
}
.h1 { font-size: var(--fs-28); font-weight: 600; letter-spacing: -.015em; margin: 0; }
.h2 { font-size: var(--fs-20); font-weight: 600; letter-spacing: -.01em; margin: 0; }
.h3 { font-size: var(--fs-16); font-weight: 600; margin: 0; }
.lead { color: var(--text-2); font-size: var(--fs-14); max-width: 64ch; }
.mute { color: var(--muted); }
.hr { height: 1px; background: var(--border); border: 0; }

/* ──────────────────────── corner reveal (square unveil) ──────────────────────── */
/* Wrap any element. It animates a diagonal square wipe from top-left to bottom-right. */
.reveal {
  --reveal-d: .55s;
  --reveal-delay: 0s;
  position: relative;
  isolation: isolate;
  clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  animation: reveal-corner var(--reveal-d) var(--easing) var(--reveal-delay) forwards;
}
@keyframes reveal-corner {
  0%   { clip-path: polygon(0 0, 0 0, 0 0, 0 0); }
  100% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}
/* When wrapping a block, draw the leading corner line in accent. */
.reveal::after {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  z-index: 2;
  border: 1px solid var(--accent);
  opacity: 0;
  clip-path: inset(0 0 0 0);
  animation: reveal-edge var(--reveal-d) var(--easing) var(--reveal-delay) forwards;
}
@keyframes reveal-edge {
  0%   { opacity: 1; transform: scale(.985); }
  60%  { opacity: .35; }
  100% { opacity: 0;  transform: scale(1); }
}

/* skeleton (loading) */
.skel {
  background: linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);
  background-size: 200% 100%;
  animation: skel-shimmer 1.4s linear infinite;
  border-radius: var(--r-2);
  display: block;
}
@keyframes skel-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* progress bar (indeterminate sweep) */
.progress {
  position: relative;
  height: 2px;
  background: var(--border);
  overflow: hidden;
}
.progress::after {
  content: "";
  position: absolute; inset: 0;
  width: 30%;
  background: var(--accent);
  animation: progress-sweep 1.2s infinite var(--easing);
}
@keyframes progress-sweep {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(400%); }
}

/* live status (replaces colored dots clutter) */
.live {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--muted);
}
.live::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--success);
  border-radius: 50%;
  animation: pulse 1.6s ease-in-out infinite;
}
.live.idle::before { background: var(--dim); animation: none; }
.live.busy::before { background: var(--warn); }
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: .35; }
}

/* dot indicator (data ticking) */
.ticker {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--muted);
}
.caret-blink { animation: caret 1s steps(2) infinite; }
@keyframes caret { 50% { opacity: 0; } }

/* utility */
.row { display: flex; align-items: center; gap: var(--sp-3); }
.col { display: flex; flex-direction: column; gap: var(--sp-3); }
.grow { flex: 1; }
.spacer { flex: 1; }
.sep { width: 1px; height: 16px; background: var(--border); }
.grid { display: grid; gap: var(--sp-4); }
.g-2 { grid-template-columns: repeat(2, 1fr); }
.g-3 { grid-template-columns: repeat(3, 1fr); }
.g-4 { grid-template-columns: repeat(4, 1fr); }

/* tweaks panel overrides (so it adopts our dark vibe in dark mode) */
[data-theme="dark"] .twk-panel {
  background: rgba(16,20,26,.82) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.4) !important;
}
[data-theme="dark"] .twk-hd b { color: var(--text); }

/* ── from a <style> of <head> ── */
/* ─────────────────────────────────────────────────────────────────────────
   RIALTO KERNEL · marketing site
   Builds on tokens.css. Dark-premium, single accent, Inter + JetBrains Mono.
   ───────────────────────────────────────────────────────────────────────── */

:root {
  --site-max: 1200px;
  --nav-h: 64px;
  --ease: cubic-bezier(.2,.6,.2,1);
}

/* Override tokens.css app-shell rules (height:100% + overflow:hidden) so the
   marketing site scrolls on the window like a normal document. */
html {
  scroll-behavior: smooth;
  height: auto;
  overflow-x: hidden;
  overflow-y: scroll;
  background: var(--bg);
}
body {
  height: auto;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: visible;
}

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

.wrap {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: 0 24px;
}
.wrap-narrow { max-width: 880px; margin: 0 auto; padding: 0 24px; }

section { position: relative; }

/* ───────────────────── language visibility ───────────────────── */
html[data-lang="fr"] .l-en { display: none !important; }
html[data-lang="en"] .l-fr { display: none !important; }

/* clean transitions: language crossfade (page transitions = .sheet-wipe below) */
html.js body.lang-fading { opacity: .001; transition: opacity .16s var(--ease); }
html.js body { transition: opacity .18s var(--ease); }

/* ───────────────────── page transitions (3 options) ───────────────────── */
.tx {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  will-change: transform, opacity;
}
.tx.cover { pointer-events: all; }

/* A · Data scan — solid panel with a glowing accent leading edge */
.tx-scan {
  background: var(--bg);
  transform: translateX(0);
}
.tx-scan::before {
  content: "";
  position: absolute; top: 0; bottom: 0; right: -2px;
  width: 2px;
  background: var(--accent);
  box-shadow: 0 0 24px 5px color-mix(in oklab, var(--accent) 70%, transparent),
              0 0 60px 14px color-mix(in oklab, var(--accent) 35%, transparent);
}
/* faint scanline texture so it reads as "data being read" */
.tx-scan::after {
  content: "";
  position: absolute; inset: 0;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0 6px,
    color-mix(in oklab, var(--accent) 5%, transparent) 6px 7px);
  opacity: .5;
}

/* B · Ticker — vertical data columns */
.tx-ticker {
  display: grid;
  grid-template-columns: repeat(var(--n, 7), 1fr);
}
.tx-col {
  position: relative;
  background: var(--surface);
  border-right: 1px solid var(--border);
  transform: translateY(0);
  will-change: transform;
}
.tx-col:last-child { border-right: 0; }
.tx-col::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 2px; background: var(--accent);
  opacity: .8;
}
.tx-ticker { position: fixed; }

/* picker (temporary chooser) */
.tx-picker {
  position: fixed;
  left: 18px; bottom: 18px;
  z-index: 10000;
  display: flex; align-items: center; gap: 4px;
  padding: 6px;
  background: color-mix(in oklab, var(--surface) 88%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--border);
  border-radius: var(--r-2);
  box-shadow: 0 8px 28px rgba(0,0,0,.4);
}
.tx-picker-l {
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted); padding: 0 8px 0 4px;
}
.tx-picker button {
  font-family: var(--font-mono);
  font-size: 11px;
  padding: 5px 10px;
  border: 1px solid var(--border);
  border-radius: var(--r-1);
  background: var(--bg);
  color: var(--text-2);
  cursor: pointer;
  transition: color .12s var(--ease), background .12s var(--ease), border-color .12s var(--ease);
}
.tx-picker button:hover { color: var(--text); border-color: var(--border-2); }
.tx-picker button.on { color: var(--accent); background: var(--accent-soft); border-color: color-mix(in oklab, var(--accent) 40%, transparent); }

@media (prefers-reduced-motion: reduce) {
  .tx { display: none !important; }
}
@media (max-width: 600px) {
  .tx-picker { left: 10px; bottom: 10px; padding: 5px; }
  .tx-picker-l { display: none; }
}

/* ───────────────────── nav ───────────────────── */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--nav-h);
  z-index: 100;
  display: flex; align-items: center;
  background: color-mix(in oklab, var(--bg) 78%, transparent);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  border-bottom: 1px solid transparent;
  transition: border-color .2s var(--ease), background .2s var(--ease);
}
.nav.scrolled {
  border-bottom-color: var(--border);
  background: color-mix(in oklab, var(--bg) 90%, transparent);
}
.nav .wrap {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%;
}
.nav-brand {
  display: flex; align-items: center; gap: 11px;
  color: var(--text);
}
.nav-brand img { width: 26px; height: 26px; object-fit: contain; }
.nav-brand .bn { font-size: 14px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.nav-links {
  display: flex; align-items: center; gap: 4px;
}
.nav-link {
  padding: 7px 12px;
  font-size: 13px;
  color: var(--text-2);
  border-radius: var(--r-2);
  transition: color .12s var(--ease), background .12s var(--ease);
}
.nav-link:hover { color: var(--text); background: var(--surface-2); }
.nav-link.active { color: var(--text); }
.nav-right { display: flex; align-items: center; gap: 10px; }

/* lang toggle */
.lang-toggle {
  display: inline-flex;
  border: 1px solid var(--border);
  border-radius: var(--r-2);
  overflow: hidden;
  height: 30px;
}
.lang-toggle button {
  padding: 0 9px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .05em;
  color: var(--muted);
  background: transparent;
  border: 0; cursor: pointer;
  transition: color .12s var(--ease), background .12s var(--ease);
}
.lang-toggle button.active { color: var(--accent); background: var(--accent-soft); }
.lang-toggle button:hover:not(.active) { color: var(--text); }

/* buttons */
.btn-site {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px;
  font-size: 13px; font-weight: 500;
  border-radius: var(--r-2);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  transition: all .14s var(--ease);
  white-space: nowrap;
  cursor: pointer;
}
.btn-site:hover { background: var(--surface-2); border-color: var(--border-2); transform: translateY(-1px); }
.btn-site.primary {
  background: var(--accent); border-color: var(--accent); color: #fff;
}
.btn-site.primary:hover { background: var(--accent-2); border-color: var(--accent-2); }
.btn-site.lg { padding: 12px 22px; font-size: 14px; }
.btn-site .ico { width: 15px; height: 15px; }
.btn-site.ghost { background: transparent; border-color: var(--border); }
.btn-site.ghost:hover { background: var(--surface-2); }

.mobile-toggle { display: none; }

/* ───────────────────── hero ───────────────────── */
.hero {
  padding: calc(var(--nav-h) + 80px) 0 100px;
  position: relative;
  overflow: hidden;
}
/* faint radial behind the sphere — single, restrained, not a "glow blob" */
.hero::before {
  content: "";
  position: absolute;
  top: -10%; right: -5%;
  width: 720px; height: 720px;
  background: radial-gradient(circle at center,
    color-mix(in oklab, var(--accent) 18%, transparent) 0%,
    transparent 62%);
  opacity: .5;
  pointer-events: none;
  z-index: 0;
}
.hero .wrap {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 40px;
  align-items: center;
  position: relative; z-index: 1;
}
.eyebrow-site {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 22px;
}
.eyebrow-site::before {
  content: ""; width: 18px; height: 1px; background: var(--accent);
}
.hero h1 {
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.04;
  letter-spacing: -.025em;
  font-weight: 600;
  margin: 0 0 24px;
  text-wrap: balance;
}
.hero h1 .acc { color: var(--accent-2); }
.hero-lead {
  font-size: 17px;
  line-height: 1.6;
  color: var(--text-2);
  max-width: 50ch;
  margin: 0 0 32px;
}
.hero-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 30px; }
.hero-meta {
  display: flex; gap: 24px; flex-wrap: wrap;
  font-size: 12px; color: var(--muted);
  font-family: var(--font-mono);
}
.hero-meta span { display: inline-flex; align-items: center; gap: 7px; }
.hero-meta .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--success); }

/* sphere visual */
.hero-visual {
  position: relative;
  display: grid; place-items: center;
}
.sphere {
  width: min(380px, 90%);
  aspect-ratio: 1;
  position: relative;
  animation: floaty 7s ease-in-out infinite;
}
.sphere img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 24px 60px rgba(0,0,0,.6)); }
@keyframes floaty {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}
/* orbit ring */
.sphere-ring {
  position: absolute; inset: -8%;
  border: 1px solid var(--border-2);
  border-radius: 50%;
  opacity: .4;
}
.sphere-ring.r2 { inset: -18%; opacity: .22; }

/* ───────────────────── generic section header ───────────────────── */
.sec {
  padding: 88px 0;
  border-top: 1px solid var(--border);
}
.sec-head { max-width: 680px; margin: 0 0 48px; }
.sec-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.sec-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 14px;
}
.sec-title {
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.1; letter-spacing: -.02em; font-weight: 600;
  margin: 0 0 16px; text-wrap: balance;
}
.sec-lead { font-size: 16px; line-height: 1.6; color: var(--text-2); max-width: 56ch; }
.sec-head.center .sec-lead { margin-left: auto; margin-right: auto; }

/* ───────────────────── trust band ───────────────────── */
.band {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.band .wrap {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border);
}
.band-cell {
  background: var(--surface);
  padding: 28px 24px;
  text-align: center;
}
.band-num {
  font-family: var(--font-mono);
  font-size: 30px; font-weight: 600; letter-spacing: -.02em;
  color: var(--text);
  margin-bottom: 6px;
}
.band-num .u { color: var(--accent); }
.band-label { font-size: 12px; color: var(--muted); }

/* ───────────────────── feature grid (insight cores) ───────────────────── */
.cores { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.core {
  border: 1px solid var(--border);
  border-radius: var(--r-3);
  background: var(--surface);
  padding: 24px;
  transition: border-color .16s var(--ease), transform .16s var(--ease), background .16s var(--ease);
  position: relative;
  overflow: hidden;
}
.core:hover { border-color: var(--border-2); background: var(--surface-2); transform: translateY(-3px); }
.core-ico {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border: 1px solid var(--border);
  border-radius: var(--r-2);
  color: var(--accent);
  margin-bottom: 18px;
  background: var(--accent-soft);
}
.core-ico svg { width: 18px; height: 18px; }
.core h3 { font-size: 16px; font-weight: 600; margin: 0 0 8px; }
.core-tag {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--muted); margin-bottom: 14px;
}
.core p { font-size: 13.5px; line-height: 1.6; color: var(--text-2); margin: 0; }
.core-metrics {
  display: flex; gap: 16px; margin-top: 18px;
  padding-top: 16px; border-top: 1px solid var(--border);
}
.core-metric { display: flex; flex-direction: column; gap: 2px; }
.core-metric .v { font-family: var(--font-mono); font-size: 15px; color: var(--text); }
.core-metric .k { font-size: 10px; color: var(--muted); }

/* ───────────────────── how it works ───────────────────── */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.step {
  padding: 24px;
  border: 1px solid var(--border);
  border-right: 0;
  position: relative;
}
.step:last-child { border-right: 1px solid var(--border); }
.step:first-child { border-radius: var(--r-3) 0 0 var(--r-3); }
.step:last-child { border-radius: 0 var(--r-3) var(--r-3) 0; }
.step-n {
  font-family: var(--font-mono); font-size: 11px;
  color: var(--accent); margin-bottom: 16px;
  display: flex; align-items: center; gap: 8px;
}
.step-n::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.step h4 { font-size: 15px; font-weight: 600; margin: 0 0 8px; }
.step p { font-size: 13px; line-height: 1.55; color: var(--text-2); margin: 0; }
.step-arrow {
  position: absolute; right: -7px; top: 50%; transform: translateY(-50%);
  width: 14px; height: 14px;
  background: var(--bg);
  display: grid; place-items: center;
  color: var(--muted); z-index: 2;
}

/* ───────────────────── app mockup ───────────────────── */
.mock {
  border: 1px solid var(--border-2);
  border-radius: 8px;
  overflow: hidden;
  background: var(--surface);
  box-shadow: 0 30px 70px rgba(0,0,0,.45);
}
.mock-bar {
  height: 36px;
  display: flex; align-items: center; gap: 7px;
  padding: 0 14px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
}
.mock-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--border-2); }
.mock-title { margin-left: 10px; font-family: var(--font-mono); font-size: 11px; color: var(--muted); }
.mock-body { display: grid; grid-template-columns: 168px 1fr; min-height: 360px; }
.mock-side {
  border-right: 1px solid var(--border);
  padding: 12px 8px;
  background: var(--surface);
  display: flex; flex-direction: column; gap: 3px;
}
.mock-side .ml {
  font-size: 9px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--muted); padding: 8px 8px 4px;
}
.mock-nav {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 8px; border-radius: 4px;
  font-size: 11.5px; color: var(--text-2);
}
.mock-nav .mi { width: 11px; height: 11px; opacity: .7; }
.mock-nav.on { background: var(--surface-3); color: var(--text); }
.mock-nav.on .mi { color: var(--accent); opacity: 1; }
.mock-main { padding: 18px; display: flex; flex-direction: column; gap: 12px; overflow: hidden; }
.mock-msg {
  align-self: flex-end; max-width: 72%;
  background: var(--accent-soft); border: 1px solid var(--accent-soft);
  border-radius: 6px; padding: 8px 11px; font-size: 11.5px; color: var(--text);
}
.mock-agent { display: flex; flex-direction: column; gap: 8px; }
.mock-agent-h { font-family: var(--font-mono); font-size: 9px; color: var(--muted); }
.mock-txt { font-size: 11.5px; line-height: 1.55; color: var(--text-2); }
.mock-tbl {
  border: 1px solid var(--border); border-radius: 5px; overflow: hidden;
  font-size: 10.5px;
}
.mock-tbl-r { display: grid; grid-template-columns: 1.6fr 1fr 1fr .8fr; }
.mock-tbl-r > div { padding: 5px 9px; border-bottom: 1px solid var(--border); }
.mock-tbl-r:last-child > div { border-bottom: 0; }
.mock-tbl-h > div {
  background: var(--surface-2); color: var(--muted);
  font-size: 8.5px; letter-spacing: .06em; text-transform: uppercase;
}
.mock-tbl .num { font-family: var(--font-mono); text-align: right; }
.mock-badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--font-mono); font-size: 9px;
  color: var(--success);
}
.mock-badge .d { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.mock-srcs { display: flex; gap: 5px; flex-wrap: wrap; }
.mock-chip {
  font-family: var(--font-mono); font-size: 8.5px;
  padding: 2px 6px; border: 1px solid var(--border);
  border-radius: 3px; color: var(--text-2); background: var(--surface-2);
}
.mock-input {
  margin-top: auto;
  border: 1px solid var(--border); border-radius: 6px;
  padding: 7px 10px; font-size: 11px; color: var(--muted);
  display: flex; align-items: center; justify-content: space-between;
  background: var(--bg);
}
.mock-input .send {
  width: 22px; height: 22px; border-radius: 4px;
  background: var(--accent); display: grid; place-items: center; color: #fff;
}
.mock-input .send svg { width: 11px; height: 11px; }

/* ───────────────────── live agent preview ───────────────────── */
.agent-preview { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; }
.agent-steps { display: flex; flex-direction: column; gap: 2px; }
.agent-step {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: var(--r-2);
  background: var(--surface);
}
.agent-step .as-ico {
  width: 26px; height: 26px; border-radius: 5px;
  display: grid; place-items: center;
  background: var(--accent-soft); color: var(--accent);
  flex-shrink: 0;
}
.agent-step .as-ico svg { width: 13px; height: 13px; }
.agent-step .as-t { font-size: 13px; font-weight: 500; }
.agent-step .as-d { font-size: 11.5px; color: var(--muted); }
.agent-step .as-stat { margin-left: auto; }

/* ───────────────────── security ───────────────────── */
.sec-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sec-card {
  border: 1px solid var(--border); border-radius: var(--r-3);
  padding: 22px; background: var(--surface);
  transition: border-color .16s var(--ease), background .16s var(--ease);
}
.sec-card:hover { border-color: var(--border-2); background: var(--surface-2); }
.sec-card .sc-ico { color: var(--accent); margin-bottom: 14px; }
.sec-card .sc-ico svg { width: 20px; height: 20px; }
.sec-card h4 { font-size: 14.5px; font-weight: 600; margin: 0 0 8px; }
.sec-card p { font-size: 13px; line-height: 1.55; color: var(--text-2); margin: 0; }
.compliance-row {
  display: flex; gap: 10px; flex-wrap: wrap; margin-top: 36px;
  justify-content: center;
}
.compliance-chip {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--border); border-radius: var(--r-pill);
  font-family: var(--font-mono); font-size: 11px; color: var(--text-2);
  background: var(--surface);
}
.compliance-chip .ico { width: 13px; height: 13px; color: var(--accent); }

/* ───────────────────── FAQ ───────────────────── */
.faq { max-width: 760px; margin: 0 auto; }
.faq-item {
  border-bottom: 1px solid var(--border);
}
.faq-q {
  width: 100%; text-align: left;
  padding: 20px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  background: transparent; border: 0; cursor: pointer;
  font-size: 15.5px; font-weight: 500; color: var(--text);
}
.faq-q .fq-plus {
  width: 18px; height: 18px; flex-shrink: 0; color: var(--muted);
  transition: transform .2s var(--ease), color .2s var(--ease);
}
.faq-item.open .fq-plus { transform: rotate(45deg); color: var(--accent); }
.faq-a {
  max-height: 0; overflow: hidden;
  transition: max-height .28s var(--ease);
}
.faq-a-inner { padding: 0 0 22px; font-size: 14px; line-height: 1.65; color: var(--text-2); max-width: 62ch; }

/* ───────────────────── CTA band ───────────────────── */
.cta {
  border-top: 1px solid var(--border);
  padding: 90px 0;
  text-align: center;
  position: relative; overflow: hidden;
}
.cta::before {
  content: "";
  position: absolute; bottom: -40%; left: 50%; transform: translateX(-50%);
  width: 620px; height: 620px;
  background: radial-gradient(circle, color-mix(in oklab, var(--accent) 16%, transparent), transparent 62%);
  opacity: .5; pointer-events: none;
}
.cta .wrap { position: relative; z-index: 1; }
.cta h2 { font-size: clamp(28px, 3.4vw, 42px); letter-spacing: -.02em; font-weight: 600; margin: 0 0 18px; text-wrap: balance; }
.cta p { font-size: 16px; color: var(--text-2); max-width: 52ch; margin: 0 auto 30px; }
.cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ───────────────────── footer ───────────────────── */
.footer {
  border-top: 1px solid var(--border);
  background: var(--surface);
  padding: 56px 0 32px;
}
.footer-top {
  display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px; margin-bottom: 44px;
}
.footer-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.footer-brand img { width: 24px; height: 24px; }
.footer-brand .bn { font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.footer-desc { font-size: 13px; line-height: 1.6; color: var(--muted); max-width: 32ch; }
.footer-col h5 {
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted); margin: 0 0 14px; font-weight: 600;
}
.footer-col a {
  display: block; font-size: 13px; color: var(--text-2);
  padding: 5px 0; transition: color .12s var(--ease);
}
.footer-col a:hover { color: var(--text); }
.footer-bot {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 24px; border-top: 1px solid var(--border);
  font-size: 12px; color: var(--muted); gap: 16px; flex-wrap: wrap;
}
.footer-bot .mono { font-family: var(--font-mono); }

/* ───────────────────── reveal animation ───────────────────── */
/* Content is ALWAYS visible — no opacity gating. A subtle one-shot transform
   entrance is layered on via .in, but it never touches opacity, so content
   can never get stuck hidden (e.g. in throttled/offscreen render contexts). */
.rv, .rv-corner { opacity: 1; transform: none; clip-path: none; }
html.js .rv.in { animation: rv-rise .55s var(--ease) both; }
@keyframes rv-rise {
  from { transform: translateY(14px); }
  to   { transform: translateY(0); }
}
.rv-d1 { animation-delay: .05s; }
.rv-d2 { animation-delay: .10s; }
.rv-d3 { animation-delay: .15s; }
.rv-d4 { animation-delay: .20s; }
.rv-d5 { animation-delay: .25s; }

@media (prefers-reduced-motion: reduce) {
  .rv, .rv-corner { opacity: 1; transform: none; clip-path: none; animation: none; transition: none; }
  .sphere { animation: none; }
}

/* ───────────────────── page hero (inner pages) ───────────────────── */
.page-hero {
  padding: calc(var(--nav-h) + 64px) 0 56px;
  border-bottom: 1px solid var(--border);
  position: relative; overflow: hidden;
}
.page-hero::before {
  content: ""; position: absolute; top: -30%; right: -10%;
  width: 520px; height: 520px;
  background: radial-gradient(circle, color-mix(in oklab, var(--accent) 14%, transparent), transparent 60%);
  opacity: .4; pointer-events: none;
}
.page-hero .wrap { position: relative; z-index: 1; }
.page-hero h1 {
  font-size: clamp(32px, 4vw, 48px); letter-spacing: -.025em; font-weight: 600;
  margin: 14px 0 18px; line-height: 1.05; max-width: 20ch; text-wrap: balance;
}
.page-hero .lead { font-size: 17px; line-height: 1.6; color: var(--text-2); max-width: 56ch; }

/* prose */
.prose h2 { font-size: 24px; letter-spacing: -.01em; margin: 40px 0 14px; font-weight: 600; }
.prose h3 { font-size: 17px; margin: 28px 0 10px; font-weight: 600; }
.prose p { font-size: 15px; line-height: 1.7; color: var(--text-2); margin: 0 0 16px; max-width: 68ch; }
.prose ul { margin: 0 0 18px; padding-left: 0; list-style: none; max-width: 68ch; }
.prose li {
  font-size: 15px; line-height: 1.6; color: var(--text-2);
  padding: 8px 0 8px 26px; position: relative;
  border-bottom: 1px solid var(--border);
}
.prose li::before {
  content: ""; position: absolute; left: 4px; top: 16px;
  width: 7px; height: 7px; border: 1.5px solid var(--accent);
  border-radius: 1px;
}

/* split layout for product/about */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.split.rev > :first-child { order: 2; }

/* contact form */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-site { display: flex; flex-direction: column; gap: 7px; }
.field-site.full { grid-column: 1 / -1; }
.field-site label {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em;
  text-transform: uppercase; color: var(--muted);
}
.field-site input, .field-site select, .field-site textarea {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-2);
  padding: 11px 13px;
  font-size: 14px; color: var(--text);
  outline: none;
  transition: border-color .14s var(--ease);
  font-family: var(--font-sans);
}
.field-site textarea { min-height: 120px; resize: vertical; line-height: 1.55; }
.field-site input:focus, .field-site select:focus, .field-site textarea:focus { border-color: var(--accent); }

/* team / values cards */
.tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tile {
  border: 1px solid var(--border); border-radius: var(--r-3);
  padding: 22px; background: var(--surface);
}
.tile .tn { font-family: var(--font-mono); font-size: 11px; color: var(--accent); margin-bottom: 12px; }
.tile h4 { font-size: 15px; font-weight: 600; margin: 0 0 8px; }
.tile p { font-size: 13px; line-height: 1.6; color: var(--text-2); margin: 0; }

/* ───────────────────── responsive ───────────────────── */
@media (max-width: 920px) {
  .hero .wrap { grid-template-columns: 1fr; gap: 40px; }
  .hero-visual { order: -1; }
  .sphere { width: min(260px, 70%); }
  .cores, .sec-grid, .tiles { grid-template-columns: 1fr 1fr; }
  .steps { grid-template-columns: 1fr 1fr; }
  .step { border-right: 1px solid var(--border); }
  .step:nth-child(odd) { border-radius: 0; }
  .agent-preview, .split { grid-template-columns: 1fr; gap: 32px; }
  .split.rev > :first-child { order: 0; }
  .band .wrap { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .cores, .sec-grid, .tiles, .steps { grid-template-columns: 1fr; }
  .band .wrap { grid-template-columns: 1fr 1fr; }
  .hero h1 { font-size: 34px; }}@media (max-width:920px){
  .nav-links { display: none; }
  .nav-links.open {
    display: flex; flex-direction: column;
    position: absolute; top: var(--nav-h); left: 0; right: 0;
    background: var(--surface); border-bottom: 1px solid var(--border);
    padding: 12px; gap: 2px;
  }
  .nav-links.open .nav-link { padding: 12px; }
  .mobile-toggle {
    display: grid; place-items: center;
    width: 36px; height: 36px; border: 1px solid var(--border);
    border-radius: var(--r-2); background: var(--surface); cursor: pointer; color: var(--text);
  }
  .nav-cta-text { display: none; }}

/* theme toggle */
.theme-toggle{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-2);background:transparent;color:var(--text-2);cursor:pointer;transition:color .12s var(--ease),background .12s var(--ease)}
.theme-toggle:hover{color:var(--text);background:var(--surface-2)}
.theme-toggle svg{width:15px;height:15px}
.theme-toggle .ico-moon{display:none}
[data-theme="light"] .theme-toggle .ico-sun{display:none}
[data-theme="light"] .theme-toggle .ico-moon{display:block}
/* light-mode refinements */
[data-theme="light"] .mock{box-shadow:0 24px 60px rgba(15,23,42,.12)}
[data-theme="light"] .sphere img{filter:drop-shadow(0 18px 40px rgba(15,23,42,.25))}
[data-theme="light"] .tx-picker{box-shadow:0 8px 28px rgba(15,23,42,.12)}
[data-theme="light"] .hero::before,[data-theme="light"] .cta::before,[data-theme="light"] .page-hero::before{opacity:.25}

[data-theme="light"] .nav-brand img,[data-theme="light"] .footer-brand img{filter:drop-shadow(0 0 .6px rgba(20,28,40,.45))}
.mock-tbl-r{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr)}
.mock-tbl-r>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.mock-tbl-r>div{text-overflow:clip}
@media (max-width:1100px){.mock-body{grid-template-columns:120px 1fr}.mock-tbl-r{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr)}.mock-tbl-r>div:nth-child(3){display:none}}
@media (max-width:920px){.mock-body{grid-template-columns:150px 1fr}.mock-tbl-r{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr)}.mock-tbl-r>div:nth-child(3){display:block}}
@media (max-width:560px){.mock-side{display:none}.mock-body{grid-template-columns:1fr}}

.mock-badge.alert{color:var(--danger)}
.mock-tbl-r.is-breach>div{background:color-mix(in oklab,var(--danger) 10%,transparent)}
.mock-tbl-r.is-breach .num{color:var(--danger)}
.mock-alert-t{color:var(--danger);font-weight:600}

/* interactive hero mock */
button.mock-nav{width:100%;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease)}
button.mock-nav:hover:not(.on){background:var(--surface-2);color:var(--text)}
.mock-main{min-height:360px}
.hero-visual .mock{width:min(760px,100%);flex:none;justify-self:end}
@media (min-width:1200px){.hero .wrap{max-width:calc(var(--site-max) + 160px)}}
.hero-visual .mock-body{height:460px;min-height:0;grid-template-columns:168px minmax(0,1fr);overflow:hidden}
.hero-visual .mock-side{overflow:hidden}
.hero-visual .mock-main{min-height:0;height:100%;box-sizing:border-box;overflow-x:hidden;overflow-y:auto}
.hero-visual .mock-view{min-height:0}
@media (max-width:560px){.hero-visual .mock-body{grid-template-columns:120px minmax(0,1fr)}}
.mock-view{display:none;flex-direction:column;gap:12px;flex:1;min-width:0}
.mock-view.on{display:flex}
.mock-thread{display:flex;flex-direction:column;gap:12px}
.mock-in{animation:mock-rise .3s var(--ease) backwards}
@keyframes mock-rise{from{opacity:.35;transform:translateY(6px)}}
.mock-think{display:flex;gap:4px;padding:6px 0}
.mock-think i{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:mock-dot 1s infinite ease-in-out}
.mock-think i:nth-child(2){animation-delay:.15s}.mock-think i:nth-child(3){animation-delay:.3s}
@keyframes mock-dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
.mock-sugg{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.mock-sugg button{font-family:var(--font-mono);font-size:9.5px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:all .12s var(--ease)}
.mock-sugg button:hover{color:var(--text);border-color:var(--border-2)}
.mock-sugg button.on{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 45%,transparent);background:var(--accent-soft)}
.mock-view[data-view="chat"] .mock-input{margin-top:0}
.mock-vh{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;font-weight:600;color:var(--text)}
.mock-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mock-kpi{border:1px solid var(--border);border-radius:5px;padding:9px 10px;background:var(--surface-2)}
.mock-kpi .k{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mock-kpi .v{font-family:var(--font-mono);font-size:16px;color:var(--text);margin:3px 0 2px}
.mock-kpi .s{font-size:9.5px;color:var(--muted)}
.mock-kpi.alert{border-color:color-mix(in oklab,var(--danger) 45%,transparent)}
.mock-kpi.alert .v{color:var(--danger)}
.mock-chart{border:1px solid var(--border);border-radius:5px;padding:10px;flex:1;display:flex;flex-direction:column;gap:8px}
.mock-chart-h{font-family:var(--font-mono);font-size:9px;color:var(--muted)}
.mock-bars{position:relative;flex:1;min-height:120px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end;padding-bottom:16px}
.mock-bars .mb{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center}
.mock-bars i{display:block;width:70%;height:var(--h);background:color-mix(in oklab,var(--accent) 55%,transparent);border-radius:2px 2px 0 0;}
.mock-bars i.neg{background:color-mix(in oklab,var(--accent) 80%,transparent)}
.mock-bars i.alert{background:var(--danger)}
.mock-bars span{position:absolute;bottom:-15px;font-family:var(--font-mono);font-size:8.5px;color:var(--muted);white-space:nowrap}
@keyframes mock-grow{from{transform:scaleY(.15)}}
.mock-lim{position:absolute;left:0;right:0;bottom:calc(89.2% + 1.7px);border-top:1px dashed var(--danger);pointer-events:none}
.mock-lim span{position:absolute;right:0;top:-12px;font-family:var(--font-mono);font-size:8.5px;color:var(--danger)}
.mock-badge.warn{color:var(--warn)}
.mock-files .mock-tbl-r{grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,1fr)}
.mock-note{font-size:10.5px;line-height:1.5;color:var(--muted)}
.mock-run{font-family:var(--font-mono);font-size:10px;padding:4px 10px;border-radius:4px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}
.mock-run:disabled{opacity:.5;cursor:default}
.mock-steps{display:flex;flex-direction:column;gap:6px}
.ms{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);transition:border-color .2s var(--ease),background .2s var(--ease)}
.ms b{width:22px;height:22px;border-radius:4px;display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;font-weight:500;background:var(--bg);color:var(--muted);border:1px solid var(--border)}
.ms .t{font-size:11.5px;font-weight:500;color:var(--text)}
.ms .d{font-family:var(--font-mono);font-size:9px;color:var(--muted)}
.ms .st{font-family:var(--font-mono);font-size:9.5px;color:var(--muted)}
.ms.run{border-color:var(--accent)}
.ms.run b{color:var(--accent);border-color:var(--accent)}
.ms.done b{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.ms.done .st{color:var(--success)}

.mock-files .mock-tbl-r>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){.mock-files .mock-tbl-r{grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,1fr)}.mock-files .mock-tbl-r>div:nth-child(2){display:none}.mock-files .mock-tbl-r>div:nth-child(3){display:block}.mock-files .mock-badge{font-size:8.5px}}
@media (max-width:920px){.mock-files .mock-tbl-r{grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,1fr)}.mock-files .mock-tbl-r>div:nth-child(2){display:block}}
@media (max-width:560px){.mock-files .mock-tbl-r{grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,1fr)}.mock-files .mock-tbl-r>div:nth-child(2){display:none}}

@media (max-width:1100px) and (min-width:921px),(max-width:560px){
.mock-files .mock-tbl-r{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.mock-files .mock-tbl-r>div:nth-child(2),.mock-files .mock-tbl-r>div:nth-child(3){display:none}
.mock-files .mock-tbl-r>div{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.mock-files .mock-badge{white-space:normal}
}

.mock .mock-tbl-r>div{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;hyphens:auto}
.mock .mock-tbl-r{align-items:stretch}
.mock .mock-tbl-r>div{display:flex;align-items:center;min-width:0}
.mock .mock-tbl-r>div.num{justify-content:flex-end;text-align:right}
.mock .mock-badge{white-space:nowrap}

.mock-kpi{container-type:inline-size;min-width:0}
.mock-kpi .v{font-size:clamp(11px,17cqw,16px);white-space:nowrap}

/* fixed-size app window */
.hero-visual,.hero-visual .mock{min-width:0}
.mock-body{height:430px}
.mock-main{min-height:0;overflow:hidden}
.mock-view{min-height:0}
.mock-thread{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}
.mock-view[data-view="data"],.mock-view[data-view="flow"]{overflow-y:auto}
@media (max-width:560px){.mock-body{height:400px}}

/* re-assert chat-table column hide after the flex-cell rule */
@media (max-width:1100px) and (min-width:921px),(max-width:560px){
.mock .mock-tbl:not(.mock-files) .mock-tbl-r>div:nth-child(3){display:none}
}
.mock-view[data-view="chat"] .mock-sugg,.mock-view[data-view="chat"] .mock-input{flex-shrink:0}

@media (max-width:1100px) and (min-width:921px),(max-width:560px){
.mock-kpis{grid-template-columns:1fr;gap:5px}
.mock-kpi{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:8px;padding:6px 9px}
.mock-kpi .v{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:14px;margin:0}
.mock-kpi .k{grid-column:1;grid-row:1}
.mock-kpi .s{grid-column:1;grid-row:2}
}

ul.prose{list-style:none;padding-left:0}
ul.prose li::marker{content:none}

/* actual vs RIALTO comparison in the stat band */
.band-cmp{position:relative}
.band-tag{display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:3px;margin-bottom:12px;border:1px solid var(--border);color:var(--muted)}
.band-cmp.is-rk .band-tag{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 45%,transparent);background:var(--accent-soft)}
.band-cmp.is-rk{background:color-mix(in oklab,var(--accent) 6%,var(--surface))}
.band-vs{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);z-index:2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;color:var(--text-2);background:var(--bg);border:1px solid var(--border-2)}
@media (max-width:920px){.band-vs{display:none}}

.band-tag{white-space:nowrap}
.band .band-cell::before{content:"";display:block;height:31px}
.band .band-cmp::before{display:none}
.band-cmp .band-tag{height:19px;line-height:13px;margin-bottom:12px;box-sizing:border-box}
@media (max-width:1100px){.band-tag{font-size:9px;letter-spacing:.06em;padding:3px 6px}}

.band-cmp .band-tag{display:block;width:fit-content;margin:0 auto 12px}

/* ─── rich content: modules, platform, offers ─── */
@media (max-width:1240px){.nav-link{padding:7px 9px;font-size:12.5px}}
@media (max-width:1100px){.nav-cta-text{display:none}}
.footer-top{grid-template-columns:1.4fr 1fr 1fr 1fr}
.mod-status{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--border);border-radius:3px;color:var(--muted);white-space:nowrap;vertical-align:middle}
.mod-status .d{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.mod-status.op{color:var(--success);border-color:color-mix(in oklab,var(--success) 40%,transparent)}
.mod-status.fin{color:var(--warn);border-color:color-mix(in oklab,var(--warn) 40%,transparent)}
.mod-status.core{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 40%,transparent)}
a.core{display:block;color:inherit}
.core-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:18px}
.core-head .core-ico{margin:0}
.core-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:12.5px;color:var(--accent)}
a.tile{display:block;color:inherit;transition:border-color .16s var(--ease),background .16s var(--ease),transform .16s var(--ease)}
a.tile:hover{border-color:var(--border-2);background:var(--surface-2);transform:translateY(-2px)}
.mod-strip{display:flex;gap:6px;overflow-x:auto;padding:22px 0 2px;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}
.mod-strip a{flex-shrink:0;font-family:var(--font-mono);font-size:11px;padding:6px 11px;border:1px solid var(--border);border-radius:var(--r-2);color:var(--text-2);white-space:nowrap;transition:color .12s var(--ease),border-color .12s var(--ease)}
.mod-strip a.on{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 45%,transparent);background:var(--accent-soft)}
.mod-strip a:hover:not(.on){color:var(--text);border-color:var(--border-2)}
.io{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.io-card{border:1px solid var(--border);border-radius:var(--r-3);padding:22px;background:var(--surface)}
.io-card .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.io-card p{font-size:14px;line-height:1.65;color:var(--text-2);margin:0}
.scope{display:flex;flex-wrap:wrap;gap:8px}
.scope>span{font-size:12.5px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface);color:var(--text-2);display:inline-flex;align-items:center;gap:9px}
.scope>span::before{content:"";display:inline-block;width:6px;height:6px;border:1.5px solid var(--accent);border-radius:1px;flex-shrink:0}
.pel-chart{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;padding-bottom:20px}
.pel-chart .cs-y{height:90px}
.pel-plot{position:relative;height:90px;background:repeating-linear-gradient(to bottom,var(--border) 0 1px,transparent 1px 50%);border-bottom:1px solid var(--border-2)}
.pel-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pel-plot polyline{fill:none;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.pel-plot polyline.sh{stroke:var(--accent)}
.pel-plot polyline.ns{stroke:var(--warn)}
.pel-x{position:absolute;left:0;right:0;top:calc(100% + 5px)}
.pel-x span{position:absolute;transform:translateX(-50%);font-family:var(--font-mono);font-size:8.5px;color:var(--muted);white-space:nowrap}
.pel-x span:first-child{transform:none}
.pel-x span:last-child{transform:translateX(-100%)}
.cs-steps{display:flex;flex-direction:column;align-items:flex-end;gap:5px;margin:-4px 0 12px}
.cs-card{border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface);padding:10px 12px;margin:10px 0}
.cs-card-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:11px;color:var(--text);margin-bottom:6px}
.cs-card-h span{font-family:var(--font-mono);font-size:10px;color:var(--muted);white-space:nowrap}
.cs-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.cs-seg{display:inline-flex;border:1px solid var(--border);border-radius:4px;padding:2px;gap:2px;font-size:10.5px}
.cs-seg span{padding:3px 8px;border-radius:3px;color:var(--muted)}
.cs-seg span.on{background:var(--accent-soft);color:var(--accent)}
.cs-meta{font-family:var(--font-mono);font-size:10px;color:var(--muted)}
.cs-leg{display:flex;gap:14px;align-items:center;font-size:10px;color:var(--text-2);margin-bottom:8px}
.cs-leg span{display:inline-flex;align-items:center;gap:6px}
.cs-leg i{width:9px;height:9px;border-radius:2px;display:inline-block}
.cs-leg .cs-unit{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--muted)}
.cs-card i.up{background:var(--accent)}
.cs-card i.dn{background:var(--warn)}
.cs-chart{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;padding-bottom:54px}
.cs-y{height:64px;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--font-mono);font-size:9px;color:var(--muted);text-align:right;margin:-5px 0}
.cs-plot{position:relative;height:64px;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;background:linear-gradient(var(--border-2),var(--border-2)) 0 50%/100% 1px no-repeat,repeating-linear-gradient(to bottom,var(--border) 0 1px,transparent 1px 50%);border-bottom:1px solid var(--border)}
.cs-g{position:relative;height:100%}
.cs-g i{position:absolute;left:14%;right:14%;border-radius:1.5px}
.cs-g i.up{bottom:50%}
.cs-g i.dn{top:50%}
.cs-x{position:absolute;top:calc(100% + 6px);right:50%;transform:rotate(-45deg);transform-origin:100% 0;white-space:nowrap;font-family:var(--font-mono);font-size:7.5px;color:var(--muted)}
.mock.mini .mock-body{display:block;height:auto;min-height:0}
.mock.mini .mock-main{min-height:0;padding:18px;overflow:visible}
.mock.mini .mock-tbl:not(.mock-files) .mock-tbl-r{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr)}
.mock.mini .mock-tbl:not(.mock-files) .mock-tbl-r>div:nth-child(3){display:block}
.mock-cap{font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-top:10px;text-align:right}
.step-mods{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.step-mods a{font-family:var(--font-mono);font-size:10px;padding:3px 7px;border:1px solid var(--border);border-radius:3px;color:var(--text-2)}
.step-mods a:hover{color:var(--accent);border-color:var(--accent)}
.steps.three{grid-template-columns:repeat(3,1fr)}
.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.level{border:1px solid var(--border);border-radius:var(--r-3);padding:22px;background:var(--surface)}
.level.reco{border-color:color-mix(in oklab,var(--accent) 50%,transparent);background:color-mix(in oklab,var(--accent) 6%,var(--surface))}
.level .ln{font-family:var(--font-mono);font-size:11px;color:var(--accent);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.level .reco-tag{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:3px;background:var(--accent);color:#fff;white-space:nowrap}
.level h4{font-size:16px;margin:0 0 8px}
.level p{font-size:13.5px;line-height:1.6;color:var(--text-2);margin:0 0 10px}
.level .lp{font-size:12px;line-height:1.5;color:var(--muted);border-top:1px solid var(--border);padding-top:10px}
.layers{display:flex;flex-direction:column;gap:8px}
.layer{display:grid;grid-template-columns:48px 1.1fr 1.4fr 1.4fr;gap:18px;align-items:center;padding:16px 20px;border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface)}
.layer .n{font-family:var(--font-mono);font-size:12px;color:var(--accent)}
.layer h4{font-size:15px;margin:0}.layer h4 small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px}
.layer .f,.layer .r{font-size:13px;line-height:1.55;color:var(--text-2)}
.layer .lbl{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:3px}
.acro{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.acro>div{border:1px solid var(--border);border-radius:var(--r-2);padding:16px 12px;background:var(--surface);text-align:center}
.acro b{display:block;font-family:var(--font-mono);font-size:28px;font-weight:600;color:var(--accent);line-height:1}
.acro .w{display:block;font-size:13px;font-weight:600;margin:8px 0 3px}
.acro .s{display:block;font-size:11.5px;color:var(--muted);line-height:1.4}
.tbl-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface)}
table.cmp{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}
.cmp th,.cmp td{padding:12px 14px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:top;text-align:left}
.cmp th:last-child,.cmp td:last-child{border-right:0}
.cmp tbody tr:last-child td,.cmp tbody tr:last-child th{border-bottom:0}
.cmp thead th{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);font-weight:500}
.cmp tbody th{font-weight:500;color:var(--text);width:22%}
.cmp td{color:var(--text-2);line-height:1.5}
.cmp td.rk{background:color-mix(in oklab,var(--accent) 7%,var(--surface));color:var(--text)}
.cmp thead th.rk{color:var(--accent)}
.raci{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;white-space:nowrap}
.raci i{width:7px;height:7px;border-radius:50%;display:inline-block}
.raci.c i{background:var(--accent)}.raci.o i{background:var(--text-2)}
.tl{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.tl>div{border-top:2px solid var(--border);padding-top:12px}
.tl b{display:block;font-family:var(--font-mono);font-size:11px;color:var(--accent);margin-bottom:6px}
.tl span{font-size:12.5px;line-height:1.45;color:var(--text-2)}
.offers{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.offer{border:1px solid var(--border);border-radius:var(--r-3);padding:28px;background:var(--surface)}
.offer.auto{border-color:color-mix(in oklab,var(--accent) 50%,transparent);background:color-mix(in oklab,var(--accent) 6%,var(--surface))}
.offer .on{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.offer h3{font-size:20px;margin:0 0 10px;letter-spacing:-.01em}
.offer p{font-size:14px;line-height:1.65;color:var(--text-2);margin:0}
.diag{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.diag-q{font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.015em;line-height:1.2;margin:0 0 14px;text-wrap:balance}
.diag-sub{font-size:15px;color:var(--text-2);line-height:1.6;margin:0 0 22px}
.diag-pts{display:grid;gap:10px}
.diag-pt{border:1px solid var(--border);border-radius:var(--r-2);padding:14px 16px;background:var(--surface)}
.diag-pt b{display:block;font-size:14px;margin-bottom:4px}
.diag-pt span{font-size:13px;color:var(--text-2);line-height:1.5}
.diag-note{font-family:var(--font-mono);font-size:11px;color:var(--muted);line-height:1.6}
@media (max-width:920px){.io,.levels,.offers,.diag{grid-template-columns:1fr}.acro{grid-template-columns:repeat(3,1fr)}.layer{grid-template-columns:40px 1fr}.layer .f,.layer .r{grid-column:2}.tl{grid-template-columns:repeat(4,1fr)}.steps.three{grid-template-columns:1fr}.steps.three .step{border-right:1px solid var(--border);border-radius:0}.steps.three .step-arrow{display:none}.footer-top{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.acro{grid-template-columns:repeat(2,1fr)}.tl{grid-template-columns:1fr 1fr}.mod-strip{padding-top:16px}}

/* ─── motion ─── */
@keyframes rv-rise{from{opacity:.15;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
html.js .rv.in{animation:rv-rise .65s var(--ease) both}
.btn-site .ico{transition:transform .18s var(--ease)}
.btn-site:hover .ico{transform:translateX(3px)}
.core .core-ico svg,.sec-card .sc-ico svg{transition:transform .22s var(--ease)}
.core:hover .core-ico svg{transform:translateY(-2px) scale(1.1)}
.sec-card:hover .sc-ico svg{transform:translateY(-2px) scale(1.08)}
.core-more{transition:gap .18s var(--ease)}
.core:hover .core-more{gap:11px}
.tile,.io-card,.level,.offer,.diag-pt,.dg-node{transition:border-color .16s var(--ease),transform .16s var(--ease),background .16s var(--ease)}
.io-card:hover,.level:hover,.offer:hover,.diag-pt:hover,.dg-node:hover{border-color:var(--border-2);transform:translateY(-2px)}
.band-cell .band-num{display:inline-block}
.band-cell.in .band-num{animation:num-in .7s var(--ease) both}
@keyframes num-in{from{opacity:.2;transform:translateY(10px) scale(.96)}}
/* ─── nav dropdowns ─── */
.nv-item{position:relative;display:flex;align-items:center}
.nv-item .chev{width:12px;height:12px;margin-left:3px;opacity:.6;transition:transform .2s var(--ease)}
.nv-item.hover .chev,.nv-item.open .chev{transform:rotate(180deg)}
.dd{position:absolute;top:calc(100% + 10px);left:-6px;min-width:290px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:0 18px 50px rgba(0,0,0,.45);opacity:0;transform:translateY(8px) scale(.98);transform-origin:top left;pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease);z-index:200}
.dd::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nv-item.hover .dd,.nv-item.open .dd,.nv-item:focus-within .dd{opacity:1;transform:none;pointer-events:auto}
.dd-wide{min-width:600px}
.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.dd-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-2);color:var(--text-2);font-size:13px;transition:background .12s var(--ease),color .12s var(--ease)}
.dd-link:hover{background:var(--surface-2);color:var(--text)}
.dd-link b{display:block;font-size:13px;font-weight:500;color:var(--text)}
.dd-link small{display:block;font-size:11px;color:var(--muted);margin-top:1px}
.dd-dot{width:6px;height:6px;border-radius:50%;background:var(--muted);flex-shrink:0}
.dd-dot.op{background:var(--success)}.dd-dot.fin{background:var(--warn)}.dd-dot.core{background:var(--accent)}
.dd-all{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border);border-radius:0;margin-bottom:6px;padding:8px 10px 10px}
.dd-all b{color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.dd-all span>b{color:var(--accent)}
.nv-item.hover .dd-link,.nv-item.open .dd-link{animation:dd-in .28s var(--ease) both;animation-delay:calc(var(--i,0)*22ms)}
@keyframes dd-in{from{opacity:0;transform:translateY(6px)}}
.dd-tg{display:none}
@media (max-width:920px){
.nv-item{flex-wrap:wrap}
.nv-item .nav-link{flex:1}
.nv-item .chev{display:none}
.dd-tg{display:grid;place-items:center;width:40px;height:40px;background:transparent;border:0;color:var(--text-2);cursor:pointer;transition:transform .2s var(--ease)}
.dd-tg .chev{display:block;width:14px;height:14px;margin:0;opacity:1}
.nv-item.open .dd-tg{transform:rotate(180deg);color:var(--accent)}
.dd{position:static;display:none;min-width:0;width:100%;box-shadow:none;border:0;border-left:1px solid var(--border);border-radius:0;padding:4px 0 8px 12px;margin:0 0 6px 12px;opacity:1;transform:none;pointer-events:auto}
.nv-item.open .dd{display:block}
.nv-item.hover .dd-link,.nv-item.open .dd-link{animation:none}
.dd-wide{min-width:0}.dd-grid{grid-template-columns:1fr 1fr}}
/* ─── diagrams ─── */
.dg-cap{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);line-height:1.5}
.dg-node{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:var(--r-2);padding:12px 14px;background:var(--surface);min-width:0}
.dg-node svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}
.dg-node b{display:block;font-size:13px;line-height:1.3}
.dg-node span{display:block;font-size:10.5px;color:var(--muted);font-family:var(--font-mono);margin-top:3px;line-height:1.4}
.dg-wire{width:100%;height:100%;min-height:160px;overflow:visible;display:block}
.dg-wire path{fill:none;stroke:var(--border-2);stroke-width:1.5;vector-effect:non-scaling-stroke}
.dg-wire path.f{stroke:var(--accent);stroke-dasharray:3 11;animation:dg-dash 1.6s linear infinite}
@keyframes dg-dash{to{stroke-dashoffset:-28}}
@keyframes dg-spin{to{transform:rotate(360deg)}}
@keyframes dg-pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in oklab,var(--accent) 0%,transparent)}50%{box-shadow:0 0 0 10px color-mix(in oklab,var(--accent) 9%,transparent)}}
@keyframes dg-grow{from{transform:scaleX(0)}}
@keyframes dg-fill{to{transform:scaleX(1)}}
.dg-flow{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1.05fr) 70px minmax(0,1fr);align-items:center;margin-bottom:44px}
.dg-col{display:flex;flex-direction:column;gap:12px}
.dg-core{text-align:center;border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);border-radius:var(--r-3);padding:22px 16px;background:color-mix(in oklab,var(--accent) 6%,var(--surface));animation:dg-pulse 3.4s ease-in-out infinite}
.dg-core>b{display:block;font-size:15px}
.dg-core>span{display:block;font-family:var(--font-mono);font-size:10.5px;color:var(--muted);margin-top:4px}
.dg-ring{width:86px;height:86px;margin:0 auto 12px;position:relative;display:grid;place-items:center}
.dg-ring img{width:46px;height:46px;object-fit:contain}
.dg-ring span{position:absolute;inset:0;border:1.5px dashed color-mix(in oklab,var(--accent) 60%,transparent);border-radius:50%;animation:dg-spin 24s linear infinite}
.dg-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:12px}
.dg-chips i{font-style:normal;font-family:var(--font-mono);font-size:9.5px;padding:2px 6px;border:1px solid var(--border);border-radius:3px;color:var(--text-2);background:var(--bg)}
.dg-foot{grid-column:1/-1;text-align:center;font-size:13px;color:var(--muted);margin-top:20px}
.dg-time{margin-top:40px;border:1px solid var(--border);border-radius:var(--r-3);padding:22px;background:var(--surface)}
.dg-time-h{font-size:14px;font-weight:600;margin-bottom:16px}
.dg-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:10px}
.dg-row .lbl{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bar{display:flex;gap:3px;height:40px;min-width:0}
.bar i{flex:0 0 var(--w);min-width:0;font-style:normal;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:12px;border-radius:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transform-origin:left}
.bar i.a{background:var(--surface-3);color:var(--text-2)}
.bar i.b{background:var(--accent-soft);color:var(--text)}
.bar i.rk{background:var(--accent);color:#fff}
.bar i em{font-style:normal;font-family:var(--font-mono);font-weight:600}
.dg-time.in .bar i{animation:dg-grow .9s var(--ease) both}
.dg-time.in .bar i:nth-child(2){animation-delay:.3s}
.dg-time.in .dg-row:nth-of-type(3) .bar i{animation-delay:.6s}
.dg-time.in .dg-row:nth-of-type(3) .bar i:nth-child(2){animation-delay:.9s}
.dg-time .dg-cap{margin-top:12px}
.dg-stages{margin-top:8px}
.dg-stage-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dg-stage{border:1px solid var(--border);border-radius:var(--r-2);padding:14px 16px;background:var(--surface);position:relative}
.dg-stage .n{font-family:var(--font-mono);font-size:11px;color:var(--accent)}
.dg-stage b{display:block;font-size:15px;margin:6px 0 4px}
.dg-stage small{font-family:var(--font-mono);font-size:10px;color:var(--muted);line-height:1.5;display:block}
.dg-stage:not(:last-child)::after{content:"→";position:absolute;right:-11px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:12px;background:var(--bg);z-index:1;line-height:1;padding:2px 1px}
.dg-entries{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;row-gap:12px;margin-top:16px}
.dg-entry{grid-column:var(--from) / 5;display:grid;gap:7px}
.dg-entry i{display:block;height:3px;border-radius:2px;background:var(--border-2);transform-origin:left;position:relative}
.dg-entry i::after{content:"";position:absolute;right:-1px;top:-4px;border-top:5.5px solid transparent;border-bottom:5.5px solid transparent;border-left:7px solid var(--border-2)}
.dg-entry.reco i{background:var(--accent)}
.dg-entry.reco i::after{border-left-color:var(--accent)}
.dg-entry span{font-size:12.5px;color:var(--text-2);line-height:1.45}
.dg-entry span b{color:var(--text);font-family:var(--font-mono);font-size:11px;margin-right:6px}
.dg-entry em{font-style:normal;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-left:8px}
.dg-stages.in .dg-entry i{animation:dg-grow .8s var(--ease) both;animation-delay:var(--d,0ms)}
.dg-io{display:grid;grid-template-columns:minmax(0,1fr) 60px auto 60px minmax(0,1fr);align-items:stretch;margin-bottom:40px}
.dg-io-side{display:flex;flex-direction:column;min-width:0}
.dg-io-h{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.dg-io-col{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:8px;min-height:190px}
.dg-io-col>span{border:1px solid var(--border);border-radius:var(--r-2);padding:9px 12px;font-size:12.5px;background:var(--surface);color:var(--text-2);line-height:1.35}
.dg-io-core{align-self:center;text-align:center;width:150px;padding:18px 12px;border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);border-radius:var(--r-3);background:color-mix(in oklab,var(--accent) 6%,var(--surface));animation:dg-pulse 3.4s ease-in-out infinite}
.dg-io-core svg{width:22px;height:22px;color:var(--accent)}
.dg-io-core b{display:block;font-size:14px;margin-top:8px}
.dg-io-core small{display:block;font-family:var(--font-mono);font-size:9.5px;color:var(--muted);margin-top:3px}
.dg-split{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;margin-bottom:28px}
.dg-side{border:1px solid var(--border);border-radius:var(--r-3);padding:20px;background:var(--surface)}
.dg-side b{display:block;font-size:17px;margin:6px 0 8px;letter-spacing:-.01em}
.dg-side p{font-size:13px;color:var(--text-2);line-height:1.6;margin:0}
.dg-side.ai{border-color:color-mix(in oklab,var(--accent) 45%,transparent);background:color-mix(in oklab,var(--accent) 6%,var(--surface))}
.dg-mid{display:flex;flex-direction:column;justify-content:center;gap:10px;align-items:center;min-width:160px}
.dg-mid>span{font-family:var(--font-mono);font-size:11px;padding:6px 10px;border-radius:4px;border:1px solid var(--border);white-space:nowrap;display:inline-flex;gap:6px;align-items:center}
.dg-mid .ok{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 45%,transparent)}
.dg-mid .no{color:var(--danger);border-color:color-mix(in oklab,var(--danger) 40%,transparent)}
.dg-mid .no s{color:var(--text-2);text-decoration-color:var(--danger)}
.layers{position:relative;padding-left:22px}
.layers::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;background:linear-gradient(to bottom,var(--accent),color-mix(in oklab,var(--accent) 15%,transparent))}
.layer{position:relative}
.layer::before{content:"";position:absolute;left:-16px;top:50%;width:10px;height:2px;background:var(--accent);opacity:.6}
.dg-perim{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:stretch;margin-bottom:44px}
.dg-outside{display:flex;flex-direction:column;justify-content:center;gap:14px;color:var(--muted);font-size:12px;text-align:center;padding:16px;border:1px dashed var(--border);border-radius:var(--r-3)}
.dg-block{font-family:var(--font-mono);font-size:11px;color:var(--danger);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.dg-block b{font-size:22px}
.dg-block s{text-decoration:none;position:relative;font-size:18px;color:var(--text-2)}
.dg-block s::after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:2px;background:var(--danger);transform:rotate(-35deg)}
.dg-inside{border:1.5px dashed color-mix(in oklab,var(--accent) 55%,transparent);border-radius:var(--r-3);padding:22px;background:color-mix(in oklab,var(--accent) 4%,var(--surface));animation:dg-pulse 3.4s ease-in-out infinite}
.dg-inside-h{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.dg-inside-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dg-inside-f{margin-top:14px;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px}
.dg-prog{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;padding-top:16px}
.dg-prog i{position:absolute;left:0;right:0;top:0;height:3px;background:var(--border);border-radius:2px;overflow:hidden}
.dg-prog i::after{content:"";position:absolute;inset:0;background:var(--accent);transform-origin:left;transform:scaleX(0)}
.dg-prog.in i::after{animation:dg-fill 1.6s var(--ease) .2s both}
.dg-prog span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center}
.dg-prog span:last-child{color:var(--accent)}
@media (max-width:920px){
.dg-flow{grid-template-columns:1fr;gap:14px}.dg-flow .dg-wire{display:none}
.dg-io{grid-template-columns:1fr;gap:14px}.dg-io .dg-wire{display:none}.dg-io-core{width:auto;justify-self:stretch}.dg-io-col{min-height:0}
.dg-split{grid-template-columns:1fr}.dg-mid{flex-direction:row;flex-wrap:wrap;min-width:0}
.dg-perim{grid-template-columns:1fr}.dg-inside-grid{grid-template-columns:1fr}
.dg-stage-row,.dg-entries{grid-template-columns:1fr 1fr}.dg-entry{grid-column:1 / -1}.dg-stage:not(:last-child)::after{display:none}
}
@media (max-width:600px){.dg-row{grid-template-columns:1fr;gap:6px}.dg-stage-row{grid-template-columns:1fr}.bar{height:36px}.bar i{padding:0 8px;font-size:11px}}
@media (prefers-reduced-motion:reduce){.dg-wire path.f,.dg-ring span,.dg-core,.dg-io-core,.dg-inside,.dg-time.in .bar i,.dg-stages.in .dg-entry i,.dg-prog.in i::after,.band-cell.in .band-num,.dd-link{animation:none!important}}

/* hamburger from 1000px down: nav no longer fits with 7 items */
@media (max-width:920px){
.nav-links{display:none}
.nav-links.open{display:flex;flex-direction:column;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:12px;gap:2px;max-height:calc(100vh - var(--nav-h));overflow-y:auto}
.nav-links.open .nav-link{padding:12px}
.mobile-toggle{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface);cursor:pointer;color:var(--text)}
.nv-item{flex-wrap:wrap}
.nv-item .nav-link{flex:1}
.nv-item .chev{display:none}
.dd-tg{display:grid;place-items:center;width:40px;height:40px;background:transparent;border:0;color:var(--text-2);cursor:pointer;transition:transform .2s var(--ease)}
.dd-tg .chev{display:block;width:14px;height:14px;margin:0;opacity:1}
.nv-item.open .dd-tg{transform:rotate(180deg);color:var(--accent)}
.dd,.dd-wide{position:static;display:none;min-width:0;width:100%;box-shadow:none;border:0;border-left:1px solid var(--border);border-radius:0;padding:4px 0 8px 12px;margin:0 0 6px 12px;opacity:1;transform:none;pointer-events:none}
.nv-item.open .dd{display:block;pointer-events:auto}
.nv-item.hover .dd:not(.nv-item.open .dd){display:none}
.nv-item.hover .dd-link,.nv-item.open .dd-link{animation:none}
.dd-grid{grid-template-columns:1fr 1fr}}
@media (max-width:1240px) and (min-width:1101px){.dd-wide{min-width:0;position:fixed;left:24px;right:24px;top:calc(var(--nav-h) + 6px);width:auto}.dd-grid{grid-template-columns:repeat(3,1fr)}}

.scope>span .l-fr,.scope>span .l-en,.dg-io-col>span .l-fr,.dg-io-col>span .l-en{display:inline}
@media (max-width:1000px){.bar i.a:nth-child(1):not(:has(em)){font-size:0}}

/* nav items: keep label + chevron on one line, vertically centred */
.nav-links{flex-wrap:nowrap;align-items:center}
.nv-item{flex:0 0 auto}
.nv-item>.nav-link{display:inline-flex;align-items:center;white-space:nowrap;line-height:1}
.nav-link{white-space:nowrap;display:inline-flex;align-items:center;line-height:1}
.nv-item .chev{flex-shrink:0;margin-left:4px;position:relative;top:0}
@media (max-width:920px){.nav-links.open .nav-link{display:flex;justify-content:flex-start}}

/* ─── nav: never overflow between 1000 and 1300px ─── */
.nav-brand{flex-shrink:0}.nav-brand .bn{white-space:nowrap}
.nav-right{flex-shrink:0}
.nav-links{flex-shrink:0}
@media (max-width:1300px){.nav-cta-text{display:none}.nav-link{padding:7px 8px;font-size:12.5px}.nav-links{gap:2px}}
@media (max-width:1100px){.nav-link{padding:7px 6px;font-size:12px}.nav-right{gap:8px}}
/* ─── stat band: balanced cells with mini visuals ─── */
.band .band-cell{display:flex;flex-direction:column;align-items:center;text-align:center}
.band-viz{height:14px;display:flex;align-items:center;justify-content:center;gap:4px;margin:10px auto 12px;width:min(150px,100%)}
.band-viz.dots i{width:10px;height:10px;border-radius:2px;background:var(--accent);display:block}
.band-viz.dots i.off{background:transparent;border:1px solid var(--border-2)}
.band-viz.bar{display:block;height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}
.band-viz.bar i{display:block;height:100%;width:var(--w);background:var(--text-2);border-radius:3px;transform-origin:left}
.band-viz.bar.full i{background:var(--accent)}
.band-viz.shift{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);gap:8px;width:auto}
.band-viz.shift s{text-decoration-color:var(--danger)}
.band-viz.shift b{color:var(--accent);font-weight:600}
.band-cell.in .band-viz.bar i{animation:dg-grow .9s var(--ease) .25s both}
.band-cell.in .band-viz.dots i{animation:num-in .45s var(--ease) both;animation-delay:calc(var(--i,0)*45ms)}
.band-label{max-width:30ch;margin:0 auto;line-height:1.45}
.band-sub{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.45;opacity:.85}
@media (prefers-reduced-motion:reduce){.band-cell.in .band-viz.bar i,.band-cell.in .band-viz.dots i{animation:none!important}}

.band-viz.bar{display:flex;align-items:center;height:14px;background:none;border-radius:0;overflow:visible}
.band-viz.bar i{height:6px;border-radius:3px;background:var(--text-2);position:relative}
.band-viz.bar::before{content:"";position:absolute;left:0;right:0;height:6px;background:var(--surface-3);border-radius:3px}
.band-viz.bar{position:relative;width:min(150px,100%)}
.band-viz.bar i{z-index:1}
.band-viz.bar.full i{background:var(--accent)}

/* legal pages + footer */
.footer-legal{display:inline-flex;gap:18px;flex-wrap:wrap}
.footer-legal a{color:var(--muted);transition:color .12s var(--ease)}
.footer-legal a:hover{color:var(--text)}
.prose .ph{font-family:var(--font-mono);font-size:.9em;color:var(--warn);border:1px dashed color-mix(in oklab,var(--warn) 50%,transparent);border-radius:3px;padding:0 5px}
.prose a{color:var(--accent)}
.legal-date{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-top:36px;padding-top:18px;border-top:1px solid var(--border)}
.wrap-narrow.prose h2:first-child{margin-top:0}

/* module pages: lists inside io cards */
.io-card p+ul{margin-top:10px}.io-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.io-card li{font-size:14px;line-height:1.55;color:var(--text-2);padding-left:18px;position:relative}.io-card li::before{content:"";position:absolute;left:2px;top:8px;width:6px;height:6px;border:1.5px solid var(--accent);border-radius:1px}
.band .wrap.band-3{grid-template-columns:repeat(3,1fr)}@media (max-width:920px){.band .wrap.band-3{grid-template-columns:1fr}}
.mock .mock-tbl.mock-tbl-6{overflow-x:auto}.mock.mini .mock-tbl.mock-tbl-6:not(.mock-files) .mock-tbl-r,.mock .mock-tbl-6 .mock-tbl-r{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.1fr)!important;min-width:520px}.mock .mock-tbl-6 .mock-tbl-r>div,.mock-tbl-6 .mock-tbl-r>div{display:flex!important;white-space:nowrap;overflow:visible;text-overflow:clip;overflow-wrap:normal;hyphens:manual}.mock.mini .mock-tbl.mock-tbl-6:not(.mock-files) .mock-tbl-h:first-child,.mock .mock-tbl-6 .mock-tbl-h:first-child{grid-template-columns:1fr!important}.mock.mini .mock-tbl.mock-tbl-6:not(.mock-files) .mock-tbl-r>div{display:flex!important}
/* GAP remediation screen */
.mock.mock-wide{max-width:920px;margin:0 auto}.mock-remed{display:flex;flex-direction:column;gap:10px}.mock-remed .mock-vh{font-size:11.5px}.mock-remed .mock-chart{flex:none}.mock-gapchart{display:block;width:100%;height:auto}.mock-gapchart .ax{stroke:var(--text-2);stroke-width:1}.mock-gapchart .grid{stroke:var(--border);stroke-width:1;stroke-dasharray:2 4}.mock-gapchart polyline{fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.mock-gapchart .s-stress{stroke:var(--danger)}.mock-gapchart .s-remed{stroke:var(--accent)}.mock-gapchart .h-before{stroke:var(--danger);stroke-width:1;stroke-dasharray:3 3}.mock-gapchart .h-after{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3}.mock-gapchart text{font-family:var(--font-mono);font-size:9px;fill:var(--muted)}.mock-gapchart .hl.before{fill:var(--danger)}.mock-gapchart .hl.after{fill:var(--accent)}.mock-gapchart tspan.l-fr,.mock-gapchart tspan.l-en{display:inline}html[data-lang="fr"] .mock-gapchart tspan.l-en{display:none}html[data-lang="en"] .mock-gapchart tspan.l-fr{display:none}.mock-legend{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--font-mono);font-size:9px;color:var(--muted)}.mock-legend span{display:inline-flex;align-items:center;gap:6px}.mock-legend i{display:inline-block;width:14px;height:2px;border-radius:1px}.mock-legend i.s-stress{background:var(--danger)}.mock-legend i.s-remed{background:var(--accent)}.mock .mock-tbl-6 .mock-tbl-r>div.mute{color:var(--muted)}
.tiles.tiles-4{grid-template-columns:repeat(4,minmax(0,1fr))}.dg-chips-h{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px}.h1-sub{display:block;font-size:.5em;line-height:1.25;font-weight:500;color:var(--text-2);margin-top:12px;letter-spacing:0}.founder-photo{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-3);display:block}.founder{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start;padding:32px;border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface)}.founder-q{font-size:clamp(18px,1.8vw,22px);line-height:1.55;color:var(--text);margin:8px 0 18px;text-wrap:pretty}.founder-sig{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--text-2)}.founder-sig b{color:var(--text)}@media (max-width:720px){.founder{grid-template-columns:1fr}.founder-photo{max-width:160px}}.cmp td.na{color:var(--muted);text-align:center}.cmp-note{font-size:12.5px;color:var(--muted);margin:10px 0 0}.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.team-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface)}.team-photo{aspect-ratio:1;border-radius:var(--r-2);background:var(--surface-2);display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.team-role{font-size:12.5px;color:var(--accent)}.team-card p{font-size:13px;color:var(--text-2);margin:0}@media (max-width:1100px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.team-grid{grid-template-columns:1fr 1fr}}.hvl-wrap{display:flex;justify-content:center;margin-top:16px}.hero-video-link{position:relative;display:inline-flex;align-items:center;gap:14px;padding:7px 18px 7px 7px;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 45%,var(--border));background:linear-gradient(180deg,color-mix(in oklab,var(--surface) 92%,var(--accent)),var(--surface));box-shadow:0 8px 28px -12px color-mix(in oklab,var(--accent) 60%,transparent),inset 0 1px 0 color-mix(in oklab,#fff 8%,transparent);color:var(--text);text-decoration:none;transition:border-color .25s,box-shadow .25s,transform .25s}.hero-video-link:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 12px 34px -12px color-mix(in oklab,var(--accent) 80%,transparent),inset 0 1px 0 color-mix(in oklab,#fff 10%,transparent)}.hvl-play{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff}.hvl-play::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid color-mix(in oklab,var(--accent) 55%,transparent);animation:hvlPulse 2.4s ease-out infinite}@keyframes hvlPulse{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.35);opacity:0}}.hvl-play svg{width:14px;height:14px;margin-left:2px}.hvl-txt{display:grid;gap:2px;line-height:1.2}.hvl-txt b{font-size:14px;font-weight:600}.hvl-txt small{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted)}.hvl-arr{width:15px;height:15px;color:var(--accent-2);margin-left:4px;transition:transform .25s}.hero-video-link:hover .hvl-arr{transform:translateX(3px)}@media (prefers-reduced-motion:reduce){.hvl-play::after{animation:none}}.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:24px}.news-card{display:grid;gap:10px;align-content:start;padding:14px;border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface);color:inherit;text-decoration:none;transition:border-color .2s}.news-card:hover{border-color:var(--accent)}.news-thumb{position:relative;aspect-ratio:16/9;border-radius:var(--r-2);overflow:hidden;background:#000}.news-thumb video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.news-play{position:absolute;inset:0;margin:auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:color-mix(in oklab,var(--bg) 70%,transparent);color:var(--text);border:1px solid var(--border)}.news-play svg{width:20px;height:20px}.news-dur{position:absolute;right:8px;bottom:8px;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.7);color:#fff;font-family:var(--font-mono);font-size:11px}.news-meta{display:flex;gap:12px;align-items:center;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.news-tag{color:var(--accent)}.news-card{padding:24px;gap:18px}.news-card h3{margin:0;font-size:clamp(22px,2.4vw,28px);line-height:1.35;text-wrap:pretty}.news-card p{margin:0;font-size:13.5px;color:var(--text-2);text-wrap:pretty}.news-post{display:grid;gap:24px;max-width:960px}.news-post video{width:100%;border-radius:var(--r-3);border:1px solid var(--border);background:#000;display:block}.pub-year{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--muted);margin:36px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.pub-sec+.pub-sec{margin-top:72px}.pub-h{margin:0 0 20px;font-size:clamp(24px,2.6vw,32px);line-height:1.2}.pub-year{margin-top:0}.pub-row{display:grid;grid-template-columns:110px 150px minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none;transition:background .2s}.pub-row:hover{background:var(--surface)}.pub-row:hover .pub-t{color:var(--accent)}.pub-d,.pub-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pub-k{color:var(--accent)}.pub-t{font-size:18px;line-height:1.35;text-wrap:pretty;transition:color .2s}.pub-a{color:var(--muted)}@media(max-width:720px){.pub-row{grid-template-columns:1fr;gap:6px}}.pub-doc{display:grid;gap:28px;max-width:860px}.pub-gate{display:grid;gap:0}.pub-gate .panel-hd p{margin:6px 0 0;font-size:13.5px;color:var(--text-2)}.pub-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-2);margin-top:16px}.pub-consent input{margin-top:3px}.pub-dl{display:none;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 24px;border:1px solid var(--accent);border-radius:var(--r-3);background:var(--surface)}.pub-dl small{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.pub-unlocked .pub-dl{display:flex}.pub-unlocked .pub-gate{display:none}.syn{text-align:left;hyphens:manual;-webkit-hyphens:manual;display:grid;gap:18px;font-size:15px;line-height:1.6;color:var(--text-2)}.syn p{margin:0;text-align:left;hyphens:manual}.syn b{color:var(--text)}.syn a{color:var(--accent)}.syn-h{display:flex;align-items:baseline;gap:12px;margin:22px 0 0;padding-bottom:10px;border-bottom:1px solid var(--border);font-size:clamp(20px,2.2vw,26px);line-height:1.25;color:var(--text)}.syn-n{color:var(--accent);font-family:var(--font-mono);font-size:.8em}.syn-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.syn-card{padding:18px 20px;border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface)}.syn-acc{border-color:var(--accent)}.syn-top,.syn-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}.syn-two{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.syn-tl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px}.syn-card ul{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14px}.syn-tw{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-3)}.syn-t{width:100%;border-collapse:collapse;font-size:13.5px}.syn-t th,.syn-t td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.syn-t tr:last-child>*{border-bottom:0}.syn-t thead th{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;font-weight:500;color:var(--muted);background:var(--surface)}.syn-t tbody th{color:var(--text);font-weight:600;white-space:nowrap}.syn-cta{padding:18px 20px;border:1px solid var(--accent);border-radius:var(--r-3);text-align:center}.syn-src{font-size:12px;color:var(--muted);font-style:italic}.news-empty{padding:40px;border:1px dashed var(--border);border-radius:var(--r-3);text-align:center;color:var(--text-2);font-size:14px}.fc-sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:12px 0 2px}.footer-col .fc-ov{color:var(--accent)}.dd-overview{display:flex;flex-direction:column;gap:4px;margin:2px 2px 8px;padding:12px 14px;border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);border-radius:var(--r-2);background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--text);transition:background .12s var(--ease)}.dd-overview:hover{background:color-mix(in oklab,var(--accent) 18%,transparent)}.dd-ov-t{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:14px}.dd-ov-arrow{color:var(--accent)}.dd-overview small{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--text-2)}.dd-gh{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:8px 10px 4px}.dd-group+.dd-group,.dd-row{border-top:1px solid var(--border);margin-top:6px;padding-top:2px}.dd-row{display:grid;grid-template-columns:1fr 2fr}.dd-row .dd-group{border-top:0;margin-top:0}.dd-row .dd-grid{grid-template-columns:1fr}.cores-gh{grid-column:1/-1;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-top:18px;padding-bottom:8px;border-bottom:1px solid var(--border)}.cores-gh.first{margin-top:0}.mod-sep{width:1px;align-self:stretch;background:var(--border);margin:0 6px}@media (max-width:640px){.dd-row{grid-template-columns:1fr}}.sec-grid.sec-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:640px){.sec-grid.sec-grid-2{grid-template-columns:1fr}}@media (max-width:1100px){.tiles.tiles-4{grid-template-columns:1fr 1fr}}@media (max-width:640px){.tiles.tiles-4{grid-template-columns:1fr}}

/* nav fit with 8 entries */
.nav .wrap{gap:16px}
@media (min-width:1301px){.nav-link{padding:7px 10px;font-size:12.5px}.nav-links{gap:2px}}
@media (min-width:1368px){.nav .wrap{max-width:1320px}}
@media (max-width:1367px){.nav-brand .bn,.nav-cta-text{display:none}}

/* ═══ Charte : Graphite & bleu (sombre) + Clair institutionnel (clair) ═══ */
:root,[data-theme="dark"]{--bg:#0C0F14;--surface:#131820;--surface-2:#1A2029;--surface-3:#202834;--border:#232B36;--border-2:#36404D;--text:#F1F3F6;--text-2:#C3C9D2;--muted:#8B95A3;--dim:#56606E;--accent:#4C8DF8;--accent-2:#7AAEFF;--accent-soft:rgba(76,141,248,.14);--success:#4FD08A;--warn:#E0A84A;--danger:#FF6B6B;--font-sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;--font-display:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace}
[data-theme="light"]{--bg:#FFFFFF;--surface:#F6F7F9;--surface-2:#EEF1F5;--surface-3:#E6EAF0;--border:#E2E6EC;--border-2:#C9D0DA;--text:#0E1726;--text-2:#3B4657;--muted:#677284;--dim:#B3BAC4;--accent:#0B5CD6;--accent-2:#0A4CB0;--accent-soft:rgba(11,92,214,.09);--success:#1B7A4E;--warn:#8F6410;--danger:#C42B2B;--font-sans:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;--font-display:"Source Serif 4",Georgia,serif}
body{font-family:var(--font-sans)}
h1,h2,h3,.sec-title,.diag-q,.cta h2{font-family:var(--font-display)}
[data-theme="dark"] h1,[data-theme="dark"] .sec-title,[data-theme="dark"] .diag-q,[data-theme="dark"] .cta h2{font-weight:700;letter-spacing:-.025em}
[data-theme="light"] h1,[data-theme="light"] .sec-title,[data-theme="light"] .diag-q,[data-theme="light"] .cta h2{font-weight:700;letter-spacing:-.012em}
h1,h2,h3,h4,.sec-title,.diag-q{text-wrap:balance}
p,li,.lead,.sec-lead{text-wrap:pretty}
.hero h1 .acc{color:var(--accent);display:inline-block}
.btn-site.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.band-num,.mock-tbl,.num{font-variant-numeric:tabular-nums}
[data-theme="dark"]{--accent-strong:#2B6BDE}[data-theme="light"]{--accent-strong:#0B5CD6}
.btn-site.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
.dg-time .bar i.b.rk{background:var(--accent-strong)}
[data-theme="light"] .band-cmp.is-rk .band-label,[data-theme="light"] .band-cmp.is-rk .band-sub,[data-theme="light"] .band-cmp.is-rk .band-viz s,[data-theme="light"] .band-cmp.is-rk .band-viz{color:#3B4657}


/* nav v5 entries */
.nav-m-extra,.nav-m-cta{display:none}
@media (min-width:1301px){.nav-link{font-size:13.5px}.nav-links{gap:4px}}
@media (min-width:1101px) and (max-width:1300px){.nav-link{padding:7px 6px;font-size:13px}.nav-links{gap:2px}}
@media (min-width:1301px) and (max-width:1367px){.nav-brand .bn{display:inline}}
@media (max-width:920px){
.nav-right .theme-toggle,.nav-right .lang-toggle{display:none}
.nav-links.open .nav-m-extra{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 12px 6px;margin-top:8px;border-top:1px solid var(--border)}
.nav-m-extra .theme-toggle{width:auto;height:auto;padding:8px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--r-2);background:transparent;color:var(--text-2);display:inline-flex}
.nav-links.open .nav-m-cta{display:flex;justify-content:center;margin:10px 12px 4px}
.nav-links.open .nv-item:not(.open) .dd{display:none}}

.dd-dot{flex:0 0 6px!important;width:6px!important;height:6px!important;align-self:flex-start;margin-top:7px}

/* ═══ Rythme visuel (proposition v4) ═══ */
[data-theme="dark"]{--surface-alt:#10141B;--navy:#0E1F3D;--navy-bd:#1D3560;--navy-t:#EAF0F8;--navy-t2:#B9C7DC}
[data-theme="light"]{--surface-alt:#F4F6F9;--navy:#0B2147;--navy-bd:#0B2147;--navy-t:#FFFFFF;--navy-t2:#C9D5E8}
.route-page>section.sec:nth-of-type(odd){background:var(--surface-alt)}
.route-page>section.sec{border-top:0}
.hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%20560%27%20preserveAspectRatio%3D%27xMaxYMid%20slice%27%3E%3Cg%20stroke%3D%27%238B95A3%27%20stroke-opacity%3D%27.10%27%20fill%3D%27none%27%3E%3Cline%20x1%3D%270%27%20y1%3D%270%27%20x2%3D%270%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27100%27%20y1%3D%270%27%20x2%3D%27100%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27200%27%20y1%3D%270%27%20x2%3D%27200%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27300%27%20y1%3D%270%27%20x2%3D%27300%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27400%27%20y1%3D%270%27%20x2%3D%27400%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27500%27%20y1%3D%270%27%20x2%3D%27500%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27600%27%20y1%3D%270%27%20x2%3D%27600%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27700%27%20y1%3D%270%27%20x2%3D%27700%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27800%27%20y1%3D%270%27%20x2%3D%27800%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27900%27%20y1%3D%270%27%20x2%3D%27900%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%271000%27%20y1%3D%270%27%20x2%3D%271000%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%271100%27%20y1%3D%270%27%20x2%3D%271100%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%2740%27%20x2%3D%271200%27%20y2%3D%2740%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27120%27%20x2%3D%271200%27%20y2%3D%27120%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27200%27%20x2%3D%271200%27%20y2%3D%27200%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27280%27%20x2%3D%271200%27%20y2%3D%27280%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27360%27%20x2%3D%271200%27%20y2%3D%27360%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27440%27%20x2%3D%271200%27%20y2%3D%27440%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27520%27%20x2%3D%271200%27%20y2%3D%27520%27%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%27M380%20470%20C520%20300%20640%20230%20780%20190%20S1020%20140%201200%20128%27%20fill%3D%27none%27%20stroke%3D%27%234C8DF8%27%20stroke-opacity%3D%27.55%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M380%20500%20C540%20380%20660%20330%20800%20300%20S1030%20268%201200%20262%27%20fill%3D%27none%27%20stroke%3D%27%234C8DF8%27%20stroke-opacity%3D%27.25%27%20stroke-width%3D%271.5%27%20stroke-dasharray%3D%276%206%27%2F%3E%3Ccircle%20cx%3D%27520%27%20cy%3D%27318%27%20r%3D%274%27%20fill%3D%27%234C8DF8%27%20fill-opacity%3D%27.7%27%2F%3E%3Ccircle%20cx%3D%27680%27%20cy%3D%27224%27%20r%3D%274%27%20fill%3D%27%234C8DF8%27%20fill-opacity%3D%27.7%27%2F%3E%3Ccircle%20cx%3D%27860%27%20cy%3D%27170%27%20r%3D%274%27%20fill%3D%27%234C8DF8%27%20fill-opacity%3D%27.7%27%2F%3E%3Ccircle%20cx%3D%271040%27%20cy%3D%27140%27%20r%3D%274%27%20fill%3D%27%234C8DF8%27%20fill-opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E") right center/auto 100% no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%);pointer-events:none}
[data-theme="light"] .hero::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201200%20560%27%20preserveAspectRatio%3D%27xMaxYMid%20slice%27%3E%3Cg%20stroke%3D%27%23677284%27%20stroke-opacity%3D%27.10%27%20fill%3D%27none%27%3E%3Cline%20x1%3D%270%27%20y1%3D%270%27%20x2%3D%270%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27100%27%20y1%3D%270%27%20x2%3D%27100%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27200%27%20y1%3D%270%27%20x2%3D%27200%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27300%27%20y1%3D%270%27%20x2%3D%27300%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27400%27%20y1%3D%270%27%20x2%3D%27400%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27500%27%20y1%3D%270%27%20x2%3D%27500%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27600%27%20y1%3D%270%27%20x2%3D%27600%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27700%27%20y1%3D%270%27%20x2%3D%27700%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27800%27%20y1%3D%270%27%20x2%3D%27800%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%27900%27%20y1%3D%270%27%20x2%3D%27900%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%271000%27%20y1%3D%270%27%20x2%3D%271000%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%271100%27%20y1%3D%270%27%20x2%3D%271100%27%20y2%3D%27560%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%2740%27%20x2%3D%271200%27%20y2%3D%2740%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27120%27%20x2%3D%271200%27%20y2%3D%27120%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27200%27%20x2%3D%271200%27%20y2%3D%27200%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27280%27%20x2%3D%271200%27%20y2%3D%27280%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27360%27%20x2%3D%271200%27%20y2%3D%27360%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27440%27%20x2%3D%271200%27%20y2%3D%27440%27%2F%3E%3Cline%20x1%3D%270%27%20y1%3D%27520%27%20x2%3D%271200%27%20y2%3D%27520%27%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%27M380%20470%20C520%20300%20640%20230%20780%20190%20S1020%20140%201200%20128%27%20fill%3D%27none%27%20stroke%3D%27%230B5CD6%27%20stroke-opacity%3D%27.55%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M380%20500%20C540%20380%20660%20330%20800%20300%20S1030%20268%201200%20262%27%20fill%3D%27none%27%20stroke%3D%27%230B5CD6%27%20stroke-opacity%3D%27.25%27%20stroke-width%3D%271.5%27%20stroke-dasharray%3D%276%206%27%2F%3E%3Ccircle%20cx%3D%27520%27%20cy%3D%27318%27%20r%3D%274%27%20fill%3D%27%230B5CD6%27%20fill-opacity%3D%27.7%27%2F%3E%3Ccircle%20cx%3D%27680%27%20cy%3D%27224%27%20r%3D%274%27%20fill%3D%27%230B5CD6%27%20fill-opacity%3D%27.7%27%2F%3E%3Ccircle%20cx%3D%27860%27%20cy%3D%27170%27%20r%3D%274%27%20fill%3D%27%230B5CD6%27%20fill-opacity%3D%27.7%27%2F%3E%3Ccircle%20cx%3D%271040%27%20cy%3D%27140%27%20r%3D%274%27%20fill%3D%27%230B5CD6%27%20fill-opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E")}
.hero>.wrap{position:relative;z-index:1}
.page-hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%2748%27%3E%3Cpath%20d%3D%27M48%200H0V48%27%20fill%3D%27none%27%20stroke%3D%27%238B95A3%27%20stroke-opacity%3D%27.07%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:linear-gradient(90deg,transparent 20%,#000 100%);mask-image:linear-gradient(90deg,transparent 20%,#000 100%);pointer-events:none}
[data-theme="light"] .page-hero::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%2748%27%3E%3Cpath%20d%3D%27M48%200H0V48%27%20fill%3D%27none%27%20stroke%3D%27%230E1726%27%20stroke-opacity%3D%27.07%27%2F%3E%3C%2Fsvg%3E")}
.page-hero>.wrap{position:relative;z-index:1}
.band,.cta{background:var(--navy) url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2748%27%20height%3D%2748%27%3E%3Cpath%20d%3D%27M48%200H0V48%27%20fill%3D%27none%27%20stroke%3D%27%23ffffff%27%20stroke-opacity%3D%27.07%27%2F%3E%3C%2Fsvg%3E");border-color:var(--navy-bd);color:var(--navy-t)}
.band .band-num,.cta h2{color:var(--navy-t)}
.band .band-num .u{color:#8FB8FF}
.band .band-label,.band .band-sub,.band .band-viz,.band .band-viz s,.cta p,[data-theme="light"] .band-cmp.is-rk .band-label,[data-theme="light"] .band-cmp.is-rk .band-sub,[data-theme="light"] .band-cmp.is-rk .band-viz{color:var(--navy-t2)!important}
.band .band-cell{border-color:var(--navy-bd)}
.band .band-tag{background:rgba(255,255,255,.1);color:var(--navy-t)}
.band .band-vs{background:var(--navy);border-color:var(--navy-bd);color:var(--navy-t2)}
.cta .btn-site.primary{background:#fff;border-color:#fff;color:#0B2147}
.cta .btn-site.ghost{border-color:rgba(255,255,255,.35);color:#fff}
.tile,.sec-card,.core-card,.offer,.team-card{transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}
.tile:hover,.sec-card:hover,.core-card:hover,.offer:hover,.team-card:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--accent) 45%,var(--border));box-shadow:0 10px 30px -18px color-mix(in oklab,var(--accent) 60%,transparent)}
.tile .tn,.sec-card .sc-ico{color:var(--accent)}

.band .wrap{background:var(--navy-bd)}
.band .band-cell,.band .band-cmp{background:var(--navy)!important}
.band .band-cmp.is-rk{background:color-mix(in oklab,#ffffff 6%,var(--navy))!important}
.band .band-cmp.is-rk *,.band .band-cmp.is-rk .band-tag{color:var(--navy-t)!important}
.band .band-cmp.is-rk .band-num,.band .band-cmp.is-rk em,.band .band-cmp.is-rk b{color:#8FB8FF!important}
.band .band-cmp.is-rk .band-label,.band .band-cmp.is-rk .band-sub{color:var(--navy-t2)!important}
.band .band-tag{background:rgba(255,255,255,.12)!important;color:var(--navy-t)!important}
.band i,.band .band-viz i{background-color:rgba(255,255,255,.25)}
[data-theme="light"] .mock-hd,[data-theme="light"] .mock-tbl-h,[data-theme="light"] .mock-tbl .hd{color:#566173}
.mock.mini .mock-tbl.mock-eve:not(.mock-files) .mock-tbl-r,.mock .mock-tbl.mock-eve:not(.mock-files) .mock-tbl-r{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}.mock.mini .mock-tbl.mock-eve:not(.mock-files) .mock-tbl-r>div:nth-child(n),.mock .mock-tbl.mock-eve:not(.mock-files) .mock-tbl-r>div:nth-child(n){display:block}.mock-eve .mock-tbl-r:not(.mock-tbl-h)>div:first-child{font-family:var(--font-mono);font-size:10px;color:var(--text)}.mock-eve .num{color:var(--text)}

/* ── from a <style> of <head> ── */
.shot-body{background:#fff}.shot-adapt{transition:filter .2s}[data-theme="dark"] .shot-body{background:#0f1115}[data-theme="dark"] .shot-adapt:not(.shot-dark):not(.shot-light){filter:invert(.9) hue-rotate(180deg) brightness(1.05) contrast(.95)}

/* ── from <style id="flow-page-mock"> ── */
.io-dl{margin:0;display:flex;flex-direction:column}.io-dl>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:9px 0;border-top:1px solid var(--border)}.io-dl>div:first-child{border-top:0;padding-top:0}.io-dl>div:last-child{padding-bottom:0}.io-dl dt{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:3px}.io-dl dd{margin:0;font-size:14px;line-height:1.55;color:var(--text-2)}.io{align-items:stretch}.mock-kv i{font-style:normal;color:var(--muted)}.mock-kv .num{color:var(--text)}.mock .mock-tbl.mock-flow{overflow-x:auto}.mock.mini .mock-tbl.mock-flow:not(.mock-files) .mock-tbl-r,.mock .mock-tbl.mock-flow .mock-tbl-r{grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr))!important;min-width:280px}.mock .mock-tbl.mock-flow .mock-tbl-r>div{display:flex!important;white-space:nowrap;overflow:visible;overflow-wrap:normal;hyphens:manual}.mock-flow .mock-tbl-r:not(.mock-tbl-h)>div:first-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.mock .num.neg{color:var(--danger)}.mock .num.pos{color:var(--success)}.mock-kvs{display:flex;flex-direction:column;gap:4px}.mock-kv{display:flex;gap:10px;align-items:baseline;font-size:10.5px;line-height:1.5;color:var(--text-2)}.mock-kv>b{flex:none;min-width:48px;font-family:var(--font-mono);font-size:8.5px;font-weight:500;letter-spacing:.06em;color:var(--muted)}.mock-acts{display:flex;gap:6px;flex-wrap:wrap}.mock-acts button{font-family:var(--font-mono);font-size:9.5px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-2);cursor:pointer;transition:all .12s var(--ease)}.mock-acts button:hover{color:var(--text);border-color:var(--border-2)}

/* ── from <style id="uc-styles2"> ── */
.uc-pill{display:inline-block;font-size:9px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.uc-pill.ok{background:color-mix(in oklab,var(--success) 22%,transparent);color:var(--success)}.uc-pill.v{background:color-mix(in oklab,var(--warn) 22%,transparent);color:var(--warn)}.uc-ctl{border:1px solid var(--border);border-radius:5px;overflow:hidden;font-size:10.5px}.uc-ctl-r{display:grid;grid-template-columns:52px 76px minmax(0,1.3fr) minmax(0,1.2fr);align-items:center}.uc-ctl-r>div{padding:6px 9px;border-bottom:1px solid var(--border);color:var(--text-2);min-width:0}.uc-ctl-r:last-child>div{border-bottom:0}.uc-ctl-r.h>div{background:var(--surface-2);color:var(--muted);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase}.uc-ctl .mono{font-family:var(--font-mono);color:var(--text)}.uc-ctl .mu{color:var(--muted)}.uc-form{display:flex;flex-direction:column;gap:7px}.uc-fh{font-size:12.5px;font-weight:600;color:var(--text)}.uc-lbl{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.uc-inp{border:1px solid var(--border);border-radius:4px;padding:6px 9px;font-size:11px;background:var(--bg);color:var(--text)}.uc-form code,.mock-msg code{font-family:var(--font-mono);font-size:9.5px;color:var(--accent)}.uc-recap{border:1px solid var(--border);border-radius:5px;padding:9px 10px;background:var(--surface-2);display:flex;flex-direction:column;gap:5px}.uc-rr{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;color:var(--text-2)}.uc-rr b{font-family:var(--font-mono);font-weight:500;color:var(--text);white-space:nowrap}.uc-btns{display:flex;justify-content:flex-end;gap:6px}.uc-btn{font-size:10px;padding:5px 11px;border-radius:4px;border:1px solid var(--border);color:var(--text-2);background:var(--surface-2);white-space:nowrap}.uc-btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}.uc-gh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.uc-k4{grid-template-columns:repeat(4,minmax(0,1fr))}.uc-k4 .v{font-size:13px}.uc-gt{font-size:11px;font-weight:600;color:var(--text)}.uc-line{width:100%;height:auto;display:block}.uc-line .g line{stroke:var(--border);stroke-dasharray:3 3}.uc-line text{font-family:var(--font-mono);font-size:8px;fill:var(--muted)}.uc-line .a{fill:none;stroke:var(--accent);stroke-width:1.8}.uc-line circle{fill:var(--accent)}.uc-line .b{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:4 3}.uc-line .h0{stroke:var(--muted);stroke-dasharray:2 2}.uc-line .hz{stroke:var(--danger);stroke-dasharray:3 2}.uc-line .hzt{fill:var(--muted)}.uc-leg{display:flex;justify-content:center;gap:16px;font-size:9.5px;color:var(--muted)}.uc-leg i{display:inline-block;width:16px;height:0;border-top:2px solid var(--accent);vertical-align:middle;margin-right:5px}.uc-leg i.b{border-top:1.5px dashed var(--muted)}.uc-gtbl{border:1px solid var(--border);border-radius:5px;overflow:hidden;font-size:9.5px}.uc-gtbl .r{display:grid;grid-template-columns:minmax(0,1.8fr) repeat(5,minmax(0,1fr))}.uc-gtbl .r>div{padding:5px 7px;border-bottom:1px solid var(--border);color:var(--text-2);text-align:right;font-family:var(--font-mono);white-space:nowrap;overflow:hidden}.uc-gtbl .r>div:first-child{text-align:left;font-family:inherit;text-transform:uppercase;font-size:8.5px;color:var(--text)}.uc-gtbl .r:last-child>div{border-bottom:0}.uc-gtbl .r.h>div{background:var(--surface-2);color:var(--muted);font-weight:600}.uc-mrow{display:flex;align-items:center;gap:8px}.uc-inp.sel{min-width:120px;border-color:color-mix(in oklab,var(--accent) 50%,transparent)}.uc-rb{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.uc-rbl{display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--border);padding-right:12px}.uc-sec{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin-top:4px}.uc-ck{display:flex;align-items:center;gap:7px;font-size:10.5px;color:var(--text);padding-left:10px}.uc-ck i{width:11px;height:11px;border-radius:3px;background:var(--accent);flex:none;position:relative}.uc-ck i::after{content:"";position:absolute;left:3.5px;top:1.5px;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.uc-rbr{display:flex;flex-direction:column;gap:5px;min-width:0}.uc-rh{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.uc-seg{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden;text-transform:none;letter-spacing:0}.uc-seg>*{padding:3px 7px;font-size:9px;font-weight:500}.uc-seg b{background:var(--surface-2,color-mix(in oklab,var(--text) 8%,transparent));color:var(--text);font-weight:600}.uc-seg>span{color:var(--muted)}.uc-sh{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);margin-top:3px}.uc-sh .tg{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);display:inline-flex;align-items:center;gap:5px}.uc-sh .tg i{width:18px;height:10px;border-radius:999px;background:var(--text);position:relative}.uc-sh .tg i::after{content:"";position:absolute;right:1.5px;top:1.5px;width:7px;height:7px;border-radius:50%;background:var(--surface)}.uc-it{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:10.5px;color:var(--text);background:var(--surface-2)}.uc-it .dr{color:var(--muted);font-size:8px;letter-spacing:-1px}.uc-it .n{color:var(--muted);font-family:var(--font-mono);font-size:9.5px}.uc-it .x{margin-left:auto;color:var(--muted)}@media (max-width:720px){.uc-rb{grid-template-columns:minmax(0,1fr)}.uc-rbl{border-right:0;padding-right:0}.uc-k4{grid-template-columns:repeat(2,minmax(0,1fr))}.uc-ctl-r{grid-template-columns:48px 70px minmax(0,1fr)}.uc-ctl-r>div:nth-child(4){display:none}}.uc-ctl.lcr .uc-ctl-r{grid-template-columns:minmax(0,1.7fr) 76px 64px minmax(0,.9fr)}.uc-ctl.lcr .num{text-align:right}.st-grp{display:flex;flex-direction:column;gap:6px;padding-top:9px;border-top:1px solid var(--border)}.st-gh{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--text)}.st-n{width:15px;height:15px;border-radius:50%;border:1px solid var(--border-2);display:grid;place-items:center;font-family:var(--font-mono);font-size:8.5px;font-weight:500;color:var(--muted)}.st-cnt{margin-left:auto;font-family:var(--font-mono);font-size:9px;font-weight:500;color:var(--accent)}.st-seg{display:flex;gap:5px;flex-wrap:wrap}.st-seg>span{font-size:10px;padding:4px 9px;border:1px solid var(--border);border-radius:4px;color:var(--text-2);background:var(--bg)}.st-seg>span.on{border-color:var(--text);color:var(--text);box-shadow:inset 0 0 0 1px var(--text);font-weight:600}.st-lock{cursor:not-allowed}.st-lock .st-chev{opacity:.35}.st-sh{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}.st-tree{border:1px solid var(--border);border-radius:5px;padding:3px 0;background:var(--bg);font-size:10.5px}.st-node>summary{list-style:none;cursor:pointer}.st-node>summary::-webkit-details-marker{display:none}.st-row{display:grid;grid-template-columns:10px 12px minmax(0,1fr) auto 28px 54px;align-items:center;gap:7px;padding:3px 8px 3px calc(8px + var(--d,0) * 13px);color:var(--text-2);min-height:22px}.st-node>summary.st-row:hover{background:var(--surface-2)}.st-row.sel{background:color-mix(in oklab,var(--accent) 7%,transparent);color:var(--text)}.st-row.dim .st-lab{color:var(--muted)}.st-lab{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-lab .mono{font-family:var(--font-mono);font-size:9.5px}.st-chev{width:5px;height:5px;border-right:1.3px solid var(--muted);border-bottom:1.3px solid var(--muted);transform:rotate(-45deg);transition:transform .15s var(--ease)}details[open]>summary>.st-chev{transform:rotate(45deg) translate(-1px,-1px)}.st-sp{width:10px}.st-cbx{width:11px;height:11px;border:1px solid var(--border-2);border-radius:2px;position:relative;background:var(--surface)}.st-cbx.on{background:var(--text);border-color:var(--text)}.st-cbx.on::after{content:"";position:absolute;left:3px;top:0;width:3px;height:6px;border:solid var(--surface);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.st-cbx.mid::after{content:"";position:absolute;left:2px;right:2px;top:4px;height:1.5px;background:var(--muted)}.st-bdg{font-size:8.5px;padding:1px 6px;border:1px solid var(--border);border-radius:999px;color:var(--text-2);white-space:nowrap}.st-bdg.agg{color:var(--muted);background:var(--surface-2)}.st-bdg.rt{font-family:var(--font-mono);color:var(--accent);border-color:color-mix(in oklab,var(--accent) 40%,transparent)}.st-code{font-family:var(--font-mono);font-size:9.5px;color:var(--muted);text-align:right}.st-shk{display:flex;align-items:center;justify-content:flex-end;gap:3px;font-family:var(--font-mono);font-size:9.5px;color:var(--text)}.st-shk::before{content:"";display:none}.st-shk{border:1px solid var(--border);border-radius:3px;background:var(--surface-2);padding:1px 4px}.st-shk i{font-style:normal;color:var(--muted)}.st-res{display:flex;flex-direction:column;gap:3px}.st-res b{color:var(--text)}.st-big{font-size:13px;color:var(--text)}.st-big em{font-style:normal;color:var(--danger);font-family:var(--font-mono);font-size:11px}.st-res>i{font-size:10px;color:var(--muted)}.st-card{border:1px solid var(--border);border-radius:6px;background:var(--surface-2);overflow:hidden}.st-ch{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:11px;color:var(--text)}.st-ch::-webkit-details-marker{display:none}.st-ch b{font-weight:500}.st-card[open]>.st-ch{border-bottom:1px solid var(--border)}.st-tag{font-size:8.5px;padding:1px 5px;border-radius:3px;background:var(--surface-3,var(--border));color:var(--muted)}.st-exp{margin-left:auto;font-size:9px;color:var(--muted);border:1px solid var(--border);border-radius:3px;padding:0 5px}.st-cbody{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px}.st-tools{display:flex;gap:5px;flex-wrap:wrap}.st-tab{display:flex;border:1px solid var(--border);border-radius:3px;overflow:hidden}.st-tab i{font-style:normal;font-size:9px;padding:2px 7px;color:var(--muted)}.st-tab i.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.st-tb{font-size:9px;padding:2px 7px;border:1px solid var(--border);border-radius:3px;color:var(--text-2)}.st-meta{font-size:9.5px;color:var(--muted)}.st-panel{border:1px solid var(--border);border-radius:5px;background:var(--bg);padding:8px;display:flex;flex-direction:column;gap:6px;overflow-x:auto}.st-sub{font-size:9px;color:var(--muted)}.st-tbl{font-size:10px;min-width:0}.st-tbl.r27{min-width:470px}.st-tr{display:grid;grid-template-columns:var(--cols);gap:8px;padding:5px 7px;border-bottom:1px solid var(--border);color:var(--text-2);align-items:center}.st-tr:last-child{border-bottom:0}.st-tr.h{background:var(--surface-2);color:var(--text);font-weight:600;font-size:9.5px}.st-tr.tot{color:var(--text);font-weight:600}.st-tr>div{min-width:0}.st-tbl .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.st-tbl .r{display:block;text-align:right}.st-tbl .c{display:block;text-align:center}.st-tbl .mono{font-family:var(--font-mono);font-size:9.5px}@media (max-width:720px){.uc-ctl.lcr .uc-ctl-r{grid-template-columns:minmax(0,1fr) 70px 60px}}

/* ── from <style id="uc-styles"> ── */
.uc-head{max-width:820px}.uc-text{margin-top:0;margin-bottom:28px;grid-template-columns:repeat(2,minmax(0,1fr))}.uc-text .span{grid-column:1/-1}.uc-list{margin:8px 0 0;padding-left:18px;display:grid;gap:5px;font-size:13.5px;color:var(--text-2);line-height:1.5}.uc-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.uc-shots{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:860px}.uc-shots.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.uc-shots .mock{width:100%;max-width:none}.mock-main.crp{padding:0;gap:0;display:flex;flex-direction:column;text-align:left}.crp-hd{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.crp-hd>div{flex:1;min-width:0}.crp-hi{color:var(--accent);margin-top:2px}.crp-hi svg,.crp-cl svg{width:14px;height:14px;display:block}.crp-cl{color:var(--muted)}.crp-t{font-size:13px;font-weight:600;color:var(--text)}.crp-st{font-size:10.5px;color:var(--text-2);margin-top:3px}.crp-mr{display:flex;align-items:center;gap:8px;padding:9px 16px;border-bottom:1px solid var(--border);font-size:10.5px}.crp-ml{color:var(--muted)}.crp-sel,.crp-in{border:1px solid var(--border);border-radius:5px;padding:5px 9px;background:var(--surface);color:var(--text);min-width:120px;display:flex;justify-content:space-between;align-items:center}.crp-in{background:var(--surface-2)}.crp-sel i{width:5px;height:5px;border:solid var(--text);border-width:0 1.3px 1.3px 0;transform:rotate(45deg);margin:-3px 0 0 10px}.crp-bt{border:1px solid var(--border);border-radius:5px;padding:5px 10px;color:var(--text);background:var(--surface);font-size:10.5px;font-weight:500}.crp-bt.pri{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}.crp-rst{margin-left:auto;color:var(--text);font-weight:500}.crp-bd{padding:12px 16px 0}.crp-tabs{display:inline-flex;gap:2px;padding:3px;border-radius:6px;background:var(--surface-2);font-size:10.5px;color:var(--text-2);margin-bottom:10px}.crp-tabs span{padding:4px 8px;border-radius:4px}.crp-tabs span.on{background:var(--surface);color:var(--text);font-weight:500;box-shadow:0 1px 2px rgb(0 0 0/.12)}.crp-l .crp-sc{max-height:none;overflow:visible}.crp-more{display:flex;align-items:center;gap:8px;margin:2px 0 4px;padding:7px 9px;border:1px dashed var(--border);border-radius:5px;font-size:10.5px;color:var(--text-2)}.crp-pl{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:var(--surface-2);color:var(--text);font-weight:600}.crp-mt{margin-left:auto;font-family:var(--font-mono);font-size:9.5px;color:var(--muted)}.crp-li.nw{background:color-mix(in oklab,var(--accent) 9%,transparent);border-radius:4px}.crp-nb{font-size:9px;padding:1px 6px;border-radius:9px;background:var(--accent);color:var(--bg);font-weight:600}.crp-ai{gap:10px}.ai-hd{display:inline-flex;align-items:center;gap:6px}.ai-ic,.ai-av{display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.ai-ic svg{width:12px;height:12px}.ai-st{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;color:var(--muted)}.ai-st i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.ai-th{flex:1;display:flex;flex-direction:column;gap:12px;padding:6px 0}.ai-u{align-self:flex-end;max-width:85%;padding:8px 11px;border-radius:10px 10px 2px 10px;background:var(--accent);color:var(--bg);font-size:11px;line-height:1.45}.ai-a{display:flex;gap:8px;align-items:flex-start}.ai-av{flex:none;width:22px;height:22px;border-radius:6px;background:color-mix(in oklab,var(--accent) 14%,transparent)}.ai-av svg{width:12px;height:12px}.ai-bd{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;font-size:11px;line-height:1.5;color:var(--text)}.ai-bd p{margin:0;text-wrap:pretty}.ai-pr{border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:9px 10px;display:flex;flex-direction:column;gap:8px}.ai-pl{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ai-df{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:5px;background:color-mix(in oklab,var(--accent) 9%,transparent);font-size:10.5px}.ai-df>span:nth-child(2){font-family:var(--font-mono);font-size:9.5px;color:var(--text-2)}.ai-df b{font-weight:500}.ai-plus{color:var(--accent);font-weight:700}.ai-bt{display:flex;justify-content:flex-end;gap:6px}.ai-b{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:5px;border:1px solid var(--border);font-size:10px;color:var(--text)}.ai-b.ok{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.ai-b svg{width:10px;height:10px}.ai-ok{align-self:center;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:14px;border:1px solid color-mix(in oklab,var(--accent) 35%,var(--border));font-size:10px;color:var(--text)}.ai-okc{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--accent);color:var(--bg)}.ai-okc svg{width:9px;height:9px}.ai-in{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:7px;padding:7px 8px 7px 11px;background:var(--surface-2);font-size:10.5px;color:var(--muted)}.ai-snd{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;background:var(--accent);color:var(--bg)}.ai-snd svg{width:12px;height:12px}.ps-agg .ps-tl{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ps-agg .st-bdg{margin-left:4px}.ps-lk{display:inline-flex;color:var(--muted)}.ps-lk svg{width:10px;height:10px}.ps-agg i{color:var(--accent)}.crp-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border-top:0}.crp-l{padding-right:12px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.crp-r{padding-left:12px;display:flex;flex-direction:column;gap:8px}.crp-sc{max-height:430px;overflow-y:auto;scrollbar-width:thin;padding-right:4px;display:flex;flex-direction:column;gap:4px;padding-bottom:10px}.crp-q{border:1px solid var(--border);border-radius:5px;padding:6px 9px;font-size:10.5px;color:var(--muted);background:var(--surface-2)}.crp-ls{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.crp-lh{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.crp-lh b{font-weight:600}.crp-li{display:flex;align-items:center;gap:7px;padding:4px 0 4px 16px;font-size:10.5px;color:var(--text)}.crp-li.off{color:var(--text-2)}.crp-li .g{margin-left:auto}.crp-ic{color:var(--muted);display:inline-flex}.crp-ic svg{width:10px;height:10px}.crp-codes{margin:0 0 4px 21px;padding:2px 0 4px 12px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:3px;font-size:10px}.crp-ch{color:var(--muted)}.crp-cr{display:flex;align-items:center;gap:6px;color:var(--text);padding-left:4px}.crp-cn{color:var(--muted);font-size:9.5px;line-height:1.45;padding-left:4px}.crp-rh{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:27px}.crp-rh>b{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-weight:600}.crp-seg{display:inline-flex;border:1px solid var(--border);border-radius:5px;padding:2px;font-size:10px}.crp-seg>*{padding:3px 7px;border-radius:3px;color:var(--text)}.crp-seg>b{background:var(--accent);color:var(--bg);font-weight:600}.crp-rs{display:flex;align-items:center;gap:7px;padding:5px 2px 2px;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.crp-rs b{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crp-rs>.crp-dr{flex:none}.crp-tg{margin-left:auto;flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-size:9.5px;color:var(--muted)}.crp-tg i{flex:none;width:20px;height:11px;border-radius:6px;background:var(--text);position:relative}.crp-tg i::after{content:"";position:absolute;right:2px;top:2px;width:7px;height:7px;border-radius:50%;background:var(--bg)}.crp-ri{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:5px;padding:5px 7px;background:var(--surface);font-size:10.5px;color:var(--text);min-height:30px}.crp-ri .n{color:var(--muted);font-family:var(--font-mono);font-size:9.5px;min-width:16px;text-align:right}.crp-ri .t{flex:1;min-width:0;display:flex;align-items:center;gap:5px}.crp-ib{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-2)}.crp-ib svg{width:11px;height:11px}.crp-ib.b{border:1px solid color-mix(in oklab,var(--accent) 55%,transparent);border-radius:4px;color:var(--accent)}.crp-dr{display:grid;grid-template-columns:repeat(2,2px);gap:2px;flex:none}.crp-dr i{width:2px;height:2px;border-radius:50%;background:var(--muted)}.crp-ob{border:1px solid var(--border);border-radius:5px;padding:8px 9px;margin-top:6px;display:flex;flex-direction:column;gap:4px}.crp-oh{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-weight:600}.crp-or{display:flex;gap:6px;align-items:baseline;font-size:10.5px;color:var(--text)}.crp-or .n{color:var(--muted);font-family:var(--font-mono);font-size:9.5px}.crp-or em{font-style:normal;color:var(--muted);font-size:9.5px}.crp-ft{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border)}.st-chev.o{transform:rotate(45deg) translate(-1px,-1px)}@media(max-width:700px){.crp-cols{grid-template-columns:minmax(0,1fr)}.crp-l{border-right:0;padding-right:0}.crp-r{padding-left:0}.crp-mr{flex-wrap:wrap}}.ps-m{padding:0!important;gap:0!important;display:flex;flex-direction:column;text-align:left}.ps-fh{padding:12px 14px 8px}.ps-ft{font-size:12.5px;font-weight:600;color:var(--text)}.ps-fs{font-size:10px;color:var(--text-2);margin-top:3px;line-height:1.45}.ps-sc{padding:0 14px 10px;display:flex;flex-direction:column}.ps-g{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid var(--border)}.ps-g:last-child{border-bottom:0}.ps-gh{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--text)}.ps-n{width:13px;height:13px;border:1px solid var(--muted);border-radius:50%;font-size:7.5px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-weight:500;font-family:var(--font-mono)}.ps-gd{font-size:10px;color:var(--text-2);line-height:1.45}.ps-rc{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--border);border-radius:5px;padding:7px 9px;background:var(--surface)}.ps-rc.on{border-color:var(--text);background:var(--surface-2)}.ps-rc b{display:block;font-size:10.5px;font-weight:500;color:var(--text)}.ps-rc div>span{display:block;font-size:9.5px;color:var(--text-2);margin-top:2px;line-height:1.4}.ps-rd{flex:none;width:11px;height:11px;border-radius:50%;border:1px solid var(--border-2);margin-top:1px;background:var(--surface)}.ps-rc.on .ps-rd{border:3.5px solid var(--text)}.ps-chip{align-self:flex-start;font-size:10px;font-weight:500;padding:4px 9px;border-radius:4px;background:var(--surface-2);color:var(--text)}.ps-tbl{border:1px solid var(--border);border-radius:5px;overflow:hidden;font-size:10px}.ps-tr{display:grid;grid-template-columns:minmax(0,1fr) 48px 48px 48px;gap:6px;align-items:center;padding:3px 6px;border-bottom:1px solid var(--border);color:var(--text)}.ps-tr:last-child{border-bottom:0}.ps-tr.h{background:var(--surface-2);font-weight:500;padding:5px 6px}.ps-tr.h b{text-align:right;font-weight:600}.ps-tl{display:flex;align-items:center;gap:6px;padding-left:calc(var(--d,0) * 11px);line-height:1.3}.ps-tr .st-chev{flex:none}.ps-sp{flex:none;width:5px}.ps-tr>i{font-style:normal;font-family:var(--font-mono);font-size:9.5px;text-align:center;padding:3px 0;border-radius:3px;background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.ps-tr>i.e{color:var(--muted)}.ps-ts{padding:4px 6px;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--text-2);background:var(--surface-2);border-bottom:1px solid var(--border)}.ps-lb{font-size:10px;font-weight:500;color:var(--text)}.ps-in{border:1px solid var(--border);border-radius:4px;padding:6px 9px;font-size:10.5px;background:var(--surface-2);color:var(--text)}.ps-hint{font-size:9.5px;color:var(--muted)}.ps-hint code{font-family:var(--font-mono);color:var(--text)}.ps-rx{border:1px solid var(--border);border-radius:5px;padding:8px 9px;background:var(--surface-2);display:flex;flex-direction:column;gap:3px;margin-top:4px}.ps-rxh{font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:2px}.ps-rxr{display:flex;justify-content:space-between;gap:10px;font-size:9.5px;color:var(--text-2)}.ps-rxr b{font-family:var(--font-mono);font-weight:500;color:var(--text);white-space:nowrap}.ps-foot{display:flex;align-items:center;gap:8px;padding:9px 14px;border-top:1px solid var(--border);font-size:10px;color:var(--text-2)}.ps-foot>span:first-child{margin-right:auto}.ps-ul{margin:2px 0;padding-left:16px;display:grid;gap:2px;font-size:10.5px;color:var(--text)}.ps-lg{display:flex;justify-content:center;gap:14px;font-size:9.5px}.ps-lg span{display:inline-flex;align-items:center;gap:5px}.ps-lg span::before{content:"";width:12px;height:2px}.ps-lg .a{color:var(--accent)}.ps-lg .a::before{background:var(--accent)}.ps-lg .b{color:oklch(0.64 0.14 45)}.ps-lg .b::before{background:oklch(0.64 0.14 45)}.ps-pair{align-items:stretch}.ps-pair>.rv{display:flex;flex-direction:column}.ps-pair .mock{flex:1;display:flex;flex-direction:column;width:100%}.ps-pair .mock-body{flex:1}
.ps-ch{width:100%;height:150px;display:block}.ps-ch text{font-size:8.5px;fill:var(--muted);font-family:var(--font-mono)}.ps-ch .gl{stroke:var(--border);stroke-dasharray:3 3}.ps-ch .ax{stroke:var(--border-2)}.ps-ch polyline{fill:none;stroke-width:1.6}.ps-ch .la{stroke:var(--accent)}.ps-ch .lb{stroke:oklch(0.64 0.14 45)}.ps-ch .pa{fill:var(--accent)}.ps-ch .pb{fill:oklch(0.64 0.14 45)}.ps-wt{display:flex;align-items:center;gap:6px}.sv-db{display:flex;justify-content:flex-end}.sv-l{display:flex;align-items:center;gap:6px}.sv-sp{width:5px;flex:none}.sv-so{font-style:normal;color:var(--muted);margin-left:3px;font-size:8px}.uc-ai{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9.5px;font-weight:500;padding:4px 9px;border-radius:4px;border:1px solid color-mix(in oklab,var(--accent) 50%,transparent);background:var(--accent-soft);color:var(--accent)}.uc-ai svg{width:13px;height:13px}.uc-rep{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px}.uc-tpl{display:flex;flex-direction:column;gap:3px;border-right:1px solid var(--border);padding-right:10px}.uc-tpl .ml{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:2px 6px 4px}.uc-tpl span{font-size:11px;color:var(--text-2);padding:5px 6px;border-radius:4px}.uc-tpl span.on{background:var(--surface-3);color:var(--text)}.uc-canvas{display:flex;flex-direction:column;gap:8px;min-width:0}.uc-tabs{display:flex;gap:4px;flex-wrap:wrap}.uc-tabs span{font-family:var(--font-mono);font-size:9.5px;padding:3px 8px;border:1px solid var(--border);border-radius:4px;color:var(--text-2)}.uc-tabs span.on{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 45%,transparent);background:var(--accent-soft)}.uc-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.uc-blk{border:1px solid var(--border);border-radius:5px;padding:9px 10px;background:var(--surface-2);display:flex;flex-direction:column;gap:6px;min-width:0}.uc-blk.w2{grid-column:1/-1}.mock-bars.uc-mini{min-height:70px;grid-template-columns:repeat(4,1fr)}.uc-delta{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px}.uc-delta b{font-family:var(--font-mono);font-size:20px;color:var(--success)}.uc-delta span{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.uc-rep{border:1px solid var(--border);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:6px;background:var(--surface-2)}.uc-rep-h{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text)}.uc-rep-h svg{color:var(--muted)}.uc-rep-g{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;color:var(--text);padding:2px 0}.uc-rep-f{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--border);border-radius:5px;padding:6px 8px;margin-left:12px}.uc-rep-x{display:grid;place-items:center;width:22px;height:22px;border-radius:4px;background:color-mix(in oklch,#2e8b57 22%,transparent);color:#3aa86b}.uc-rep-t{font-family:var(--font-mono);font-size:9.5px;color:var(--muted);background:var(--accent-soft);border-radius:3px;padding:2px 6px;white-space:nowrap}.uc-rep-n{font-family:var(--font-mono);font-size:10px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uc-rep-d{color:var(--muted);display:grid}.uc-rep-z{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:5px;padding:5px 9px;font-size:10.5px;color:var(--muted);margin-top:2px}.uc-shots.two .uc-ctl{overflow-x:auto}.uc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}@media (max-width:900px){.uc-shots.two{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.uc-text,.uc-cols{grid-template-columns:minmax(0,1fr)}.uc-rep{grid-template-columns:minmax(0,1fr)}.uc-tpl{display:none}}

/* ── from <style id="motion-layer"> ── */
:root{--mo-e:cubic-bezier(.2,.8,.2,1)}
html[data-theme="dark"]{--mo-bg:#05070B;--mo-card:linear-gradient(180deg,rgba(22,30,46,.78),rgba(10,14,22,.92));--mo-line:rgba(120,150,210,.16);--mo-line-h:rgba(122,174,255,.45);--mo-top:rgba(122,174,255,.22);--mo-chrome:linear-gradient(180deg,#F7F9FC 0%,#D3DAE5 42%,#8C97AA 56%,#E3E8F0 100%);--mo-sheen:rgba(255,255,255,.95);--mo-grad:linear-gradient(90deg,#BFE3FF,#5CC8FF 25%,#2F7BFF 50%,#5CC8FF 75%,#BFE3FF);--mo-a:#2F7BFF;--mo-a2:#5CC8FF;--mo-glow:rgba(47,123,255,.55);--mo-glow-s:rgba(47,123,255,.3);--mo-b1:rgba(24,70,214,.30);--mo-b2:rgba(47,123,255,.20);--mo-b3:rgba(92,200,255,.12);--mo-floor:rgba(47,123,255,.26);--mo-grid:%237896D2;--mo-txt:#EAF0F8;--navy-t:#EAF0F8;--navy-t2:#B9C7DC}
html[data-theme="light"]{--mo-bg:#FFFFFF;--mo-card:linear-gradient(180deg,#FFFFFF,#F3F6FB);--mo-line:rgba(11,92,214,.14);--mo-line-h:rgba(11,92,214,.45);--mo-top:rgba(255,255,255,1);--mo-chrome:linear-gradient(180deg,#3B4657 0%,#5E6B82 40%,#0E1726 58%,#2A3446 100%);--mo-sheen:rgba(255,255,255,.85);--mo-grad:linear-gradient(90deg,#0A4CB0,#2F7BFF 25%,#0B5CD6 50%,#2F7BFF 75%,#0A4CB0);--mo-a:#0B5CD6;--mo-a2:#2F7BFF;--mo-glow:rgba(11,92,214,.28);--mo-glow-s:rgba(11,92,214,.14);--mo-b1:rgba(47,123,255,.14);--mo-b2:rgba(92,200,255,.12);--mo-b3:rgba(11,92,214,.08);--mo-floor:rgba(11,92,214,.16);--mo-txt:#0E1726;--navy-t:#0E1726;--navy-t2:#3B4657;--font-sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;--font-display:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif}
html[data-theme="dark"] body{background:#05070B}
.mo-c,.mo-b{display:inline-block}
.mo-c,.hero h1>span{background-image:linear-gradient(105deg,transparent 40%,var(--mo-sheen) 50%,transparent 60%),var(--mo-chrome);background-size:250% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:100% 0,0 0}
.hero h1>span,.page-hero h1 .mo-c{animation:mo-chrome 6s cubic-bezier(.6,0,.2,1) infinite both}
.mo-b,.hero h1 .acc{background:var(--mo-grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero h1 .acc,.page-hero h1 .mo-b{animation:mo-grad 7s linear infinite}
@keyframes mo-chrome{0%,55%{background-position:100% 0,0 0}100%{background-position:0% 0,0 0}}
@keyframes mo-grad{to{background-position:-200% 0}}
.rv.in{animation-name:mo-up;animation-duration:.9s;animation-timing-function:var(--mo-e)}
@keyframes mo-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero::before{display:none!important}
.hero,.page-hero{background-color:var(--mo-bg)}
.hero>.wrap,.page-hero>.wrap{position:relative;z-index:1}
.mo-amb{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.mo-blob{position:absolute;border-radius:50%;background-image:radial-gradient(closest-side,currentColor,transparent)!important;animation:mo-drift 16s ease-in-out infinite alternate;will-change:transform}
@keyframes mo-drift{to{transform:translate(70px,-50px) scale(1.18)}}
.mo-floor{position:absolute;left:-25%;right:-25%;bottom:-6%;height:58%;background-image:linear-gradient(var(--mo-floor) 1px,transparent 1px),linear-gradient(90deg,var(--mo-floor) 1px,transparent 1px);overflow:hidden;transform:perspective(620px) rotateX(64deg);transform-origin:bottom;background-image:none}
.mo-floor::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,transparent,var(--mo-bg) 80%)}
.mo-floor::before{content:"";position:absolute;left:0;right:0;top:-64px;bottom:0;background-image:linear-gradient(var(--mo-floor) 1px,transparent 1px),linear-gradient(90deg,var(--mo-floor) 1px,transparent 1px);background-size:64px 64px;animation:mo-floor 3.5s linear infinite;will-change:transform}
@keyframes mo-floor{to{transform:translateY(64px)}}
.mo-amb svg{position:absolute;left:0;top:40px;width:100%;height:calc(100% - 40px)}
.mo-curve{stroke-dasharray:1;stroke-dashoffset:1;animation:mo-drawonce 2.6s cubic-bezier(.6,0,.2,1) .4s forwards}
@keyframes mo-drawonce{to{stroke-dashoffset:0}}
.mo-comet{stroke-dasharray:.06 .94;stroke-dashoffset:1;animation:mo-comet 5.5s linear 1.6s 1 both}
@keyframes mo-comet{0%{stroke-dashoffset:1;opacity:0}5%,92%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.mo-march{opacity:.8}
@keyframes mo-march{to{stroke-dashoffset:-24}}
.mo-pt{position:absolute;width:2px;height:2px;border-radius:50%;background:#CFEAFF;box-shadow:0 0 8px var(--mo-a2);opacity:0;animation:mo-rise 9s linear infinite}
html[data-theme="light"] .mo-pt{background:var(--mo-a)}
@keyframes mo-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:.8}100%{opacity:0;transform:translateY(-280px)}}
.mo-hair{position:absolute;left:0;right:0;bottom:0;height:1px;overflow:hidden;background:linear-gradient(90deg,transparent,var(--mo-glow),transparent);pointer-events:none}
footer .mo-hair{top:0;bottom:auto}
.mo-hair::after{content:"";position:absolute;top:0;left:0;width:30%;transform:translateX(-100%);will-change:transform;height:1px;background:linear-gradient(90deg,transparent,var(--mo-a2),#FFFFFF,var(--mo-a2),transparent);box-shadow:0 0 12px var(--mo-a2);animation:mo-sweep 5s linear infinite}
@keyframes mo-sweep{to{transform:translateX(433%)}}
footer{position:relative}
.hero .eyebrow-site{border:1px solid var(--mo-line-h);background:color-mix(in oklab,var(--mo-a) 8%,transparent);box-shadow:inset 0 0 24px var(--mo-glow-s)}
.hero .mock{border-color:var(--mo-line-h)!important;box-shadow:0 0 0 1px var(--mo-glow-s),0 40px 100px -30px var(--mo-glow),0 0 70px -24px var(--mo-glow-s)!important}
.hero-visual{animation:mo-float 9s ease-in-out infinite}
.mock{transition:box-shadow .6s var(--mo-e),border-color .6s}
.mock:hover{border-color:var(--mo-line-h)!important;box-shadow:0 30px 80px -30px var(--mo-glow)!important}
@keyframes mo-float{50%{transform:translateY(-6px)}}
.hero-meta .dot{position:relative;box-shadow:0 0 10px var(--mo-a)}
.hero-meta .dot::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--mo-a2);animation:mo-pulse 2s ease-out infinite;will-change:transform,opacity}
@keyframes mo-pulse{from{transform:scale(1);opacity:.8}to{transform:scale(2.6);opacity:0}}
.btn-site.primary{position:relative;overflow:hidden;background:linear-gradient(90deg,#1846D6,#2563EB)!important;color:#fff!important;border-color:transparent!important;box-shadow:inset 0 0 0 1px rgba(150,190,255,.4),0 12px 32px -10px var(--mo-glow),0 0 26px -6px var(--mo-glow-s)!important;transition:transform .25s var(--mo-e),box-shadow .25s}
.btn-site.primary::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(0) skewX(-20deg);pointer-events:none}
.btn-site.primary:hover::after{animation:mo-btnsheen 3.8s ease-in-out infinite}
.hero .btn-site.primary:not(:hover)::after{animation:mo-heroSheen 1.1s ease-in-out 1.5s 1 both}
@keyframes mo-heroSheen{from{transform:translateX(0) skewX(-20deg)}to{transform:translateX(500%) skewX(-20deg)}}
.btn-site.primary:hover::after{animation-duration:1.1s;animation-iteration-count:1}
@keyframes mo-btnsheen{0%,55%{transform:translateX(0) skewX(-20deg)}100%{transform:translateX(500%) skewX(-20deg)}}
.btn-site.primary:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(200,225,255,.65),0 18px 44px -10px var(--mo-glow),0 0 40px -4px var(--mo-glow-s)!important}
.btn-site svg{transition:transform .25s var(--mo-e)}.btn-site:hover svg{transform:translateX(5px)}
.btn-site.ghost{transition:border-color .25s,box-shadow .25s,color .25s}
.btn-site.ghost:hover{border-color:var(--mo-a2)!important;box-shadow:0 0 0 1px var(--mo-a2),0 0 28px -4px var(--mo-glow)}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--mo-a2);box-shadow:0 0 8px var(--mo-a2);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--mo-e)}
.nav-link:hover::after,.nav-link.on::after,.nav-link.active::after{transform:scaleX(1)}
.tile,.sec-card,.io-card,.st-card,.offer,.uc,.step{background:var(--mo-card)!important;border:1px solid var(--mo-line)!important;border-radius:14px;box-shadow:inset 0 1px 0 var(--mo-top);transition:transform .6s var(--mo-e),box-shadow .6s var(--mo-e),border-color .6s}
.tile:hover,.sec-card:hover,.io-card:hover,.st-card:hover,.offer:hover,.uc:hover,.step:hover{transform:translateY(-5px);border-color:var(--mo-line-h)!important;box-shadow:inset 0 1px 0 var(--mo-top),0 24px 60px -24px var(--mo-glow),0 0 40px -16px var(--mo-glow-s)}
.faq-item{transition:border-color .5s,box-shadow .5s}.faq-item:hover{border-color:var(--mo-line-h)!important;box-shadow:0 0 30px -14px var(--mo-glow)}
.ico,.core-ico,.sc-ico,.as-ico{transition:transform .6s var(--mo-e),filter .6s}
.tile:hover .ico,.sec-card:hover .ico,.io-card:hover .ico,.core:hover .core-ico,.st-card:hover .sc-ico,.agent-step:hover .as-ico,.sec-card:hover .sc-ico{transform:translateY(-2px) scale(1.06);filter:drop-shadow(0 0 8px var(--mo-glow))}
.compliance-chip,.mock-chip,.core-tag,.uc-pill,.cx-tag{transition:border-color .3s,box-shadow .3s,transform .3s var(--mo-e)}
.compliance-chip:hover,.mock-chip:hover,.core-tag:hover,.uc-pill:hover,.cx-tag:hover{border-color:var(--mo-line-h)!important;box-shadow:0 0 16px -4px var(--mo-glow)}
.agent-step{transition:transform .5s var(--mo-e)}.agent-step:hover{transform:translateX(4px)}
.step-n,.rx-num{background-image:linear-gradient(105deg,transparent 40%,var(--mo-sheen) 50%,transparent 60%),var(--mo-chrome);background-size:250% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-position:100% 0,0 0}
#functions .sec-eyebrow .mo-w{transition:color .6s,text-shadow .6s}
#functions .sec-eyebrow .mo-w.on{color:var(--mo-txt);text-shadow:0 0 12px var(--mo-glow)}
.mo-g{height:64px;margin-bottom:18px;display:flex;align-items:flex-end}
.mo-g1{gap:5px}.mo-g1 b{display:block;width:7px;height:100%;border-radius:2px;background:linear-gradient(180deg,#9CC2FF,var(--mo-a));box-shadow:0 0 10px var(--mo-glow);transform-origin:bottom;animation:mo-eq 2.8s ease-in-out infinite;animation-delay:calc(var(--i)*-.37s)}
@keyframes mo-eq{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.mo-g2{align-items:stretch}.mo-g2 div{flex:1;border:1px solid var(--mo-line);border-radius:8px;background:color-mix(in oklab,var(--mo-bg) 60%,transparent);padding:14px 12px;display:flex;flex-direction:column;justify-content:center;gap:7px}
.mo-g2 b{display:block;height:3px;border-radius:2px;background:var(--mo-a2);box-shadow:0 0 8px var(--mo-glow);transform-origin:left;animation:mo-type 4.5s var(--mo-e) infinite}
.mo-g2 b:nth-child(1){width:92%}.mo-g2 b:nth-child(2){width:66%;animation-delay:.35s}.mo-g2 b:nth-child(3){width:44%;animation-delay:.7s}
@keyframes mo-type{0%{transform:scaleX(0)}30%,85%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.mo-g3{align-items:flex-start;gap:6px}.mo-g3 b{display:block;width:16px;border-radius:2px;animation:mo-bob 4s ease-in-out infinite;animation-delay:calc(var(--i)*.3s)}
.mo-g3 b:nth-child(1){height:56px;background:var(--mo-a);box-shadow:0 0 12px var(--mo-glow)}.mo-g3 b:nth-child(2){height:16px;background:#9CC2FF}.mo-g3 b:nth-child(3){height:24px;background:#2B6BDE}.mo-g3 b:nth-child(4){height:12px;margin-top:12px;background:#9CC2FF}.mo-g3 b:nth-child(5){height:28px;margin-top:28px;background:#3F64B8}
@keyframes mo-bob{50%{transform:translateY(4px)}}
.mo-g4 svg{width:100%;height:64px;overflow:visible}.mo-g4 .bl{stroke:var(--mo-line-h);stroke-dasharray:2 4}.mo-g4 .pl{fill:none;stroke:var(--mo-a2);stroke-width:1.6;stroke-dasharray:240;stroke-dashoffset:240;animation:mo-draw 5s var(--mo-e) infinite}
.mo-g4 circle{fill:var(--mo-a2);offset-path:path("M0 44 L70 44 L84 40 L96 12 L108 52 L120 36 L140 40 L240 42");animation:mo-mv 5s var(--mo-e) infinite}
@keyframes mo-draw{0%{stroke-dashoffset:240;opacity:1}55%{stroke-dashoffset:0;opacity:1}90%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes mo-mv{0%{offset-distance:0%;opacity:1}55%{offset-distance:100%;opacity:1}90%,100%{offset-distance:100%;opacity:0}}
html[data-theme] .band{position:relative;overflow:hidden;background:linear-gradient(180deg,transparent 35%,color-mix(in oklab,var(--mo-glow-s) 40%,transparent) 50%,transparent 65%),linear-gradient(var(--mo-line) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,var(--mo-line) 1px,transparent 1px) 0 0/48px 48px,var(--mo-bg)!important;border-color:var(--mo-line)!important;color:var(--mo-txt)}
html[data-theme] .band .wrap{background:transparent!important;gap:0}
html[data-theme] .band .band-cell,html[data-theme] .band .band-cmp,html[data-theme] .band .band-cmp.is-rk{background:transparent!important;border-left:1px solid var(--mo-line);padding-top:48px;padding-bottom:48px}
html[data-theme] .band .band-cell:last-child{border-right:1px solid var(--mo-line)}
html[data-theme] .band .band-num{background-image:linear-gradient(105deg,transparent 40%,var(--mo-sheen) 50%,transparent 60%),var(--mo-chrome);background-size:250% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-position:100% 0,0 0;animation:none!important;transition:transform .6s var(--mo-e)}
html[data-theme] .band .band-cell:nth-child(2) .band-num{animation-delay:1.2s!important}html[data-theme] .band .band-cell:nth-child(3) .band-num{animation-delay:2.4s!important}html[data-theme] .band .band-cell:nth-child(4) .band-num{animation-delay:3.6s!important}
html[data-theme] .band .band-num .u{background:var(--mo-grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html[data-theme] .band .band-cmp.is-rk .band-num{opacity:1}
html[data-theme] .band .band-tag{background:color-mix(in oklab,var(--mo-txt) 5%,transparent)!important;border-color:var(--mo-line-h)!important;color:var(--navy-t2)!important}
html[data-theme] .band .band-cmp.is-rk .band-tag{background:color-mix(in oklab,var(--mo-a) 12%,transparent)!important;border-color:var(--mo-a2)!important;color:var(--mo-a2)!important;box-shadow:0 0 14px var(--mo-glow-s)}
html[data-theme="light"] html[data-theme] .band .band-cmp.is-rk .band-tag{color:var(--mo-a)!important}
html[data-theme] .band .band-viz.dots i{background:var(--mo-a)!important;box-shadow:0 0 8px var(--mo-glow);animation:mo-dots 3.6s ease-in-out infinite!important;animation-delay:calc(var(--i)*.14s)!important}
html[data-theme] .band .band-viz.dots i.off{background:transparent!important;box-shadow:none;border-color:var(--mo-line-h);animation:none!important}
@keyframes mo-dots{0%,100%{opacity:.35;transform:scale(.9)}30%{opacity:1;transform:scale(1)}}
html[data-theme] .band .band-viz.bar::before{background:var(--mo-line)}
html[data-theme] .band .band-viz.bar i{background:linear-gradient(90deg,#4A5160,#8C96A6)!important;transform-origin:left;animation:mo-fill 2.4s var(--mo-e) both!important}
html[data-theme] .band .band-viz.bar.full i{background:linear-gradient(90deg,#2B6BDE,#5CC8FF)!important;box-shadow:0 0 12px var(--mo-glow)}
@keyframes mo-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
html[data-theme] .band .band-viz.shift b,html[data-theme] .band .band-viz.shift b *{color:var(--mo-a2)!important;text-shadow:0 0 10px var(--mo-glow)}
html[data-theme="light"] html[data-theme] .band .band-viz.shift b,html[data-theme="light"] html[data-theme] .band .band-viz.shift b *{color:var(--mo-a)!important}
html[data-theme] .band .band-vs{display:grid!important;width:36px;height:36px;background:var(--mo-bg)!important;border:1px solid var(--mo-a2)!important;color:var(--mo-txt)!important;box-shadow:0 0 16px var(--mo-glow)}
html[data-theme] .band .band-cell:hover .band-num{transform:translateY(-3px)}
html[data-theme] .cta{position:relative;overflow:hidden;background:radial-gradient(50% 70% at 72% 50%,var(--mo-glow-s),transparent 70%),radial-gradient(40% 60% at 20% 50%,color-mix(in oklab,var(--mo-a) 8%,transparent),transparent 70%),var(--mo-bg)!important;border-color:var(--mo-line)!important}
html[data-theme] .cta .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px;align-items:center;text-align:left}
html[data-theme] .cta .wrap>*:not(.mo-r){grid-column:1}
html[data-theme] .cta .cta-actions{justify-content:flex-start}
html[data-theme] .cta p{color:var(--navy-t2)!important}
.mo-r{grid-column:2;grid-row:1/span 3;position:relative;width:260px;height:260px;display:grid;place-items:center}
.mo-r img{width:44%;height:auto;position:relative;z-index:1;filter:drop-shadow(0 0 22px var(--mo-glow))}
.mo-r svg{position:absolute;inset:0;width:100%;height:100%}
.mo-r .ring{fill:none;stroke:var(--mo-line-h);stroke-width:1;stroke-dasharray:1 6}
.mo-r .arc{fill:none;stroke:url(#moArc);stroke-width:2;stroke-linecap:round;transform-origin:130px 130px;animation:mo-spin 9s linear infinite}
.mo-r .arc2{fill:none;stroke:var(--mo-line-h);stroke-width:1;transform-origin:130px 130px;animation:mo-spin 16s linear infinite reverse}
@keyframes mo-spin{to{transform:rotate(360deg)}}
@media (max-width:900px){html[data-theme] .cta .wrap{grid-template-columns:1fr}.mo-r{grid-column:1;grid-row:auto;width:200px;height:200px;margin:24px auto 0}html[data-theme] .band .band-vs{display:none!important}.mo-floor{display:none}}
@media (prefers-reduced-motion:reduce){.mo-amb *,.mo-hair::after,.mo-g *,.mo-r *,.hero-visual,.mo-c,.mo-b,.hero h1>span,.hero h1 .acc,.band *,.btn-site.primary::after,.step-n,.rx-num{animation:none!important}.mo-curve{stroke-dashoffset:0}}

section.sec#icaap{padding-top:clamp(48px,6vw,80px)!important;padding-bottom:clamp(48px,6vw,80px)!important}
.mo-ld{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:radial-gradient(46% 46% at 50% 46%,#0B1634 0%,#03050C 72%);animation:mo-ldout 3.9s cubic-bezier(.7,0,.3,1) forwards;pointer-events:none}
html[data-theme="light"] .mo-ld{background:radial-gradient(46% 46% at 50% 46%,#EAF1FD 0%,#FFFFFF 72%)}
@keyframes mo-ldout{0%,80%{opacity:1;visibility:visible;transform:scale(1)}100%{opacity:0;visibility:hidden;transform:scale(1.08)}}
.mo-ld-logo{position:relative;width:132px;opacity:0;animation:mo-ldin .9s cubic-bezier(.2,.8,.2,1) .3s forwards}
.mo-ld-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 14px rgba(47,123,255,.55)) drop-shadow(0 0 40px rgba(47,123,255,.3))}
.mo-ld-sh{position:absolute;inset:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;overflow:hidden}
.mo-ld-sh::before{content:"";position:absolute;top:-10%;bottom:-10%;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.95) 50%,transparent);transform:translateX(0) skewX(-18deg);animation:mo-ldsh 1.1s cubic-bezier(.6,0,.2,1) 1.25s both,mo-ldsh 1.1s cubic-bezier(.6,0,.2,1) 2.6s both}
@keyframes mo-ldsh{from{transform:translateX(0) skewX(-18deg)}to{transform:translateX(420%) skewX(-18deg)}}
.mo-ld-gl{position:absolute;right:4%;top:6%;width:26px;height:26px;opacity:0;animation:mo-ldgl .8s ease-out 1.75s forwards}
@keyframes mo-ldgl{0%{opacity:0;transform:scale(0) rotate(0)}40%{opacity:1;transform:scale(1.15) rotate(45deg)}100%{opacity:0;transform:scale(0) rotate(90deg)}}
@keyframes mo-ldin{0%{opacity:0;transform:translateY(-24px) scale(.8)}70%{opacity:1;transform:translateY(3px) scale(1.02)}100%{opacity:1;transform:none}}
.mo-ld-wm{font-family:var(--font-sans);font-weight:600;font-size:18px;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;background-image:linear-gradient(105deg,transparent 40%,var(--mo-sheen) 50%,transparent 60%),var(--mo-chrome);background-size:250% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:0;animation:mo-ldwm .9s cubic-bezier(.2,.8,.2,1) 1.3s forwards,mo-ldws 1.2s cubic-bezier(.6,0,.2,1) 2.2s both}
@keyframes mo-ldwm{0%{opacity:0;clip-path:inset(0 100% 0 0);letter-spacing:.42em}15%{opacity:1}100%{opacity:1;clip-path:inset(0 0 0 0);letter-spacing:.24em}}
@keyframes mo-ldws{from{background-position:100% 0,0 0}to{background-position:0% 0,0 0}}
.mo-ld-bar{display:none!important;width:180px;height:1px;background:var(--mo-line);overflow:hidden}
.mo-ld-bar i{display:block;height:100%;background:linear-gradient(90deg,#2F7BFF,#5CC8FF);box-shadow:0 0 10px #5CC8FF;transform-origin:left;transform:scaleX(0);animation:mo-ldbar 1.3s cubic-bezier(.6,0,.2,1) 1.8s forwards}
@keyframes mo-ldbar{to{transform:scaleX(1)}}
html.mo-skip .mo-ld{display:none}
@media (prefers-reduced-motion:reduce){.mo-ld{display:none}}
.sec-head.center:has(.ct-one){max-width:none!important}.sec .sec-eyebrow,.sec-eyebrow{font-weight:700}.nav .nav-brand{gap:12px}.nav .nav-brand img{width:36px;height:36px}.nav .nav-brand .bn{font-size:15px}.nav-link{font-weight:600}.nav .nav-link.active{color:var(--accent);box-shadow:none}#functions .tile .tn{font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}.sec-title.ct-one{max-width:none!important;white-space:nowrap;font-size:clamp(18px,2.3vw,34px)!important}@media(max-width:900px){.sec-title.ct-one{white-space:normal}}[data-theme="light"] .nav{--bg:#0C0F14;--surface:#131820;--surface-2:#1A2029;--surface-3:#202834;--border:#232B36;--border-2:#36404D;--text:#F1F3F6;--text-2:#C3C9D2;--muted:#8B95A3;--dim:#56606E;--accent:#4C8DF8;--accent-2:#7AAEFF;--accent-soft:rgba(76,141,248,.14);background:color-mix(in oklab,#0C0F14 94%,transparent);color:var(--text)}[data-theme="light"] .nav.scrolled{background:#0C0F14;border-bottom-color:#232B36}[data-theme="light"] .nav .nav-brand img{filter:none}.hero .eyebrow-site{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;font-family:var(--font-sans);font-size:12.5px;font-weight:600;letter-spacing:.1em;line-height:1.5;color:var(--text-2);gap:12px;align-items:center;max-width:620px}.hero .eyebrow-site::before{display:none!important}.sec-head.center{text-align:left!important;margin-left:0!important;margin-right:0!important}.sec-head.center .sec-lead{margin-left:0!important;margin-right:0!important}.route-page p:not(.mock p):not(.cta p):not(.mock-txt):not([role="figure"] p),.route-page li:not(.mock li):not([role="figure"] li),.route-page .faq-a-inner,.route-page .diag-pt>span{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto}.route-page .founder-q,.route-page blockquote{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto}.mo-amb .mo-comet{stroke-dasharray:.035 .965!important;filter:drop-shadow(0 0 4px #5CC8FF) drop-shadow(0 0 10px rgba(47,123,255,.6));animation:mo-comet2 8s cubic-bezier(.45,0,.55,1) 1.6s 1 both!important;opacity:0}@keyframes mo-comet2{0%{stroke-dashoffset:1;opacity:0}12%{opacity:1}88%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}@media (prefers-reduced-motion:reduce){.mo-amb .mo-comet{animation:none!important;opacity:0}}.mo-amb svg{-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 40%,rgba(0,0,0,.5) 55%,#000 72%);mask-image:linear-gradient(90deg,transparent 0,transparent 40%,rgba(0,0,0,.5) 55%,#000 72%)}@media(max-width:960px){.mo-amb svg{display:none}}.mo-hair::after{animation:none!important;display:none}@media (prefers-reduced-motion:reduce){.mo-hair::after{animation:none!important}}.hero-lead>span>b:first-child{display:block;font-size:1.2em;font-weight:600;color:var(--text);letter-spacing:-.01em;line-height:1.35;margin-bottom:10px}.gl-wrap{display:block}.gl-body{max-width:760px}.gl-body h2{font-size:clamp(20px,2vw,24px);font-weight:600;letter-spacing:-.01em;margin:40px 0 12px;color:var(--text)}.gl-body h2:first-child{margin-top:0}.gl-body p,.gl-body li{font-size:16px;line-height:1.7;color:var(--text-2);text-wrap:pretty}.gl-body p{margin:0 0 14px}.gl-body ul{margin:0 0 14px;padding-left:20px;display:grid;gap:6px}.gl-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.gl-tiles{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

/* ── from <style id="light-refine"> ── */
html[data-theme="light"]{--dim:#8E98A6;--mo-line:#E3E7ED;--mo-line-h:rgba(11,92,214,.34);--mo-glow:rgba(14,23,38,.12);--mo-glow-s:rgba(11,92,214,.07);--mo-card:#FFFFFF;--mo-top:#FFFFFF}
html[data-theme="light"] ::selection{background:rgba(11,92,214,.16);color:#0E1726}
html[data-theme="light"] h1,html[data-theme="light"] .sec-title,html[data-theme="light"] .diag-q,html[data-theme="light"] .cta h2{letter-spacing:-.025em}
html[data-theme="light"] .nav{--mo-a:#2F7BFF;--mo-a2:#5CC8FF;--mo-glow:rgba(47,123,255,.55);--mo-glow-s:rgba(47,123,255,.3);--mo-line:rgba(120,150,210,.16);--mo-line-h:rgba(122,174,255,.45);--mo-txt:#EAF0F8;--mo-sheen:rgba(255,255,255,.95);--mo-chrome:linear-gradient(180deg,#F7F9FC 0%,#D3DAE5 42%,#8C97AA 56%,#E3E8F0 100%);background:#0C0F14!important;border-bottom:1px solid #05070B!important;box-shadow:0 10px 28px -20px rgba(11,33,71,.55)}
html[data-theme="light"] .tile,html[data-theme="light"] .sec-card,html[data-theme="light"] .io-card,html[data-theme="light"] .st-card,html[data-theme="light"] .offer,html[data-theme="light"] .uc,html[data-theme="light"] .step{background:#FFFFFF!important;border-color:#E3E7ED!important;box-shadow:0 1px 2px rgba(14,23,38,.04)}
html[data-theme="light"] .tile:hover,html[data-theme="light"] .sec-card:hover,html[data-theme="light"] .io-card:hover,html[data-theme="light"] .st-card:hover,html[data-theme="light"] .offer:hover,html[data-theme="light"] .uc:hover,html[data-theme="light"] .step:hover{border-color:rgba(11,92,214,.32)!important;box-shadow:0 1px 2px rgba(14,23,38,.04),0 22px 44px -26px rgba(14,23,38,.28)}
html[data-theme="light"] .tile:hover .ico,html[data-theme="light"] .sec-card:hover .ico,html[data-theme="light"] .io-card:hover .ico,html[data-theme="light"] .core:hover .core-ico,html[data-theme="light"] .st-card:hover .sc-ico,html[data-theme="light"] .agent-step:hover .as-ico,html[data-theme="light"] .sec-card:hover .sc-ico{filter:none}
html[data-theme="light"] .faq-item:hover{box-shadow:0 14px 30px -22px rgba(14,23,38,.25)}
html[data-theme="light"] .compliance-chip:hover,html[data-theme="light"] .mock-chip:hover,html[data-theme="light"] .core-tag:hover,html[data-theme="light"] .uc-pill:hover,html[data-theme="light"] .cx-tag:hover{box-shadow:none}
html[data-theme="light"] .mock{border-color:#DCE2EA!important}
html[data-theme="light"] .hero .mock{border-color:#DCE2EA!important;box-shadow:0 1px 2px rgba(14,23,38,.05),0 40px 80px -40px rgba(11,33,71,.30)!important}
html[data-theme="light"] .mock:hover{border-color:rgba(11,92,214,.30)!important;box-shadow:0 30px 70px -36px rgba(11,33,71,.30)!important}
html[data-theme="light"] .btn-site.primary:not(.nav *){background:#0B5CD6!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 20px -12px rgba(11,92,214,.6)!important}
html[data-theme="light"] .btn-site.primary:not(.nav *):hover{background:#0A4CB0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 14px 28px -14px rgba(11,92,214,.6)!important}
html[data-theme="light"] .btn-site.ghost:not(.nav *):hover{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent);color:var(--accent)}
html[data-theme="light"] .hero-meta .dot{box-shadow:none}
html[data-theme="light"] .mo-pt{box-shadow:none;background:rgba(11,92,214,.55)}
html[data-theme="light"] .mo-amb .mo-comet{filter:drop-shadow(0 0 3px rgba(11,92,214,.35))!important}
html[data-theme="light"] footer .mo-hair{background:linear-gradient(90deg,transparent,rgba(11,92,214,.18),transparent)}
html[data-theme="light"] footer .mo-hair::after{background:linear-gradient(90deg,transparent,#2F7BFF,#0B5CD6,#2F7BFF,transparent);box-shadow:none}
html[data-theme="light"] #functions .sec-eyebrow .mo-w.on{color:var(--accent);text-shadow:none}
html[data-theme="light"] .mo-g1 b,html[data-theme="light"] .mo-g2 b,html[data-theme="light"] .mo-g3 b,html[data-theme="light"] .mo-g3 b:nth-child(1){box-shadow:none}
html[data-theme="light"] .mo-g1 b{background:linear-gradient(180deg,#B9D2F7,#0B5CD6)}
html[data-theme="light"] .mo-g2 b{background:#0B5CD6}
html[data-theme="light"] .mo-g2 div{background:#F7F9FC}
html[data-theme="light"] .mo-g4 .pl{stroke:#0B5CD6}html[data-theme="light"] .mo-g4 circle{fill:#0B5CD6}
html[data-theme="light"] .band{background:linear-gradient(rgba(11,92,214,.05) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(11,92,214,.05) 1px,transparent 1px) 0 0/48px 48px,#F7F9FC!important;border-top:1px solid #E3E7ED!important;border-bottom:1px solid #E3E7ED!important}
html[data-theme="light"] .band .band-viz.dots i{box-shadow:none}
html[data-theme="light"] .band .band-viz.bar.full i{background:linear-gradient(90deg,#0A4CB0,#2F7BFF)!important;box-shadow:none}
html[data-theme="light"] .band .band-viz.shift b,html[data-theme="light"] .band .band-viz.shift b *{color:#0B5CD6!important;text-shadow:none}
html[data-theme="light"] .band .band-cmp.is-rk .band-tag{color:#0B5CD6!important;box-shadow:none}
html[data-theme="light"] .band .band-vs{background:#FFFFFF!important;border-color:rgba(11,92,214,.4)!important;box-shadow:0 6px 16px -8px rgba(11,33,71,.3)}
html[data-theme="light"] .cta{border-top:1px solid #E3E7ED!important}
html[data-theme="light"] .mo-r img{filter:drop-shadow(0 12px 22px rgba(11,33,71,.22))}
html[data-theme="light"] .mbr-r .n{color:var(--danger)}html[data-theme="light"] .mbr-r .p{color:var(--success)}

/* ── from a <style> of <body> ── */
.hi .hb-hit{fill:transparent;cursor:pointer;transition:fill .15s}.hi .hb-hit:hover{fill:color-mix(in oklab,var(--accent) 10%,transparent)}.hi[data-k="tm"] .hi-main,.hi[data-k="tx"] .hi-main,.hi[data-k="vo"] .hi-main{display:none}.hi .hi-drill:empty{display:none}.hi .nd-tb{display:block}.hi-note{font-family:var(--font-sans);font-size:10.5px;color:var(--muted);margin-top:6px}.hi-crumb{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.hi-crumb .hb-x{margin:0}

/* ── from a <style> of <body> ── */
.nd-tb{display:none;margin-top:10px;overflow-x:auto;border-top:1px solid var(--border)}.nd-drill[data-k="a2"]~.nd-tb-a2,.nd-drill[data-k="r2"]~.nd-tb-r2{display:block}.nd-tb table{width:100%;border-collapse:collapse;font-size:11px;color:var(--text);font-family:var(--font-sans)}.nd-tb th{text-align:right;font-weight:500;color:var(--text-2);padding:6px;border-bottom:1px solid var(--border);white-space:nowrap}.nd-tb th:first-child,.nd-tb td:first-child{text-align:left;padding-left:2px}.nd-tb td{text-align:right;padding:6px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:10.5px;white-space:nowrap}.nd-tb td:first-child{font-family:var(--font-sans);font-size:11px;white-space:normal;min-width:150px}.nd-tb td i{font-style:normal;color:var(--muted)}.nd-tb tr.o td{color:var(--muted)}.nd-tb tr.t td{font-weight:600;border-bottom:0}.nd-host .nd-drill{min-height:0}

/* ── from a <style> of <body> ── */
.hb .hb-hit{fill:transparent;cursor:pointer;transition:fill .15s}.hb .hb-hit:hover{fill:color-mix(in oklab,var(--accent) 10%,transparent)}.hb-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.hb-chip{font-family:var(--font-mono);font-size:10.5px;color:var(--text-2);border:1px solid var(--border);border-radius:5px;padding:3px 8px}.hb-chip b{color:var(--danger);font-weight:600}.hb-hint{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.hb[data-k="a2"] .hb-main,.hb[data-k="r2"] .hb-main{display:none}.hb .hb-drill:empty{display:none}.hb .nd-tb{display:none}.hb[data-k="a2"] .nd-tb-a2,.hb[data-k="r2"] .nd-tb-r2{display:block}.hb-x{display:inline-flex;margin-bottom:8px;cursor:pointer;background:none;border:1px solid var(--border-2);color:var(--text-2);border-radius:5px;font:11px var(--font-mono);padding:3px 9px}.hb-x:hover{color:var(--text);border-color:var(--text-2)}.hb-dh{font-family:var(--font-sans);font-size:12.5px;font-weight:600;color:var(--text)}.hb-dh small{display:block;font-family:var(--font-mono);font-size:10px;color:var(--muted);font-weight:400;margin-top:2px}

/* ── from a <style> of <body> ── */
.hl .hb-hit{fill:transparent;cursor:pointer;transition:fill .15s}.hl .hb-hit:hover{fill:color-mix(in oklab,var(--accent) 10%,transparent)}.hl[data-k="hq"] .hl-main,.hl[data-k="ou"] .hl-main,.hl[data-k="in"] .hl-main{display:none}.hl .hl-drill:empty{display:none}.hl .nd-tb{display:block}

/* ── from a <style> of <body> ── */
.ucb-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.ucb-tabs label{cursor:pointer;font-family:var(--font-mono);font-size:12px;padding:7px 14px;border:1px solid var(--border-2);border-radius:6px;color:var(--text-2);background:var(--surface);transition:background .15s,color .15s,border-color .15s}.ucb-tabs label:hover{color:var(--text);border-color:var(--text-2)}.ucb-p{display:none}#ucb-n:checked~.ucb-pn,#ucb-i:checked~.ucb-pi{display:block}#ucb-n:checked~.ucb-tabs label[for="ucb-n"],#ucb-i:checked~.ucb-tabs label[for="ucb-i"]{background:var(--accent);border-color:var(--accent);color:#fff}

/* ── from a <style> of <body> ── */
.nd-hit{fill:transparent;cursor:pointer;transition:fill .15s}.nd-hit:hover{fill:color-mix(in oklab,var(--accent) 8%,transparent)}.nd-hit.on{fill:color-mix(in oklab,var(--accent) 14%,transparent)}.nd-hint{font-family:var(--font-mono);font-size:11px;color:var(--muted);padding:4px 0 2px}.nd-drill:empty{display:none}.nd-drill{min-height:330px}.nd-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.nd-h b{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--text)}.nd-h small{display:block;font-family:var(--font-mono);font-size:10px;color:var(--muted);font-weight:400;margin-top:3px}.nd-x{display:inline-flex;margin-bottom:12px;cursor:pointer;background:none;border:1px solid var(--border-2);color:var(--text-2);border-radius:5px;font:12px var(--font-mono);padding:3px 9px}.nd-x:hover{color:var(--text);border-color:var(--text-2)}

/* ── from a <style> of <body> ── */
.mbr-tabs{display:flex;gap:6px}.mbr-tabs button{font-family:var(--font-mono);font-size:10.5px;padding:4px 11px;border:1px solid var(--border);border-radius:var(--r-2,6px);background:transparent;color:var(--text-2);cursor:pointer}.mbr-tabs button:hover{color:var(--text);border-color:var(--border-2)}.mbr-tabs button.on{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 45%,transparent);background:var(--accent-soft)}.mbr-pane{display:none!important}.mbr-pane.on{display:block!important}.mbr-t{margin-top:8px;border-top:1px solid var(--border);font-size:11px}.mbr-r{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1fr);gap:8px;padding:5px 0;border-bottom:1px solid var(--border);color:var(--text-2)}.mbr-r>div:nth-child(n+2){text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mbr-h{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mbr-e{color:var(--text);font-weight:600}.mbr-r .n{color:#ff6b6b}.mbr-r .p{color:#4FD08A}.mbr-pane svg{width:100%;min-width:190px;height:auto;display:block;margin-top:8px}.mbr-pane.on{overflow-x:auto}.mbr-pane svg text{font-family:var(--font-mono)}

/* ── from a <style> of <body> ── */
.cx.cx-h{margin:0;padding:0;background:none;display:block;border-radius:0}.cx-h .cx-card{margin-top:6px}.cx{font-family:var(--font-sans,system-ui);color:var(--text-2);font-size:11.5px;line-height:1.6;display:flex;gap:12px;background:transparent;margin:-18px;padding:18px;border-radius:0 0 10px 10px}.cx *{box-sizing:border-box}.cx-av{flex:none;width:28px;height:28px;border-radius:6px;background:var(--accent-soft);display:grid;place-items:center;font:700 14px/1 Georgia,serif;color:var(--accent-2);box-shadow:0 0 0 1px var(--border-2)}.cx-b{min-width:0;flex:1}.cx p{margin:0 0 10px}.cx ul{margin:0 0 10px;padding-left:16px}.cx li{margin:0 0 3px}.cx b{font-weight:650;color:var(--text)}.cx h5{margin:0;font-size:11.5px;font-weight:650;color:var(--text)}.cx-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.cx-ch{display:flex;align-items:center;gap:8px;padding:8px 10px;font-weight:550;color:var(--text)}.cx-tag{font-size:9px;background:var(--surface-3);color:var(--muted);border-radius:4px;padding:1px 6px;font-weight:500}.cx-x{margin-left:auto;border:1px solid var(--border-2);border-radius:5px;width:26px;height:20px;display:grid;place-items:center;color:var(--muted);font-size:10px}.cx-tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:6px 10px;border-top:1px solid var(--border)}.cx-seg{display:flex;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);padding:1px;font-size:10px;color:var(--muted)}.cx-seg span{padding:2px 7px;border-radius:4px}.cx-seg .on{background:var(--accent-soft);color:var(--accent-2);font-weight:650}.cx-btn{border:1px solid var(--border-2);border-radius:5px;padding:2px 8px;font-size:10px;color:var(--text-2);background:var(--surface-2)}.cx-meta{padding:2px 10px 8px;font-size:10px;color:var(--muted)}.cx-plot{margin:0 10px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:8px 10px}.cx-plot .cx-d{display:flex;justify-content:flex-end}.cx-plot small{display:block;font-size:9.5px;color:var(--muted);margin:2px 0 4px}.cx-lg{display:flex;gap:10px;justify-content:center;font-size:9px;color:var(--accent-2);margin:4px 0}.cx-lg i{display:inline-block;width:9px;height:9px;margin-right:4px;vertical-align:-1px}.cx svg{width:100%;height:190px;display:block}.cx-col .cx-ch{cursor:pointer;user-select:none}.cx-col .cx-bd{display:none}.cx-col.open .cx-bd{display:block}.cx-ch .cx-tt{flex:1;min-width:0}.cx-ch .cx-tt .l-fr,.cx-ch .cx-tt .l-en{display:inline}.cx .cx-ch svg.cx-chev{flex:none;width:10px;height:10px;display:inline-block;color:var(--muted);transition:transform .2s}.cx-col.open .cx-chev{transform:rotate(90deg)}.cx-all{display:block;text-align:right;font-size:10px;color:var(--muted);margin:0 0 6px;text-decoration:none}.cx-all:hover{color:var(--text)}.cx-all .o{display:none}.cx-all[data-cx-all="1"] .o{display:inline}.cx-all[data-cx-all="1"] .c{display:none}.cx-col+.cx-col{margin-top:6px}
.mo-c,.mo-b{padding:.1em .02em .18em;margin:-.1em -.02em -.18em}
.page-hero h1,.hero h1,.sec-title{padding-bottom:.06em}
html[data-theme] .dg-time .bar i.b.rk{position:relative;overflow:hidden;color:#fff;background:linear-gradient(90deg,#1846D6,#2563EB)!important;box-shadow:inset 0 0 0 1px rgba(150,190,255,.4),0 12px 32px -10px var(--mo-glow),0 0 26px -6px var(--mo-glow-s)}
html[data-theme] .dg-time .bar i.b.rk>*{position:relative;z-index:1}
html[data-theme] .dg-time .bar i.b.rk::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(0) skewX(-20deg);pointer-events:none;animation:mo-heroSheen 1.6s ease-in-out 1.5s 1 both}
html[data-theme] .dg-time .bar i.b.rk:hover::after{animation:mo-heroSheen 1.1s ease-in-out 1 both}
html[data-theme="light"] .dg-time .bar i.b.rk{background:#0B5CD6!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 20px -12px rgba(11,92,214,.6)}
@media (prefers-reduced-motion:reduce){html[data-theme] .dg-time .bar i.b.rk::after{animation:none;display:none}}

@media (min-width:601px){
.steps{--pz-d:28px;gap:10px}
html[data-theme] .steps .step{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:26px calc(24px + var(--pz-d)) 26px 24px;isolation:isolate;--pz-o:#171E2B;--pz-f:linear-gradient(180deg,#121926,#0A0E15);transition:transform .6s var(--mo-e),filter .6s var(--mo-e)}
html[data-theme="light"] .steps .step{--pz-o:#E3E7ED;--pz-f:#FFFFFF}
html[data-theme] .steps .step:not(:last-child){margin-right:calc(-1 * var(--pz-d))}
html[data-theme] .steps .step:not(:first-child){padding-left:calc(24px + var(--pz-d))}
html[data-theme] .steps .step:last-child{padding-right:24px}
.steps .step::before,.steps .step::after{content:"";position:absolute;z-index:-1;pointer-events:none;clip-path:polygon(0 0,calc(100% - var(--pz-d)) 0,100% 50%,calc(100% - var(--pz-d)) 100%,0 100%,var(--pz-d) 50%)}
.steps .step::before{inset:0;background:var(--pz-o);transition:background .6s}
.steps .step::after{inset:1px;background:var(--pz-f)}
.steps .step:first-child::before,.steps .step:first-child::after{clip-path:polygon(0 0,calc(100% - var(--pz-d)) 0,100% 50%,calc(100% - var(--pz-d)) 100%,0 100%)}
.steps .step:last-child::before,.steps .step:last-child::after{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,var(--pz-d) 50%)}
html[data-theme] .steps .step:hover{transform:translateY(-5px);filter:drop-shadow(0 18px 28px rgba(47,123,255,.22))}
html[data-theme] .steps .step:hover::before{background:#3A5279}
html[data-theme="light"] .steps .step:hover{filter:drop-shadow(0 16px 24px rgba(14,23,38,.12))}
html[data-theme="light"] .steps .step:hover::before{background:rgba(11,92,214,.34)}
.steps .step-arrow{display:none!important}
}

.mo-day{display:none}
html[data-theme="light"]{--bg:#F3F6FA;--text-2:#344052;--muted:#566275}
html[data-theme="light"] body{background:#F3F6FA!important}
html[data-theme="light"] .hero,html[data-theme="light"] .page-hero{background:linear-gradient(180deg,#DCEAFB 0%,#EAF2FC 38%,#F3F6FA 100%)!important}
html[data-theme="light"] .mo-day{display:block;position:absolute;inset:0;overflow:hidden}
.mo-dgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(11,92,214,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(11,92,214,.07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30%,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 30%,#000 70%,transparent 100%)}
.mo-dgrid::after{content:"";position:absolute;inset:0;background-image:inherit;background-size:inherit;filter:saturate(1.4);opacity:.9;background-image:linear-gradient(rgba(11,92,214,.30) 1px,transparent 1px),linear-gradient(90deg,rgba(11,92,214,.30) 1px,transparent 1px);-webkit-mask-image:linear-gradient(100deg,transparent 40%,#000 50%,transparent 60%);mask-image:linear-gradient(100deg,transparent 40%,#000 50%,transparent 60%);-webkit-mask-size:300% 100%;mask-size:300% 100%;animation:mo-dscan 11s ease-in-out infinite}
@keyframes mo-dscan{0%{-webkit-mask-position:100% 0;mask-position:100% 0}60%,100%{-webkit-mask-position:0 0;mask-position:0 0}}
.mo-sun{position:absolute;right:2%;top:-260px;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,248,232,.95) 0,rgba(255,236,205,.55) 16%,rgba(190,220,255,.32) 38%,transparent 66%);filter:blur(4px);animation:mo-sund 26s ease-in-out infinite alternate}
.mo-sun::before,.mo-sun::after{content:"";position:absolute;inset:30%;border-radius:50%;border:1px solid rgba(11,92,214,.16);animation:mo-ring 9s cubic-bezier(.2,.6,.3,1) infinite}
.mo-sun::after{animation-delay:-4.5s}
@keyframes mo-sund{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-90px,40px) scale(1.06)}100%{transform:translate(-40px,90px) scale(.96)}}
@keyframes mo-ring{0%{transform:scale(.4);opacity:0}25%{opacity:1}100%{transform:scale(1.9);opacity:0}}
.mo-cloud{position:absolute;left:-40%;height:120px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0));filter:blur(6px);animation:mo-cloud 80s linear infinite}
@keyframes mo-cloud{from{transform:translateX(0)}to{transform:translateX(180vw)}}
html[data-theme="light"] .mo-pt{background:#F2B544!important;box-shadow:0 0 6px rgba(242,181,68,.7)!important}
html[data-theme="light"] .tile,html[data-theme="light"] .sec-card,html[data-theme="light"] .io-card,html[data-theme="light"] .st-card,html[data-theme="light"] .offer,html[data-theme="light"] .uc,html[data-theme="light"] .core,html[data-theme="light"] .faq-item,html[data-theme="light"] .dg-time,html[data-theme="light"] .agent-step,html[data-theme="light"] .mock{background:#FFFFFF!important;border:1px solid #D3DBE6!important;box-shadow:inset 0 1px 0 #FFFFFF,0 1px 2px rgba(14,23,38,.07),0 8px 22px -10px rgba(14,23,38,.16),0 26px 50px -30px rgba(11,60,140,.22)!important}
html[data-theme="light"] .tile:hover,html[data-theme="light"] .sec-card:hover,html[data-theme="light"] .io-card:hover,html[data-theme="light"] .st-card:hover,html[data-theme="light"] .offer:hover,html[data-theme="light"] .uc:hover,html[data-theme="light"] .core:hover,html[data-theme="light"] .faq-item:hover,html[data-theme="light"] .agent-step:hover,html[data-theme="light"] .mock:hover{border-color:rgba(11,92,214,.45)!important;box-shadow:inset 0 1px 0 #FFFFFF,0 2px 4px rgba(14,23,38,.06),0 18px 36px -14px rgba(11,60,140,.28),0 40px 70px -34px rgba(11,92,214,.35)!important}
@media (min-width:601px){html[data-theme="light"] .steps .step{--pz-o:#CCD5E1;filter:drop-shadow(0 1px 1px rgba(14,23,38,.08)) drop-shadow(0 12px 18px rgba(11,60,140,.14))}html[data-theme="light"] .steps .step:hover{filter:drop-shadow(0 2px 2px rgba(14,23,38,.08)) drop-shadow(0 22px 26px rgba(11,60,140,.24))}html[data-theme="light"] .steps .step:hover::before{background:rgba(11,92,214,.5)}}
html[data-theme="light"] .band-cell{box-shadow:0 1px 2px rgba(14,23,38,.06),0 10px 24px -14px rgba(11,60,140,.2)}
@media (prefers-reduced-motion:reduce){.mo-sun,.mo-sun::before,.mo-sun::after,.mo-cloud,.mo-dgrid::after{animation:none!important}}
.rs-line{grid-template-columns:auto minmax(0,1fr)}.rs-tr{grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(0,1.2fr)}.rs-tr>div:nth-child(2),.rs-tr>div:nth-child(3){color:var(--text)}#case-1 .uc-shots,#case-2 .uc-shots,#case-6 .uc-shots{margin-inline:auto}
/* steps: rampe de couleur */
html[data-theme] .steps .step:nth-child(1){--st:#8FB0E0;--pz-o:#1D3560;--pz-f:linear-gradient(180deg,#101A2B,#0A0E15)}
html[data-theme] .steps .step:nth-child(2){--st:#7AAEFF;--pz-o:#24467E;--pz-f:linear-gradient(180deg,#112139,#0A0F18)}
html[data-theme] .steps .step:nth-child(3){--st:#5CA8FF;--pz-o:#2C5DB0;--pz-f:linear-gradient(180deg,#13284C,#0A1221)}
html[data-theme] .steps .step:nth-child(4){--st:#5CC8FF;--pz-o:#2F7BFF;--pz-f:linear-gradient(180deg,#17325F,#0B152A)}
html[data-theme="light"] .steps .step:nth-child(1){--st:#5A7BAE;--pz-o:#C9D5E8;--pz-f:#FFFFFF}
html[data-theme="light"] .steps .step:nth-child(2){--st:#2F6BC9;--pz-o:#9DB6DD;--pz-f:linear-gradient(180deg,#FFFFFF,#F4F8FE)}
html[data-theme="light"] .steps .step:nth-child(3){--st:#0B5CD6;--pz-o:#5B8BD6;--pz-f:linear-gradient(180deg,#F7FAFF,#E9F1FD)}
html[data-theme="light"] .steps .step:nth-child(4){--st:#0A4CB0;--pz-o:#0B5CD6;--pz-f:linear-gradient(180deg,#EEF4FE,#DDE9FB)}
html[data-theme] .steps .step .step-n{background:none!important;-webkit-text-fill-color:var(--st)!important;color:var(--st)!important;font-weight:600}
html[data-theme] .steps .step .step-n::after{background:linear-gradient(90deg,var(--st),transparent)!important;opacity:.55}
html[data-theme] .steps .step h4{color:var(--text)}

/* steps v2: rampe renforcée + étape finale mise en avant */
html[data-theme] .steps .step:nth-child(1){--st:#9DB9EA;--pz-o:#2B4A82;--pz-f:linear-gradient(160deg,#142441 0%,#0A0F19 72%)}
html[data-theme] .steps .step:nth-child(2){--st:#7AAEFF;--pz-o:#2F62C4;--pz-f:linear-gradient(160deg,#17305E 0%,#0A1222 72%)}
html[data-theme] .steps .step:nth-child(3){--st:#5CB4FF;--pz-o:#2F7BFF;--pz-f:linear-gradient(160deg,#1A3D7A 0%,#0B1630 78%)}
html[data-theme] .steps .step:nth-child(4){--st:#BFE3FF;--pz-o:linear-gradient(90deg,#2F7BFF,#5CC8FF);--pz-f:linear-gradient(150deg,#2462D6 0%,#163E8C 55%,#0F2B63 100%)}
html[data-theme="light"] .steps .step:nth-child(1){--st:#3D5F96;--pz-o:#B9CBE6;--pz-f:linear-gradient(160deg,#F3F7FD,#FFFFFF)}
html[data-theme="light"] .steps .step:nth-child(2){--st:#2563C9;--pz-o:#8DB0E8;--pz-f:linear-gradient(160deg,#E6EFFD,#FFFFFF)}
html[data-theme="light"] .steps .step:nth-child(3){--st:#0B5CD6;--pz-o:#4F8BE6;--pz-f:linear-gradient(160deg,#D6E5FC,#F6F9FF)}
html[data-theme="light"] .steps .step:nth-child(4){--st:#FFFFFF;--pz-o:linear-gradient(90deg,#0B5CD6,#2F7BFF);--pz-f:linear-gradient(150deg,#1C6DE6 0%,#0B5CD6 50%,#0A4CB0 100%)}
html[data-theme] .steps:not(.three) .step:nth-child(4) h4{color:#FFFFFF}
html[data-theme] .steps:not(.three) .step:nth-child(4) p{color:#DCE8FB}
html[data-theme] .steps .step .step-n{font-size:12px;letter-spacing:.06em;gap:10px}
.step-ic{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--st);-webkit-text-fill-color:initial;background:color-mix(in oklab,var(--st) 14%,transparent);border:1px solid color-mix(in oklab,var(--st) 38%,transparent)}
.step-ic svg{width:17px;height:17px}
html[data-theme] .steps .step:nth-child(4) .step-ic{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);color:#FFFFFF}
html[data-theme] .steps .step:nth-child(4) .step-n::after{background:linear-gradient(90deg,rgba(255,255,255,.7),transparent)!important}

@media (max-width:600px){html[data-theme] .steps:not(.three) .step{background:var(--pz-f)!important;border:1px solid var(--pz-b)!important;border-radius:14px!important}
html[data-theme] .steps .step:nth-child(1){--pz-b:#2B4A82}html[data-theme] .steps .step:nth-child(2){--pz-b:#2F62C4}html[data-theme] .steps .step:nth-child(3){--pz-b:#2F7BFF}html[data-theme] .steps .step:nth-child(4){--pz-b:#5CC8FF}
html[data-theme="light"] .steps .step:nth-child(1){--pz-b:#B9CBE6}html[data-theme="light"] .steps .step:nth-child(2){--pz-b:#8DB0E8}html[data-theme="light"] .steps .step:nth-child(3){--pz-b:#4F8BE6}html[data-theme="light"] .steps .step:nth-child(4){--pz-b:#0A4CB0}}
@media (max-width:600px){.hero .wrap .hero-visual{order:0}.hero-visual .mock .mock-body{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr);height:460px}.hero-visual .mock .mock-side{display:flex!important;flex-direction:row;gap:4px;padding:8px;border-right:0;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.hero-visual .mock .mock-side .ml{display:none}.hero-visual .mock button.mock-nav{width:auto;flex:1 0 auto;justify-content:center;white-space:nowrap;padding:7px 10px}.hero-visual .mock .mock-main{padding:14px}.mo-amb svg{display:block!important;top:70px;height:460px}.steps:not(.three){--pz-d:22px;gap:8px!important}html[data-theme] .steps:not(.three) .step{position:relative;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;isolation:isolate;padding:24px 22px calc(26px + var(--pz-d))!important;margin:0!important}html[data-theme] .steps:not(.three) .step:not(:first-child){padding-top:calc(24px + var(--pz-d))!important;margin-top:calc(-1 * var(--pz-d))!important}html[data-theme] .steps:not(.three) .step:last-child{padding-bottom:26px!important}html[data-theme] .steps:not(.three) .step::before,html[data-theme] .steps:not(.three) .step::after{content:'';display:block;position:absolute;z-index:-1;pointer-events:none;border-radius:0;clip-path:polygon(0 0,50% var(--pz-d),100% 0,100% calc(100% - var(--pz-d)),50% 100%,0 calc(100% - var(--pz-d)))}html[data-theme] .steps:not(.three) .step::before{inset:0;background:var(--pz-o)}html[data-theme] .steps:not(.three) .step::after{inset:1px;background:var(--pz-f)}html[data-theme] .steps:not(.three) .step:first-child::before,html[data-theme] .steps:not(.three) .step:first-child::after{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--pz-d)),50% 100%,0 calc(100% - var(--pz-d)))}html[data-theme] .steps:not(.three) .step:last-child::before,html[data-theme] .steps:not(.three) .step:last-child::after{clip-path:polygon(0 0,50% var(--pz-d),100% 0,100% 100%,0 100%)}.steps:not(.three) .step-arrow{display:none!important}}
@media (max-width:960px){.mo-amb svg{display:block!important}}@media (max-width:920px){.hero .wrap .hero-visual{order:0}.mo-amb svg{top:70px;height:520px}}@media (max-width:600px){.mo-amb svg{height:460px}}@media (min-width:601px) and (max-width:920px){.steps:not(.three){grid-template-columns:repeat(4,minmax(0,1fr));--pz-d:20px}html[data-theme] .steps:not(.three) .step{padding:22px calc(16px + var(--pz-d)) 22px 16px!important}html[data-theme] .steps:not(.three) .step:not(:first-child){padding-left:calc(16px + var(--pz-d))!important}html[data-theme] .steps:not(.three) .step:last-child{padding-right:16px!important}}

/* ── from a <style> of <body> ── */
.split.split-flow{grid-template-columns:minmax(0,35fr) minmax(0,65fr)}.wrap:has(>.split.split-flow),.wrap:has(.split-flow){max-width:1480px}.split.split-flow>*{min-width:0}
@media (max-width:1280px){.split.split-flow{grid-template-columns:minmax(0,1fr)}}
.mock.flowc{width:100%;max-width:1100px;box-sizing:border-box;overflow:hidden;justify-self:end;margin-left:auto}
.flowc *{box-sizing:border-box;min-width:0}
.flowc .mock-main{display:flex;flex-direction:column;gap:12px;overflow:hidden}
.flowc .mock-msg{max-width:85%;white-space:normal;overflow-wrap:break-word}
.flowc .mock-txt b{color:var(--text);font-weight:600}
.fc-vh{font-size:11.5px;font-weight:600;color:var(--text)}
.fc-chart{position:relative;width:100%;height:200px;font-family:var(--font-mono);font-size:11px;color:var(--muted)}
.fc-chart svg{position:absolute;inset:0;display:block;overflow:visible}
.fc-chart .fc-lab{position:absolute;font-size:11px;line-height:1;white-space:nowrap;color:var(--muted)}
.fc-leg{position:absolute;top:0;right:0;display:flex;gap:12px;font-size:11px;line-height:1;color:var(--text-2);white-space:nowrap}
.fc-leg i{display:inline-block;width:14px;height:0;border-top:2px solid;vertical-align:middle;margin-right:5px;position:relative;top:-1px}
.fc-pills{display:flex;flex-wrap:wrap;gap:6px}
.fc-pill{display:flex;align-items:baseline;gap:6px;white-space:nowrap;border:1px solid var(--border);background:var(--surface-2);border-radius:3px;padding:4px 8px;font-size:11px;color:var(--muted)}
.fc-pill b{font-family:var(--font-mono);font-weight:500;font-size:11.5px;color:var(--text);font-variant-numeric:tabular-nums}
.fc-pill b.neg{color:color-mix(in oklab,var(--danger) 80%,var(--text))}.fc-pill b.pos{color:var(--accent-2)}
.fc-blk{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.fc-ttl{font-size:12px;font-weight:600;color:var(--text)}
.fc-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:11px}
.fc-row>label,.fc-row>.fc-l{flex:none;width:76px;color:var(--muted);font-size:11px}
.fc-desc{flex:1 1 200px;color:var(--muted);font-size:11px;line-height:1.45}
.flowc select,.flowc .fc-q input{font:inherit;font-size:11.5px;color:var(--text);background:var(--surface-2);border:1px solid var(--border-2);border-radius:4px;height:26px;padding:0 6px;max-width:100%;color-scheme:dark}
[data-theme="light"] .flowc select,[data-theme="light"] .flowc .fc-q input{color-scheme:light}
.flowc select:focus,.flowc .fc-q input:focus{outline:1px solid var(--accent);outline-offset:0}
.flowc select:disabled{opacity:.5;cursor:not-allowed}
.fc-dis{display:inline-flex;cursor:not-allowed}
.fc-q{position:relative;flex:1 1 180px;max-width:260px}
.fc-q svg{position:absolute;left:7px;top:50%;transform:translateY(-50%);width:12px;height:12px;color:var(--muted);pointer-events:none}
.fc-q input{width:100%;padding-left:24px}
.fc-wrap{overflow:auto;max-height:320px;border:1px solid var(--border);border-radius:5px;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent;background:var(--surface)}
.fc-wrap::-webkit-scrollbar{width:8px;height:8px}.fc-wrap::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.fc-wrap::-webkit-scrollbar-track{background:transparent}.fc-wrap::-webkit-scrollbar-corner{background:transparent}
.fc-t{width:max-content;border-collapse:separate;border-spacing:0;font-size:12.5px;margin:0}
.fc-t th,.fc-t td{height:32px;padding:0 10px;white-space:nowrap;vertical-align:middle;border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums}
.fc-t th{position:sticky;top:0;z-index:2;background:var(--surface-2);font-size:11.5px;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}
.fc-t td{background:var(--surface);font-family:var(--font-mono);color:var(--text)}
.fc-t th:first-child,.fc-t td:first-child{position:sticky;left:0;text-align:left;width:240px;min-width:240px;max-width:240px;overflow:hidden;text-overflow:ellipsis}
.fc-t td:first-child{z-index:1;font-family:inherit;color:var(--text)}
.fc-t th:first-child{z-index:3}
.fc-wrap.sx .fc-t th:first-child,.fc-wrap.sx .fc-t td:first-child{box-shadow:6px 0 8px -6px rgba(0,0,0,.55)}
.fc-t .c-dev{min-width:56px;text-align:left}.fc-t .c-sens{min-width:64px;text-align:left}.fc-t .c-ctr{min-width:80px}.fc-t .c-nom{min-width:150px}.fc-t .c-b{min-width:132px}
.fc-t td.c-sens{font-family:inherit;font-size:11.5px;color:var(--text-2)}
.fc-t td.c-ctr,.fc-t td.c-nom{color:var(--muted)}.fc-t td.z{color:var(--dim)}
.fc-t tbody tr:hover td{background:var(--surface-2)}
.fc-t td.fc-empty{text-align:center;font-family:inherit;color:var(--muted);position:static;max-width:none;width:auto}
.fc-foot{font-size:10.5px;color:var(--muted)}

.mo-g1 b{animation:mo-eq1 2.4s cubic-bezier(.2,.8,.2,1) 1 both!important;animation-delay:calc(var(--i)*.09s)!important}
.mo-g1 b:nth-child(1){--h:.5}.mo-g1 b:nth-child(2){--h:.82}.mo-g1 b:nth-child(3){--h:.42}.mo-g1 b:nth-child(4){--h:.96}.mo-g1 b:nth-child(5){--h:.62}.mo-g1 b:nth-child(6){--h:.88}.mo-g1 b:nth-child(7){--h:.55}
@keyframes mo-eq1{0%{transform:scaleY(.12)}55%{transform:scaleY(1)}100%{transform:scaleY(var(--h,.7))}}
.mo-r .arc{animation-direction:reverse!important}.mo-r .arc2{animation-direction:normal!important}

html[data-theme="light"] .faq-item,html[data-theme="light"] .faq-item:hover{background:transparent!important;border:0!important;border-bottom:1px solid #D3DBE6!important;box-shadow:none!important;border-radius:0!important}
html[data-theme="light"] .faq-item:hover{border-bottom-color:rgba(11,92,214,.45)!important}
html[data-theme="light"] .faq-item:first-child{border-top:1px solid #D3DBE6!important}

/* ── from a <style> of <body> ── */
.ex{display:flex;flex-direction:column;gap:10px;font-size:12px;color:var(--text)}
.ex-h{position:relative;padding-right:24px;display:flex;flex-direction:column;gap:3px}
.ex-t{font-size:14px;font-weight:600;color:var(--text)}.ex-st{font-size:11.5px;color:var(--muted)}
.ex-x{position:absolute;top:0;right:2px;color:var(--muted);font-size:15px;line-height:1}
.ex-card{border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.ex-sh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ex-n{width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent-2);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex:none}
.ex-sh b{font-weight:600;font-size:12.5px;color:var(--text)}
.ex-note{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}
.ex-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px;align-items:center}
.ex-lab{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.ex-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ex-b{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid transparent;border-radius:4px;font-size:11.5px;color:var(--text-2);white-space:nowrap}
.ex-b.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-2);font-weight:600}
.ex-b.hl{border:1.5px solid var(--accent);color:var(--accent-2);font-weight:600}
.ex-b.nt{border-color:var(--border-2)}
.ex-sel{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 9px;border:1px solid var(--border-2);border-radius:4px;font-size:11.5px;color:var(--text);background:var(--surface);min-width:0;max-width:100%}
.ex-sel.w{flex:0 1 300px}.mock.flowc{container-type:inline-size}@container (min-width:880px){.ex-ctl>*,.ex-chk{white-space:nowrap}}.ex-sel.mut{color:var(--muted);flex:0 1 180px}
.ex-car{width:12px;height:12px;flex:none;color:var(--muted)}
.ex-i{width:12px;height:12px;flex:none;color:var(--muted)}
.ex-chk{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;color:var(--muted);padding-left:180px}
.ex-box{width:14px;height:12px;border:1.5px solid var(--accent);border-radius:3px;flex:none}
.ex-num{display:inline-block;width:40px;padding:3px 6px;border:1px solid var(--border-2);border-radius:4px;color:var(--text);font-family:var(--font-mono);font-size:11px}
.ex-field{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2);width:100%}
.ex-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:3px;background:var(--border);font-size:11.5px;font-weight:600;color:var(--text);white-space:nowrap}
.ex-cx{color:var(--muted);font-weight:400}
.ex-add{font-size:11.5px;color:var(--muted);white-space:nowrap;padding:0 4px}
.ex-met{display:flex;flex-direction:column;gap:6px}
.ex-mb{border-left:2px solid var(--accent);padding:2px 0 2px 10px;display:flex;flex-direction:column;gap:6px}
.ex-mt{font-size:12px;font-weight:500;color:var(--text)}
@media (max-width:560px){.ex-row{grid-template-columns:minmax(0,1fr);gap:4px}.ex-chk{padding-left:0}}

/* ── from <style id="anim-fix"> ── */
@keyframes mo-chrome{0%,12%{background-position:100% 0,0 0}100%{background-position:0% 0,0 0}} .hero h1>span,.page-hero h1 .mo-c{animation:mo-chrome 2.8s cubic-bezier(.6,0,.2,1) infinite both} .mo-g1 b{animation:mo-eq3 6.6s cubic-bezier(.4,0,.2,1) 1 both!important;animation-delay:calc(var(--i)*.09s)!important} @keyframes mo-eq3{0%{transform:scaleY(.12)}16%{transform:scaleY(1)}30%{transform:scaleY(var(--h,.7))}46%{transform:scaleY(1)}62%{transform:scaleY(var(--h,.7))}80%{transform:scaleY(1)}100%{transform:scaleY(var(--h,.7))}} .mo-g1 b.mo-off,html .mo-off,html .mo-off::before,html .mo-off::after{animation:none!important} @keyframes mo-drawonce{to{stroke-dashoffset:.13}} .mo-amb svg{-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 14%,rgba(0,0,0,.45) 34%,#000 58%)!important;mask-image:linear-gradient(90deg,transparent 0,transparent 14%,rgba(0,0,0,.45) 34%,#000 58%)!important} .mo-star{position:absolute;left:0;top:0;width:0;height:0;opacity:0;pointer-events:none;z-index:1;transition:opacity .4s} .mo-star.on{opacity:1} .mo-star i{position:absolute;left:-1.5px;top:-1.5px;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 4px 1px #BFE3FF,0 0 10px 2px rgba(92,200,255,.55)} .mo-star::before,.mo-star::after{content:'';position:absolute} .mo-star::before{left:-7px;top:-.5px;width:14px;height:1px;background:linear-gradient(90deg,transparent,rgba(220,240,255,.9),transparent)} .mo-star::after{left:-.5px;top:-7px;width:1px;height:14px;background:linear-gradient(180deg,transparent,rgba(220,240,255,.9),transparent)} .mo-star.tw{animation:mo-tw 1.4s ease-out 1 both} @keyframes mo-tw{0%{transform:scale(1) rotate(0)}35%{transform:scale(1.9) rotate(45deg)}100%{transform:scale(1) rotate(45deg)}} html[data-theme='light'] .mo-star i{box-shadow:0 0 3px 1px rgba(47,123,255,.7),0 0 8px 2px rgba(11,92,214,.35)} html[data-theme='light'] .mo-star::before{background:linear-gradient(90deg,transparent,rgba(11,92,214,.7),transparent)} html[data-theme='light'] .mo-star::after{background:linear-gradient(180deg,transparent,rgba(11,92,214,.7),transparent)} @media(max-width:960px){.mo-star{display:none}} @media (prefers-reduced-motion:reduce){.mo-star{display:none}}

/* ── site additions ── */
/* The language switch is a link to the paired page (the export had buttons) */
.lang-toggle a{display:inline-flex;align-items:center;padding:0 9px;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--muted);background:transparent;text-decoration:none;transition:color .12s var(--ease),background .12s var(--ease)}
.lang-toggle a.active{color:var(--accent);background:var(--accent-soft)}
.lang-toggle a:hover:not(.active){color:var(--text)}
/* Anchors land below the fixed nav (the export's router scrolled with this offset) */
html{scroll-padding-top:70px}
/* Moving between pages: the browser cross-fades them, the old page staying until the new one is drawn */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
/* The first screen of every page appears at once, without entrance (site.js, rv-now) */
.rv.rv-now,.rv-corner.rv-now{animation:none!important}
/* Without JavaScript (head.js adds .js): no opening logo, which a script removes; the dropdowns
   open on hover as well as on focus; no mobile menu button, which a script opens (the footer links every page) */
html:not(.js) .mo-ld{display:none!important}
html:not(.js) .nv-item:hover .dd{opacity:1;transform:none;pointer-events:auto}
html:not(.js) .mobile-toggle{display:none!important}
/* Every inner page's hero has the same height at a given width (the tallest one, measured in
   the test harness), content at the top: titles sit at the same place and the next section
   starts on the same line, so the pages' cross-fade doesn't cut across two layouts. The home
   page's hero is its own; the About pages' is taller (the founder block) and keeps its height. */
main .page-hero{box-sizing:border-box;min-height:548px}
@media (max-width:1120px){main .page-hero{min-height:582px}}
@media (max-width:1040px){main .page-hero{min-height:526px}}
@media (max-width:640px){main .page-hero{min-height:536px}}
@media (max-width:545px){main .page-hero{min-height:560px}}
@media (max-width:490px){main .page-hero{min-height:588px}}
@media (max-width:440px){main .page-hero{min-height:614px}}
@media (max-width:410px){main .page-hero{min-height:642px}}
@media (max-width:390px){main .page-hero{min-height:696px}}
