/* Home page (index-baseline-v3).
   The designer's stylesheet, scoped under .exo-home rather than edited: it
   styles bare body/nav/footer/* and generic names (.section, .btn, .container)
   that already mean something else in this app, so imported globally it would
   restyle every other page. Scoping keeps it byte-faithful and contained.
   Regenerate with scratchpad/scope_css.py if the source file changes. */
.exo-home {
      --primary:#2563eb; --primary-2:#1d4ed8; --primary-light:#eff6ff; --primary-border:#bfdbfe;
      --emerald:#059669; --emerald-light:#ecfdf5; --emerald-border:#a7f3d0;
      --amber:#d97706;  --amber-light:#fffbeb;  --amber-border:#fde68a;
      --danger:#dc2626;
      --page:#f8fafc; --card:#fff; --subtle:#f1f5f9;
      --border:#e2e8f0; --border-strong:#cbd5e1;
      --ink:#0f172a; --ink-2:#475569; --muted:#94a3b8;
      --ink-dark:#0b1220;
      --sh-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
      --sh-md:0 4px 12px rgba(0,0,0,.07);
      --sh-lg:0 8px 24px rgba(0,0,0,.09);
      --sh-xl:0 20px 50px rgba(15,23,42,.13);
      --r-md:8px; --r-lg:12px; --r-xl:16px; --r-2xl:24px;
    }
.exo-home * {margin:0;padding:0;box-sizing:border-box}
.exo-home {scroll-behavior:smooth}
.exo-home {font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--card);
         color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.exo-home .container {max-width:1180px;margin:0 auto;padding:0 32px}
.exo-home .section {padding:104px 0}
.exo-home .eyebrow {display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
             color:var(--primary-2);background:var(--primary-light);border:1px solid var(--primary-border);
             border-radius:100px;padding:5px 14px;margin-bottom:20px}
.exo-home h2.title {font-size:clamp(2rem,4vw,3.1rem);font-weight:800;letter-spacing:-.04em;line-height:1.08;margin-bottom:16px}
.exo-home h2.title em {font-style:normal;color:var(--primary)}
.exo-home p.lede {font-size:1.05rem;color:var(--ink-2);line-height:1.72;max-width:58ch}
.exo-home .center {text-align:center}
.exo-home .center p.lede {margin-left:auto;margin-right:auto}
.exo-home .btn {display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:13px 26px;
         border-radius:var(--r-md);font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;
         text-decoration:none;border:1px solid transparent;transition:all .16s;line-height:1.4}
.exo-home .btn-primary {background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--sh-sm)}
.exo-home .btn-primary:hover {background:var(--primary-2);box-shadow:var(--sh-md);transform:translateY(-1px)}
.exo-home .btn-secondary {background:#fff;color:var(--ink-2);border-color:var(--border)}
.exo-home .btn-secondary:hover {border-color:var(--border-strong);color:var(--ink);box-shadow:var(--sh-sm)}
.exo-home .btn-onDark {background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22)}
.exo-home .btn-onDark:hover {background:rgba(255,255,255,.18)}
/* ── NAV ── */
.exo-home nav {position:fixed;inset:0 0 auto 0;z-index:300;height:66px;background:rgba(255,255,255,.86);
        backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.exo-home .nav-inner {max-width:1180px;margin:0 auto;padding:0 32px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.exo-home .nav-logo {font-size:1.35rem;font-weight:900;letter-spacing:-.04em;color:var(--ink);text-decoration:none}
.exo-home .nav-logo span {color:var(--primary)}
.exo-home .nav-links {display:flex;gap:30px;list-style:none}
.exo-home .nav-links a {font-size:.88rem;font-weight:500;color:var(--ink-2);text-decoration:none}
.exo-home .nav-links a:hover {color:var(--primary)}
.exo-home .nav-right {display:flex;align-items:center;gap:10px}
.exo-home .nav-links li.has-drop {position:relative}
.exo-home .drop-toggle {display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;
                 font:inherit;font-size:.88rem;font-weight:500;color:var(--ink-2);cursor:pointer}
.exo-home .drop-toggle:hover {color:var(--primary)}
.exo-home .drop-toggle::after {content:'';width:5px;height:5px;border-right:1.6px solid currentColor;
                        border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s}
.exo-home li.has-drop:hover .drop-toggle::after, .exo-home li.has-drop.open .drop-toggle::after {transform:rotate(225deg) translateY(1px)}
.exo-home .drop {position:absolute;top:calc(100% + 16px);left:50%;width:372px;background:#fff;
          border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-xl);padding:8px;
          opacity:0;visibility:hidden;transform:translateX(-50%) translateY(-6px);
          transition:opacity .18s,transform .18s,visibility .18s;z-index:400}
.exo-home .drop::before {content:'';position:absolute;top:-16px;left:0;right:0;height:16px}
.exo-home li.has-drop:hover .drop, .exo-home li.has-drop.open .drop, .exo-home li.has-drop:focus-within .drop {
          opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.exo-home .drop a {display:flex;align-items:flex-start;gap:11px;padding:10px 12px;border-radius:var(--r-md);
            text-decoration:none;transition:background .14s}
.exo-home .drop a:hover {background:var(--page)}
.exo-home .drop .dot {width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}
.exo-home .drop b {display:block;font-size:.86rem;font-weight:700;color:var(--ink);letter-spacing:-.012em}
.exo-home .drop em {display:block;font-style:normal;font-size:.75rem;color:var(--muted);margin-top:3px;line-height:1.5}
.exo-home .drop em s {text-decoration:none;font-weight:600;color:var(--ink-2)}
.exo-home .drop-group {font-size:.61rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
                color:var(--muted);padding:10px 12px 5px}
.exo-home .drop hr {border:none;border-top:1px solid var(--border);margin:7px 10px}
/* ── HERO: split, score-led ── */
.exo-home .hero {padding:132px 0 88px;position:relative;overflow:hidden;
          background:radial-gradient(ellipse 1000px 560px at 18% -10%,rgba(37,99,235,.11),transparent 62%),
                     linear-gradient(180deg,#fff,var(--page))}
.exo-home .hero-grid {display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.exo-home .hero-kicker {display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--primary-2);
                 background:var(--primary-light);border:1px solid var(--primary-border);border-radius:100px;
                 padding:6px 14px;margin-bottom:22px}
.exo-home .live-dot {width:6px;height:6px;border-radius:50%;background:var(--emerald);animation:blip 2s ease-in-out infinite}
@keyframes blip {0%,100%{opacity:1}50%{opacity:.3}}
.exo-home .hero h1 {font-size:clamp(2.1rem,4.2vw,3.85rem);font-weight:900;letter-spacing:-.05em;line-height:1.04;
            margin-bottom:22px;white-space:nowrap}
.exo-home .hero h1 em {font-style:normal;background:linear-gradient(120deg,var(--primary) 0%,#7c3aed 100%);
                -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.exo-home .hero-tagline {font-size:1.16rem;font-weight:700;letter-spacing:-.02em;margin-bottom:14px}
.exo-home .hero-sub {font-size:1rem;color:var(--ink-2);line-height:1.75;max-width:52ch;margin-bottom:32px}
.exo-home .hero-sub b {font-weight:600}
.exo-home .hero-sub .l {color:var(--primary)}
.exo-home .hero-sub .p {color:var(--emerald)}
.exo-home .hero-sub .v {color:var(--amber)}
.exo-home .hero-actions {display:flex;gap:9px;flex-wrap:wrap}
.exo-home .hero-actions .btn {padding:11px 17px;font-size:.86rem;white-space:nowrap}
/* ── The score card — the product's signature object ── */
.exo-home .score-card {background:#fff;border:1px solid var(--border);border-radius:var(--r-2xl);
                box-shadow:var(--sh-xl);padding:28px;position:relative;overflow:hidden}
.exo-home .score-card::before {content:'';position:absolute;inset:0 0 auto 0;height:4px;
                        background:linear-gradient(90deg,var(--primary),var(--emerald),var(--amber))}
.exo-home .sc-head {display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.exo-home .sc-label {font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.exo-home .sc-chip {font-size:.68rem;font-weight:700;padding:4px 11px;border-radius:100px;
             color:var(--emerald);background:var(--emerald-light);border:1px solid var(--emerald-border)}
.exo-home .dial-wrap {display:flex;align-items:center;gap:26px;margin-bottom:24px}
.exo-home .dial {position:relative;width:150px;height:150px;flex-shrink:0}
.exo-home .dial svg {transform:rotate(-90deg)}
.exo-home .dial-track {fill:none;stroke:var(--subtle);stroke-width:13}
.exo-home .dial-fill {fill:none;stroke:url(#scoreGrad);stroke-width:13;stroke-linecap:round;
               stroke-dasharray:439.8;stroke-dashoffset:439.8;animation:dialFill 1.6s cubic-bezier(.22,1,.36,1) .25s forwards}
@keyframes dialFill {to{stroke-dashoffset:57.2}}
.exo-home .dial-mid {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.exo-home .dial-num {font-size:2.7rem;font-weight:900;letter-spacing:-.05em;line-height:1}
.exo-home .dial-den {font-size:.72rem;font-weight:600;color:var(--muted);margin-top:2px}
.exo-home .sc-verdict {font-size:1.02rem;font-weight:750;letter-spacing:-.02em;margin-bottom:6px}
.exo-home .sc-note {font-size:.82rem;color:var(--ink-2);line-height:1.6}
.exo-home .sc-pillars {border-top:1px solid var(--border);padding-top:18px;display:flex;flex-direction:column;gap:13px}
.exo-home .sc-row {display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.exo-home .sc-name {font-size:.8rem;font-weight:600;color:var(--ink-2)}
.exo-home .sc-val {font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}
.exo-home .sc-track {grid-column:1/-1;height:6px;background:var(--subtle);border-radius:100px;overflow:hidden}
.exo-home .sc-bar {height:100%;border-radius:100px;width:0;animation:barFill 1.3s cubic-bezier(.22,1,.36,1) forwards}
@keyframes barFill {to{width:var(--w)}}
/* ── DARK PROBLEM BAND ── */
.exo-home .band {background:var(--ink-dark);color:#fff;padding:96px 0;position:relative;overflow:hidden}
.exo-home .band::before {content:'';position:absolute;inset:0;
      background:radial-gradient(ellipse 800px 400px at 80% 0%,rgba(37,99,235,.20),transparent 60%),
                 radial-gradient(ellipse 600px 340px at 10% 100%,rgba(124,58,237,.14),transparent 60%)}
.exo-home .band .container {position:relative;z-index:1}
.exo-home .band .eyebrow {color:#93c5fd;background:rgba(37,99,235,.16);border-color:rgba(37,99,235,.34)}
.exo-home .band h2 {font-size:clamp(2rem,4vw,3.1rem);font-weight:800;letter-spacing:-.04em;line-height:1.08;margin-bottom:16px}
.exo-home .band h2 em {font-style:normal;color:#60a5fa}
.exo-home .band p.lede {color:rgba(255,255,255,.66)}
.exo-home .band-stats {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
.exo-home .bstat {background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);border-radius:var(--r-xl);padding:28px 26px}
.exo-home .bstat-num {font-size:2.9rem;font-weight:900;letter-spacing:-.05em;line-height:1;margin-bottom:8px}
.exo-home .bstat-num.r {color:#f87171}
.exo-home .bstat-num.b {color:#60a5fa}
.exo-home .bstat-num.a {color:#fbbf24}
.exo-home .bstat-lbl {font-size:.88rem;font-weight:600;margin-bottom:6px}
.exo-home .bstat-note {font-size:.79rem;color:rgba(255,255,255,.5);line-height:1.55}
.exo-home .band-proof {margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;
                background:rgba(37,99,235,.13);border:1px solid rgba(96,165,250,.30);
                border-radius:var(--r-xl);padding:22px 26px}
.exo-home .band-proof>div {display:flex;flex-direction:column}
.exo-home .band-proof b {font-size:1.9rem;font-weight:900;letter-spacing:-.045em;line-height:1;color:#93c5fd}
.exo-home .band-proof span {font-size:.78rem;color:rgba(255,255,255,.6);margin-top:5px}
.exo-home .band-proof .vs {font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
                    color:rgba(255,255,255,.35)}
.exo-home .band-proof p {flex:1;min-width:240px;font-size:.88rem;color:rgba(255,255,255,.78);line-height:1.6;margin:0}
.exo-home .band-proof p::before {content:'';display:block;height:1px;background:rgba(255,255,255,.14);margin-bottom:12px}
/* ── PLATFORM cards (from v2) ── */
.exo-home .systems-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.exo-home .sys-card {background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);
              padding:28px 26px 26px;position:relative;overflow:hidden;box-shadow:var(--sh-sm);
              transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.exo-home .sys-card::before {content:'';position:absolute;inset:0 0 auto 0;height:3px;background:var(--ac)}
.exo-home .sys-card:hover {transform:translateY(-3px);box-shadow:var(--sh-lg);border-color:var(--ac-border)}
.exo-home .s1 {--ac:var(--primary);--ac-light:var(--primary-light);--ac-border:var(--primary-border)}
.exo-home .s2 {--ac:var(--emerald);--ac-light:var(--emerald-light);--ac-border:var(--emerald-border)}
.exo-home .s3 {--ac:var(--amber);--ac-light:var(--amber-light);--ac-border:var(--amber-border)}
.exo-home .sys-kicker {font-size:.67rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ac);margin-bottom:15px}
.exo-home .agent-row {display:flex;align-items:center;gap:9px;margin-bottom:3px}
.exo-home .agent-name {font-size:1.6rem;font-weight:900;letter-spacing:-.04em;color:var(--ac);line-height:1}
.exo-home .agent-status {display:inline-flex;align-items:center;gap:5px;font-size:.65rem;font-weight:700;
                  letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:100px;
                  color:var(--ac);background:var(--ac-light);border:1px solid var(--ac-border)}
.exo-home .status-dot {width:5px;height:5px;border-radius:50%;background:var(--ac)}
.exo-home .agent-role {font-size:.78rem;color:var(--muted);font-weight:500;margin-bottom:16px}
.exo-home .sys-title {font-size:1.06rem;font-weight:750;letter-spacing:-.02em;margin-bottom:10px}
.exo-home .sys-desc {font-size:.87rem;color:var(--ink-2);line-height:1.68;margin-bottom:22px}
.exo-home .pillars {display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.exo-home .pillar {display:flex;align-items:center;gap:10px}
.exo-home .pillar-name {font-size:.8rem;color:var(--ink-2);flex:1;font-weight:500}
.exo-home .pillar-track {width:76px;height:5px;background:var(--subtle);border-radius:100px;overflow:hidden;flex-shrink:0}
.exo-home .pillar-fill {height:100%;border-radius:100px;background:var(--ac)}
.exo-home .tags {display:flex;flex-wrap:wrap;gap:6px}
.exo-home .tag {font-size:.7rem;font-weight:500;padding:4px 10px;border-radius:100px;color:var(--ac);
         background:var(--ac-light);border:1px solid var(--ac-border)}
/* ── DEMO VIDEO ── */
.exo-home .video-frame {position:relative;max-width:940px;margin:0 auto;aspect-ratio:16/9;
                 border-radius:var(--r-2xl);overflow:hidden;background:linear-gradient(135deg,#0b1220,#1e293b);
                 border:1px solid var(--border-strong);box-shadow:var(--sh-xl);
                 display:flex;align-items:center;justify-content:center;cursor:pointer}
.exo-home .video-badge {position:absolute;bottom:15px;right:15px;z-index:2;font-size:.72rem;font-weight:600;
                 color:#fff;background:rgba(255,255,255,.13);backdrop-filter:blur(8px);
                 border:1px solid rgba(255,255,255,.2);padding:5px 12px;border-radius:100px}
.exo-home .flow-svg {width:100%;height:100%;position:relative;z-index:1}
.exo-home .flow-line {stroke:rgba(255,255,255,.14);stroke-width:1.5;stroke-dasharray:4 6}
.exo-home .flow-hub {fill:#fff;filter:drop-shadow(0 0 16px rgba(255,255,255,.5))}
.exo-home .flow-hub-label {fill:#0b1220;font-family:'Inter',sans-serif;font-size:11px;font-weight:900;text-anchor:middle}
.exo-home .flow-node circle {fill:rgba(255,255,255,.05);stroke-width:2}
.exo-home .flow-node-label {fill:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:800;text-anchor:middle}
.exo-home .flow-node-sub {fill:rgba(255,255,255,.55);font-family:'Inter',sans-serif;font-size:9px;font-weight:500;
                   letter-spacing:.09em;text-anchor:middle}
/* ── CTA ── */
/* ── MODAL ── */
.exo-home .overlay {position:fixed;inset:0;z-index:500;background:rgba(15,23,42,.46);backdrop-filter:blur(5px);
             display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s}
.exo-home .overlay.open {opacity:1;pointer-events:all}
.exo-home .modal {background:#fff;border-radius:var(--r-2xl);width:100%;max-width:470px;padding:34px;position:relative;
           transform:translateY(14px);transition:transform .2s;box-shadow:var(--sh-xl)}
.exo-home .overlay.open .modal {transform:translateY(0)}
.exo-home .m-close {position:absolute;top:15px;right:15px;width:31px;height:31px;border-radius:var(--r-md);
             border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;font-size:1rem}
.exo-home .m-close:hover {border-color:var(--danger);color:var(--danger)}
.exo-home .m-logo {font-size:1.25rem;font-weight:900;letter-spacing:-.04em;margin-bottom:4px}
.exo-home .m-logo span {color:var(--primary)}
.exo-home .m-tag {font-size:.82rem;color:var(--muted);margin-bottom:22px}
.exo-home .roles {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}
.exo-home .role {padding:13px 10px;border-radius:var(--r-lg);border:1px solid var(--border);background:#fff;
          cursor:pointer;text-align:center;font-family:inherit;transition:all .15s}
.exo-home .role:hover {border-color:var(--border-strong)}
.exo-home .role b {display:block;font-size:.82rem;font-weight:700;color:var(--ink-2)}
.exo-home .role span {display:block;font-size:.67rem;color:var(--muted);margin-top:3px;line-height:1.35}
.exo-home .role.on-partner {border-color:var(--primary);background:var(--primary-light)}
.exo-home .role.on-partner b {color:var(--primary-2)}
.exo-home .role.on-lister {border-color:var(--emerald);background:var(--emerald-light)}
.exo-home .role.on-lister b {color:var(--emerald)}
.exo-home .role.on-buyer {border-color:var(--amber);background:var(--amber-light)}
.exo-home .role.on-buyer b {color:var(--amber)}
.exo-home .fg {margin-bottom:14px}
.exo-home .fl {display:block;font-size:.78rem;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.exo-home .fi {width:100%;padding:10px 13px;border-radius:var(--r-md);border:1px solid var(--border);
        font-size:.9rem;font-family:inherit;outline:none;transition:all .15s}
.exo-home .fi:focus {border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.exo-home .m-foot {text-align:center;font-size:.78rem;color:var(--muted);margin-top:14px}
.exo-home .m-foot a {color:var(--primary);text-decoration:none;font-weight:500}
@media(max-width:1000px) {
.exo-home .hero-grid {grid-template-columns:1fr;gap:48px}
.exo-home .systems-grid {grid-template-columns:1fr}
.exo-home .nav-links {display:none}
}
@media(max-width:680px) {
.exo-home .container, .exo-home .nav-inner {padding-left:20px;padding-right:20px}
.exo-home .section, .exo-home .band {padding:64px 0}
.exo-home .hero {padding:110px 0 64px}
.exo-home .hero h1 {white-space:normal}
.exo-home .band-stats {grid-template-columns:1fr}
.exo-home .dial-wrap {flex-direction:column;text-align:center;gap:18px}
}