/* ===================================================================
   Teez — spreadsheet-native design system
   One sheet you already know. Shared across index / vision / brokers.
   =================================================================== */
:root{
  --sheet:#ffffff; --chrome:#1b1f23; --chrome-2:#262b30; --chrome-line:#34393f;
  --grid:#E7E9EC; --grid-2:#D8DBDF; --gutter:#F6F7F8; --gutter-line:#DADDE1;
  --hdr-tx:#6A7178; --ink:#1F2329; --ink-2:#5B6168; --ink-3:#9AA0A6;
  --green:#107C41; --green-2:#0E6B38; --green-soft:rgba(16,124,65,.10); --green-flash:rgba(16,124,65,.22);
  --amber:#B7791F; --red:#B3261E; --sel:#107C41; --teal:#0E7490; --blue:#0B84FF;
  --sans:Calibri,'Segoe UI',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'Cascadia Mono',monospace;
  --appH:96px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--appH) + 30px);overflow-x:hidden}
body{font-family:var(--sans);color:var(--ink);font-size:17px;line-height:1.55;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.tnum{font-variant-numeric:tabular-nums}

/* ===== app chrome ===== */
.app{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--chrome);color:#E8EAED;border-bottom:1px solid var(--chrome-line)}
.app-top{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 16px;gap:18px}
.app-id{display:flex;align-items:center;gap:11px;min-width:0;flex:none}
.app-id img{height:24px;width:24px;object-fit:contain}
.app-id .nm{font-weight:700;font-size:17px;letter-spacing:-.01em}
.app-id .file{font-family:var(--mono);font-size:12px;color:#9AA0A6;border-left:1px solid var(--chrome-line);padding-left:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-nav{display:flex;gap:22px;margin-left:auto;font-size:14px}
.app-nav a{color:#B9BEC4}.app-nav a:hover,.app-nav a.act{color:#fff}.app-nav a.act{font-weight:600}
.app-right{display:flex;align-items:center;gap:14px;flex:none}
.app-right .login{font-size:14px;color:#B9BEC4}.app-right .login:hover{color:#fff}
.book{background:var(--green);color:#fff;font-family:var(--sans);font-weight:700;font-size:14px;padding:8px 16px;border-radius:4px;border:none;cursor:pointer;transition:.15s;text-decoration:none;display:inline-block}
.book:hover{background:#1a9551}
.navtoggle{display:none;background:none;border:none;color:#C7CCD2;font-size:21px;line-height:1;cursor:pointer;padding:2px 6px;font-family:var(--sans)}
.navtoggle:hover{color:#fff}
.fxbar{display:flex;align-items:stretch;height:44px;border-top:1px solid var(--chrome-line);background:var(--chrome-2)}
.fx-name{flex:none;width:108px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:#9AA0A6;border-right:1px solid var(--chrome-line);gap:7px}
.fx-name .nb{color:#E8EAED}
.fx-val{flex:1;display:flex;align-items:center;padding:0 16px;font-family:var(--mono);font-size:13.5px;color:#E8EAED;white-space:nowrap;overflow:hidden}
.fx-val .fn{color:#5BD18B}.fx-val .str{color:#E8C07D}
.caret{display:inline-block;width:7px;height:17px;background:#5BD18B;margin-left:1px;animation:blink 1.05s step-end infinite;vertical-align:-3px}
@keyframes blink{50%{opacity:0}}

/* ===== column header ===== */
.colhead{position:fixed;top:var(--appH);left:0;right:0;z-index:55;display:flex;height:26px;background:var(--gutter);border-bottom:1px solid var(--gutter-line);font-family:var(--mono);font-size:11px;color:var(--hdr-tx)}
.corner{width:46px;flex:none;border-right:1px solid var(--gutter-line);display:flex;align-items:flex-end;justify-content:flex-end;padding:2px 4px}
.corner i{width:0;height:0;border-left:7px solid transparent;border-bottom:7px solid #C3C7CC}
.colhead .cols{flex:1;display:grid;grid-template-columns:repeat(7,1fr);max-width:1180px;margin:0 auto;width:100%;padding:0 36px}
.colhead .cols span{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--gutter-line)}
.colhead .cols span.act{background:var(--green-soft);color:var(--green);font-weight:600}

/* ===== sheet body ===== */
.sheet{display:flex;padding-top:calc(var(--appH) + 26px)}
.gutter{width:46px;flex:none;background:var(--gutter);border-right:1px solid var(--gutter-line);font-family:var(--mono);font-size:11px;color:var(--hdr-tx);text-align:right}
.gutter .rn{height:30px;line-height:30px;padding-right:7px;border-bottom:1px solid rgba(218,221,225,.5)}
.gutter .rn.act{background:var(--green-soft);color:var(--green);font-weight:600}
.canvas{flex:1;min-width:0;position:relative}
.colguides{position:absolute;inset:0;pointer-events:none;z-index:0;display:flex;justify-content:center}
.colguides .inner{width:100%;max-width:1180px;margin:0 auto;padding:0 36px;display:grid;grid-template-columns:repeat(7,1fr)}
.colguides .inner span{border-right:1px solid #EFF1F3}
.colguides .inner span:first-child{border-left:1px solid #EFF1F3}
.colguides .inner span.act{background:rgba(16,124,65,.025)}
.wrap{max-width:1180px;margin:0 auto;padding:0 36px;position:relative;z-index:1}

/* ===== generic ===== */
.sec{padding:74px 0;border-bottom:1px solid var(--grid-2)}
.range{display:inline-flex;align-items:center;gap:9px;margin-bottom:22px}
.range .tab{font-family:var(--mono);font-size:11px;color:#fff;background:var(--ink);padding:3px 8px;border-radius:3px;letter-spacing:.02em}
.range .nm{font-family:var(--mono);font-size:12px;color:var(--hdr-tx)}
h1{font-size:clamp(30px,5.6vw,68px);font-weight:700;line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
h2{font-size:clamp(25px,3.8vw,44px);font-weight:700;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
h3{font-size:18px;font-weight:700}
.g{color:var(--green)}
.lead{font-size:20px;line-height:1.6;color:var(--ink-2)}

/* ===== hero ===== */
.hero{padding:54px 0 70px;border-bottom:1px solid var(--grid-2)}
.hero-top{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.hero.solo .hero-top{grid-template-columns:1fr;max-width:760px}
.hero h1{margin-top:2px}
.hero-sub{margin-top:20px;font-size:19px;color:var(--ink-2);max-width:34ch}
.hero-cta{margin-top:30px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.btn-fill{background:var(--green);color:#fff;font-family:var(--sans);font-weight:700;font-size:16px;padding:13px 24px;border-radius:5px;border:none;cursor:pointer;transition:.15s;text-decoration:none;display:inline-block}
.btn-fill:hover{background:#1a9551}
.btn-cell{font-family:var(--sans);font-weight:600;font-size:16px;color:var(--ink);padding:12px 16px;border:1px solid var(--grid-2);background:#fff;border-radius:5px;cursor:pointer;text-decoration:none;display:inline-block}
.btn-cell:hover{border-color:var(--green);color:var(--green)}
.hero-note{margin-top:18px;font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.hero-stats{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--grid-2);border-radius:6px;overflow:hidden;max-width:560px}
.hstat{padding:16px 18px;border-right:1px solid var(--grid-2)}
.hstat:last-child{border-right:none}
.hstat b{display:block;font-size:15px;font-weight:700}
.hstat span{font-size:12.5px;color:var(--ink-3)}

/* ===== live mini-sheet ===== */
.mini{background:#fff;border:1px solid var(--grid-2);border-radius:6px;box-shadow:0 1px 0 var(--grid-2),0 26px 50px -30px rgba(31,35,41,.30);overflow:hidden}
.mini-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--gutter);border-bottom:1px solid var(--gutter-line);font-family:var(--mono);font-size:11px;color:var(--hdr-tx)}
.mini-grid{display:grid;grid-template-columns:34px 1.5fr 1fr 1fr}
.mc{border-right:1px solid var(--grid);border-bottom:1px solid var(--grid);padding:9px 12px;font-size:14px;min-height:38px;display:flex;align-items:center}
.mc.rh{font-family:var(--mono);font-size:11px;color:var(--hdr-tx);justify-content:flex-end;background:var(--gutter)}
.mc.ch{font-family:var(--mono);font-size:11px;color:var(--hdr-tx);justify-content:center;background:var(--gutter)}
.mc.lbl{color:var(--ink-2)}
.mc.num{justify-content:flex-end;font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:13px}
.mc.neg{color:var(--red)}
.mc.empty{color:transparent}
.mc.filling{background:var(--green-flash);transition:background .2s}
.mc.filled{animation:fillflash 1.2s ease}
@keyframes fillflash{0%{background:var(--green-flash)}100%{background:transparent}}
.mc.sum{font-weight:700;color:var(--ink);border-top:1.5px solid var(--ink)}
.mc.sel{position:relative;outline:2px solid var(--sel);outline-offset:-2px;z-index:2}
.mc.sel::after{content:"";position:absolute;right:-4px;bottom:-4px;width:7px;height:7px;background:var(--sel);border:1px solid #fff}
.mini-foot{display:flex;justify-content:space-between;padding:8px 12px;background:var(--gutter);border-top:1px solid var(--gutter-line);font-family:var(--mono);font-size:11px;color:var(--hdr-tx)}
.mini-foot .live{color:var(--green);display:inline-flex;align-items:center;gap:6px}
.mini-foot .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(16,124,65,.5)}70%{box-shadow:0 0 0 7px rgba(16,124,65,0)}100%{box-shadow:0 0 0 0 rgba(16,124,65,0)}}

/* ===== prose section ===== */
.prose h2{max-width:18ch}
.prose p{font-size:20px;line-height:1.6;color:var(--ink-2);max-width:62ch;margin-top:22px}
.prose p b{color:var(--ink);font-weight:700}

/* ===== light app "window" (demos) ===== */
.win{background:#fff;border:1px solid var(--grid-2);border-radius:8px;overflow:hidden;box-shadow:0 24px 50px -34px rgba(31,35,41,.34)}
.win-bar{display:flex;align-items:center;gap:8px;padding:11px 14px;background:var(--gutter);border-bottom:1px solid var(--gutter-line)}
.win-bar i{width:9px;height:9px;border-radius:50%;background:#D3D6DA;display:block}
.win-bar .t{font-family:var(--mono);font-size:12px;color:var(--hdr-tx);margin-left:6px}
.inbox{padding:6px 0}
.ibrow{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--grid)}
.ibrow:last-child{border-bottom:none}
.ibrow .av{width:30px;height:30px;border-radius:6px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.ibrow .meta{min-width:0;flex:1}
.ibrow .meta b{font-size:15px;font-weight:600;display:block}
.ibrow .meta span{font-size:12.5px;color:var(--ink-3)}
.pill{font-family:var(--mono);font-size:11px;padding:4px 9px;border-radius:20px;white-space:nowrap;flex:none}
.pill.ok{background:var(--green-soft);color:var(--green)}
.pill.flag{background:rgba(179,38,30,.08);color:var(--red)}
.feed{padding:16px 18px 10px;display:flex;flex-direction:column;gap:13px;font-family:var(--mono);font-size:13px;min-height:232px}
.fl{display:flex;gap:12px;align-items:baseline;opacity:0;transform:translateY(6px)}
.fl.show{opacity:1;transform:none;transition:all .45s ease}
.fl .ic{flex:none;font-weight:700}
.fl .ic.ok{color:var(--green)}.fl .ic.work{color:var(--amber)}.fl .ic.flag{color:var(--red)}
.fl .tx{color:var(--ink-2)}.fl .tx b{color:var(--ink);font-weight:600}
.fl .rt{margin-left:auto;color:var(--ink);font-variant-numeric:tabular-nums}
.win-foot{border-top:1px solid var(--gutter-line);padding:11px 16px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--hdr-tx);background:var(--gutter)}
.win-foot .done{color:var(--green)}

/* live reskinned product demos (iframe, desktop) — static .win is the mobile fallback */
.demo-embed{width:100%;border:none;display:block;margin-top:30px}
.demo-fallback{display:none}

/* deep-underwriting stage tracker */
.stages{display:flex;gap:6px;flex-wrap:wrap}
.stg{font-family:var(--mono);font-size:11.5px;padding:6px 12px;border-radius:20px;border:1px solid var(--grid-2);color:var(--ink-3);background:#fff}
.stg.done{color:var(--green);border-color:rgba(16,124,65,.3);background:var(--green-soft)}
.stg.now{color:#fff;background:var(--green);border-color:var(--green)}

/* ===== two-up grid (inspire / how) ===== */
.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.two-grid.top{align-items:start}
.closer{margin-top:26px;font-size:21px;font-weight:700;color:var(--ink)}

/* ===== formula pipeline ===== */
.byo{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0 30px}
.chip{font-family:var(--mono);font-size:12px;color:var(--green);background:var(--green-soft);border:1px solid rgba(16,124,65,.25);padding:5px 11px;border-radius:4px}
.pipe{display:flex;flex-direction:column;border:1px solid var(--grid-2);border-radius:6px;overflow:hidden;background:#fff}
.pcell{padding:22px 24px;border-bottom:1px solid var(--grid-2)}
.pcell:last-child{border-bottom:none}
.pcell .ref{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--hdr-tx);margin-bottom:12px}
.pcell .formula,.card3 .formula{font-family:var(--mono);font-size:15px;color:var(--green-2);margin:10px 0 12px;font-weight:600}
.formula .fn{color:var(--ink)}
.pcell h3{margin-bottom:7px}
.pcell p{font-size:15px;color:var(--ink-2)}

/* ===== quote / walkthrough ===== */
.walk{background:var(--gutter);border:1px solid var(--grid-2);border-radius:8px;padding:38px 40px;display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start}
.walk .q{font-family:var(--mono);font-size:40px;color:var(--green);line-height:1;flex:none}
.walk p{font-size:19px;line-height:1.6;color:var(--ink)}
.walk .by{margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--ink-3)}

/* ===== three-up cards (roadmap / market / advantage) ===== */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.card3{border:1px solid var(--grid-2);border-radius:8px;padding:26px 24px;background:#fff;display:flex;flex-direction:column}
.card3.feat{border:2px solid var(--green);box-shadow:0 20px 44px -32px rgba(16,124,65,.5)}
.card3 .ey{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--hdr-tx);margin-bottom:12px}
.card3.feat .ey{color:var(--green)}
.card3 h3{font-size:19px;margin-bottom:8px}
.card3 p{font-size:15px;color:var(--ink-2)}
.card3 .bignum{font-family:var(--mono);font-size:34px;font-weight:700;color:var(--green);margin:6px 0 10px;letter-spacing:-.02em}
.card3 .ic{width:38px;height:38px;border-radius:8px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card3 .period{font-family:var(--mono);font-size:12px;color:var(--green);margin-bottom:8px}

/* ===== highlight callout (long arc) ===== */
.arc{margin-top:26px;border:2px solid var(--green);border-radius:10px;padding:30px 32px;background:var(--green-soft)}
.arc .ey{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin-bottom:12px}
.arc .big{font-size:22px;font-weight:700;line-height:1.35;margin-bottom:10px}
.arc p{color:var(--ink-2);font-size:16px;line-height:1.6;max-width:64ch}
.footnote{margin-top:24px;font-family:var(--mono);font-size:13px;color:var(--ink-3)}

/* ===== manifesto closer ===== */
.manifesto{max-width:680px}
.manifesto p{font-size:19px;line-height:1.6;color:var(--ink-2);margin-top:18px}
.manifesto .big{font-size:22px;font-weight:700;color:var(--ink)}
.manifesto .back{margin-top:30px;font-family:var(--mono);font-size:13px;color:var(--green)}
.manifesto .back a{border-bottom:1px solid rgba(16,124,65,.3)}

/* ===== pricing ===== */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.ptrack{border:1px solid var(--grid-2);border-radius:10px;padding:30px 28px;background:#fff;display:flex;flex-direction:column}
.ptrack.feat{border:2px solid var(--green);box-shadow:0 20px 44px -32px rgba(16,124,65,.5)}
.ptrack .ptag{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--hdr-tx);text-transform:uppercase}
.ptrack.feat .ptag{color:var(--green)}
.ptrack h3{font-size:23px;margin:10px 0 6px}
.ptrack .psub{font-size:14.5px;color:var(--ink-2);min-height:42px}
.ptrack .pp{font-family:var(--mono);margin:18px 0 4px;font-size:15px;color:var(--ink-2)}
.ptrack .pp b{font-size:30px;color:var(--ink);font-weight:700}
.ptrack .ph{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.plist{list-style:none;margin:20px 0 24px;display:flex;flex-direction:column;gap:10px}
.plist li{font-size:14.5px;color:var(--ink-2);padding-left:24px;position:relative}
.plist li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.pbtn{margin-top:auto;text-align:center;font-family:var(--sans);font-weight:700;font-size:15px;padding:13px;border-radius:6px;cursor:pointer;border:1px solid var(--grid-2);background:#fff;color:var(--ink);text-decoration:none;display:block}
.pbtn:hover{border-color:var(--green);color:var(--green)}
.pbtn.fill{background:var(--green);color:#fff;border-color:var(--green)}
.pbtn.fill:hover{background:#1a9551;color:#fff}
.pnote{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin-top:18px}

/* ===== cta = type into a cell ===== */
.cta h2{max-width:16ch}
.cta .lede{font-size:18px;color:var(--ink-2);margin:18px 0 4px;max-width:46ch}
.cta .terms{font-family:var(--mono);font-size:13px;color:var(--ink-3);line-height:1.7;margin:18px 0 26px}
.cta .terms b{color:var(--ink)}
.entry{max-width:520px;border:1px solid var(--grid-2);border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 18px 40px -30px rgba(31,35,41,.4)}
.entry-head{display:flex;background:var(--gutter);border-bottom:1px solid var(--gutter-line);font-family:var(--mono);font-size:11px;color:var(--hdr-tx)}
.entry-head span{padding:6px 12px;border-right:1px solid var(--gutter-line)}
.bookform{display:flex;flex-direction:column}
.bookform .row{display:flex;align-items:center;border-bottom:1px solid var(--grid)}
.bookform .row .k{width:108px;flex:none;padding:0 12px;font-family:var(--mono);font-size:11px;color:var(--hdr-tx);border-right:1px solid var(--grid)}
.bookform input{flex:1;border:none;padding:14px 14px;font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff}
.bookform input:focus{outline:2px solid var(--sel);outline-offset:-2px}
.bookform input::placeholder{color:var(--ink-3)}
.bookform .submit-row{display:flex}
.bookform button{flex:1;background:var(--green);color:#fff;border:none;padding:15px;font-family:var(--sans);font-weight:700;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.bookform button:hover{background:#1a9551}
.bookform button .ent{font-family:var(--mono);font-size:12px;opacity:.8}
.status{font-family:var(--mono);font-size:12px;min-height:15px;color:var(--green);margin-top:12px}
.status.error{color:var(--red)}
.fallback{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-top:6px}
.fallback a{color:var(--green);border-bottom:1px solid rgba(16,124,65,.3)}

/* ===== footer = sheet tabs + status bar ===== */
.tabsbar{display:flex;align-items:center;gap:2px;padding:0 8px;height:38px;background:var(--gutter);border-top:1px solid var(--gutter-line);overflow-x:auto}
.tabsbar .tb{font-size:13px;color:var(--ink-2);padding:8px 16px;border-right:1px solid var(--gutter-line);white-space:nowrap}
.tabsbar .tb.act{background:#fff;color:var(--green);font-weight:700;border-top:2px solid var(--green);margin-top:-1px}
.tabsbar .tb.add{color:var(--ink-3);padding:8px 12px}
.statusbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;height:auto;min-height:30px;padding:0 16px;background:var(--chrome);color:#9AA0A6;font-family:var(--mono);font-size:11px}
.statusbar .l{display:flex;gap:18px;align-items:center}
.statusbar .ready{color:#5BD18B}
.statusbar a{color:inherit;text-decoration:none}
.statusbar a:hover{color:#E8EAED}
.statusbar .contact{white-space:nowrap}

/* ===== responsive ===== */
@media(max-width:880px){
  .colhead,.gutter,.colguides{display:none}
  .sheet{padding-top:calc(var(--appH) + 6px)}
  .navtoggle{display:block}
  .app-nav{display:none;position:absolute;top:52px;left:0;right:0;margin:0;flex-direction:column;gap:0;background:var(--chrome-2);border-bottom:1px solid var(--chrome-line);padding:4px 0;z-index:70;box-shadow:0 16px 30px -16px rgba(0,0,0,.5)}
  .app-nav.open{display:flex}
  .app-nav a{padding:13px 18px;font-size:15px;border-bottom:1px solid var(--chrome-line)}
  .app-nav a:last-child{border-bottom:none}
  .hero-top,.two-grid,.pricing-grid,.cols3{grid-template-columns:1fr;gap:34px}
  .cols3{gap:16px}
  .walk{grid-template-columns:1fr;gap:14px;padding:28px 24px}
  .demo-embed{display:none}
  .demo-fallback{display:block;margin-top:24px}
  /* pipeline mock is CSS-only + reflows: keep it live on mobile, drop its static fallback */
  #pipeline-demo{display:block;height:660px}
  .pipeline-fallback{display:none}
  .app-id .file,.statusbar .deskonly{display:none}
  .wrap{padding:0 22px}
  .sec{padding:52px 0}
  .hero{padding:28px 0 48px}
  .hero-sub,.lead{max-width:none}
  .hero-stats{margin-top:26px;max-width:none}
  .mini{box-shadow:0 14px 30px -24px rgba(31,35,41,.4)}
  .walk .q{font-size:34px}
}
@media(max-width:640px){
  .statusbar{padding:6px 14px;gap:2px 14px}
  .statusbar .l{flex-wrap:wrap;gap:10px}
  .statusbar .contact{white-space:normal}
}
@media(max-width:480px){
  .app-top{padding:0 12px;gap:10px}
  .app-id .nm{font-size:16px}
  .app-id{gap:8px}
  .book{padding:8px 13px;font-size:13px}
  .app-right{gap:10px}
  .fx-name{width:84px}
  .fx-val{font-size:12px;padding:0 12px}
  .hero-stats{grid-template-columns:1fr;max-width:340px}
  .hstat{border-right:none;border-bottom:1px solid var(--grid-2)}
  .hstat:last-child{border-bottom:none}
  .mini-grid{grid-template-columns:26px 1.35fr 1fr 1fr}
  .mc{padding:7px 8px;min-height:34px;font-size:13px}
  .mc.num{font-size:11.5px}
  .mc.rh{font-size:10px}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn-fill,.hero-cta .btn-cell{width:100%;text-align:center;justify-content:center}
  .ptrack,.card3{padding:24px 22px}
  .entry{max-width:none}
}
@media(prefers-reduced-motion:reduce){.caret,.mini-foot .live::before{animation:none}.mc.filled{animation:none}.fl{opacity:1;transform:none}}

/* ---- real iMessage-style thread (brokers) — an actual Messages screen, not a schematic ---- */
.imsg{background:#fff;border:1px solid var(--grid-2);border-radius:14px;box-shadow:0 1px 0 var(--grid-2),0 26px 50px -30px rgba(31,35,41,.30);overflow:hidden}
.imsg-head{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 12px 12px;border-bottom:1px solid var(--grid)}
.imsg-head .av{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:700;font-size:13px}
.imsg-head .nm{font-size:12.5px;font-weight:600;color:var(--ink)}
.imsg-head .sub{font-family:var(--mono);font-size:10px;color:var(--ink-3)}
.imsg-body{padding:16px 14px;display:flex;flex-direction:column;gap:7px}
.bub{max-width:78%;padding:9px 14px;border-radius:18px;font-size:14px;line-height:1.35}
.bub.out{align-self:flex-end;background:#0B84FF;color:#fff;border-bottom-right-radius:4px}
.bub.in{align-self:flex-start;background:#E9E9EB;color:#1F2329;border-bottom-left-radius:4px}
.imsg-file{align-self:flex-end;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--grid-2);border-radius:10px;font-size:11.5px;margin-top:-1px}
.imsg-file .ic{width:22px;height:22px;border-radius:4px;background:var(--red);color:#fff;font-family:var(--mono);font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.imsg-file .nm2{color:var(--ink-2)}
.imsg-meta{align-self:flex-end;font-family:var(--mono);font-size:10px;color:var(--ink-3);margin:1px 3px 2px 0}
@media(max-width:640px){.bub{font-size:13px;max-width:85%}}

/* ---- home router cards — card3 as a link, nothing else changed ---- */
.card3.link{transition:border-color .15s,box-shadow .15s;cursor:pointer}
.card3.link:hover{border-color:var(--green)}
.card3.link.feat:hover{box-shadow:0 24px 50px -32px rgba(16,124,65,.6)}

/* ---- orbit — real file/mail icons scatter, then sort into 3 deal-card rows (dashboard-style), loop (home only) ----
   Story per 10s loop: float/chaos (0-30%, 3s) -> sort into 3 deal-row cards (30-40% in, 40-80% hold, 80-100% out, seamless back to 0%) */
.orbit-sec{padding:56px 0}
.orbit-stage{position:relative;width:480px;height:550px;margin:0 auto}
.doc{position:absolute;top:275px;left:240px;margin:-40px 0 0 -46px;width:92px;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;
  filter:drop-shadow(0 14px 18px rgba(31,35,41,.28))}
.doc-icon{width:52px;height:64px;background:#fff;border:1px solid var(--grid-2);border-radius:3px;position:relative;
  display:flex;align-items:flex-end;justify-content:center;padding-bottom:7px}
.doc-icon::before{content:"";position:absolute;top:-1px;right:-1px;width:0;height:0;
  border-style:solid;border-width:0 11px 11px 0;border-color:transparent var(--grid-2) transparent transparent}
.doc-icon .tag{color:#fff;font-family:var(--mono);font-weight:700;font-size:9px;
  padding:2px 6px;border-radius:2px;letter-spacing:.02em}
.pdf .doc-icon .tag{background:var(--red)}
.xls .doc-icon .tag{background:var(--green)}
.mail-icon{width:52px;height:52px;border-radius:12px;background:var(--red);position:relative;
  display:flex;align-items:center;justify-content:center}
.mail-icon svg{width:26px;height:26px}
.mail-icon .badge{position:absolute;top:-5px;right:-5px;width:17px;height:17px;border-radius:50%;
  background:#fff;color:var(--red);font-size:9px;font-weight:800;display:flex;align-items:center;
  justify-content:center;border:2px solid var(--red)}
.txt-icon{width:52px;height:52px;border-radius:12px;background:var(--blue);
  display:flex;align-items:center;justify-content:center}
.txt-icon svg{width:24px;height:24px}
.doc-cap{font-family:var(--sans);font-size:9.5px;color:var(--ink-2);line-height:1.25;
  width:100%;overflow-wrap:break-word;word-break:break-word}
.deal-card{position:absolute;left:30px;width:420px;height:150px;background:#fff;
  border:1px solid var(--grid-2);border-radius:6px;z-index:1;
  box-shadow:0 1px 0 var(--grid-2),0 20px 40px -28px rgba(31,35,41,.35);
  opacity:0;animation:line-glow 10s linear infinite}
.deal-card-head{position:absolute;top:0;left:0;right:0;height:30px;background:var(--gutter);
  border-bottom:1px solid var(--gutter-line);border-radius:6px 6px 0 0;
  display:flex;align-items:center;padding:0 12px;font-family:var(--mono);font-size:11px;
  color:var(--hdr-tx);font-weight:600}
.dc-1{top:25px} .dc-2{top:185px} .dc-3{top:345px}
.connect-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.connect-lines .cl{stroke:var(--green);stroke-width:1.5;opacity:0;animation:line-glow 10s linear infinite}
.connect-lines .pulse{fill:var(--green);r:3.5px;opacity:0;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}
.connect-lines .r1.pa{animation-name:pulse-r1a} .connect-lines .r1.pb{animation-name:pulse-r1b}
.connect-lines .r2.pa{animation-name:pulse-r2a} .connect-lines .r2.pb{animation-name:pulse-r2b}
.connect-lines .r3.pa{animation-name:pulse-r3a} .connect-lines .r3.pb{animation-name:pulse-r3b}
/* each row gets its own tempo/direction/uneven timing so the three rows don't pulse in lockstep */
@keyframes pulse-r1a{
  0%,40%{transform:translateX(0px);opacity:0}
  41%{opacity:1}
  46%{transform:translateX(300px)}
  53%{transform:translateX(0px)}
  60%{transform:translateX(300px)}
  67%{transform:translateX(0px)}
  74%{transform:translateX(300px)}
  79%{opacity:1}
  80%,100%{transform:translateX(300px);opacity:0}}
@keyframes pulse-r1b{
  0%,40%{transform:translateX(300px);opacity:0}
  41%{opacity:1}
  46%{transform:translateX(0px)}
  53%{transform:translateX(300px)}
  60%{transform:translateX(0px)}
  67%{transform:translateX(300px)}
  74%{transform:translateX(0px)}
  79%{opacity:1}
  80%,100%{transform:translateX(0px);opacity:0}}
@keyframes pulse-r2a{
  0%,40%{transform:translateX(300px);opacity:0}
  42%{opacity:1}
  50%{transform:translateX(0px)}
  61%{transform:translateX(300px)}
  71%{transform:translateX(0px)}
  78%{opacity:1}
  80%,100%{transform:translateX(300px);opacity:0}}
@keyframes pulse-r2b{
  0%,40%{transform:translateX(0px);opacity:0}
  42%{opacity:1}
  50%{transform:translateX(300px)}
  61%{transform:translateX(0px)}
  71%{transform:translateX(300px)}
  78%{opacity:1}
  80%,100%{transform:translateX(0px);opacity:0}}
@keyframes pulse-r3a{
  0%,40%{transform:translateX(0px);opacity:0}
  41%{opacity:1}
  44%{transform:translateX(300px)}
  49%{transform:translateX(0px)}
  54%{transform:translateX(300px)}
  61%{transform:translateX(0px)}
  65%{transform:translateX(300px)}
  71%{transform:translateX(0px)}
  76%{transform:translateX(300px)}
  79%{opacity:1}
  80%,100%{transform:translateX(0px);opacity:0}}
@keyframes pulse-r3b{
  0%,40%{transform:translateX(300px);opacity:0}
  41%{opacity:1}
  44%{transform:translateX(0px)}
  49%{transform:translateX(300px)}
  54%{transform:translateX(0px)}
  61%{transform:translateX(300px)}
  65%{transform:translateX(0px)}
  71%{transform:translateX(300px)}
  76%{transform:translateX(0px)}
  79%{opacity:1}
  80%,100%{transform:translateX(300px);opacity:0}}
.f1,.f2,.f3,.f4,.f5,.f6,.f7,.f8,.f9,.f10,.f11,.f12{animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}
.f1{animation-name:drift-f1,connect-glow} .f2{animation-name:drift-f2,connect-glow}
.f3{animation-name:drift-f3,connect-glow} .f4{animation-name:drift-f4,connect-glow}
.f5{animation-name:drift-f5,connect-glow} .f6{animation-name:drift-f6,connect-glow}
.f7{animation-name:drift-f7,connect-glow} .f8{animation-name:drift-f8,connect-glow}
.f9{animation-name:drift-f9,connect-glow} .f10{animation-name:drift-f10,connect-glow}
.f11{animation-name:drift-f11,connect-glow} .f12{animation-name:drift-f12,connect-glow}
@keyframes connect-glow{
  0%,30%{filter:drop-shadow(0 14px 18px rgba(31,35,41,.28))}
  40%,80%{filter:drop-shadow(0 14px 18px rgba(31,35,41,.28)) drop-shadow(0 0 10px rgba(16,124,65,.45))}
  100%{filter:drop-shadow(0 14px 18px rgba(31,35,41,.28))}}
@keyframes line-glow{0%,30%{opacity:0}40%,80%{opacity:1}100%{opacity:0}}
@keyframes drift-f1{
  0%{transform:translate(128.0px,0.0px)}
  3%{transform:translate(126.6px,18.9px)}
  6%{transform:translate(122.4px,37.4px)}
  9%{transform:translate(115.5px,55.1px)}
  12%{transform:translate(106.1px,71.6px)}
  15%{transform:translate(94.4px,86.5px)}
  18%{transform:translate(80.6px,99.5px)}
  21%{transform:translate(65.0px,110.3px)}
  24%{transform:translate(47.9px,118.7px)}
  27%{transform:translate(29.9px,124.5px)}
  30%{transform:translate(11.2px,127.5px)}
  40%{transform:translate(-150.0px,-160.0px)}
  80%{transform:translate(-150.0px,-160.0px)}
  100%{transform:translate(128.0px,0.0px)}
}
@keyframes drift-f2{
  0%{transform:translate(130.8px,75.5px)}
  3%{transform:translate(140.5px,55.3px)}
  6%{transform:translate(147.1px,34.0px)}
  9%{transform:translate(150.5px,11.8px)}
  12%{transform:translate(150.6px,-10.5px)}
  15%{transform:translate(147.4px,-32.7px)}
  18%{transform:translate(141.0px,-54.1px)}
  21%{transform:translate(131.4px,-74.4px)}
  24%{transform:translate(119.0px,-93.0px)}
  27%{transform:translate(103.9px,-109.5px)}
  30%{transform:translate(86.6px,-123.7px)}
  40%{transform:translate(-50.0px,-160.0px)}
  80%{transform:translate(-50.0px,-160.0px)}
  100%{transform:translate(130.8px,75.5px)}
}
@keyframes drift-f3{
  0%{transform:translate(87.0px,150.7px)}
  3%{transform:translate(63.8px,161.9px)}
  6%{transform:translate(39.1px,169.5px)}
  9%{transform:translate(13.7px,173.5px)}
  12%{transform:translate(-12.1px,173.6px)}
  15%{transform:translate(-37.7px,169.9px)}
  18%{transform:translate(-62.4px,162.4px)}
  21%{transform:translate(-85.7px,151.4px)}
  24%{transform:translate(-107.1px,137.1px)}
  27%{transform:translate(-126.2px,119.8px)}
  30%{transform:translate(-142.5px,99.8px)}
  40%{transform:translate(50.0px,-160.0px)}
  80%{transform:translate(50.0px,-160.0px)}
  100%{transform:translate(87.0px,150.7px)}
}
@keyframes drift-f4{
  0%{transform:translate(0.0px,137.0px)}
  3%{transform:translate(-20.2px,135.5px)}
  6%{transform:translate(-40.1px,131.0px)}
  9%{transform:translate(-59.0px,123.7px)}
  12%{transform:translate(-76.6px,113.6px)}
  15%{transform:translate(-92.6px,101.0px)}
  18%{transform:translate(-106.5px,86.2px)}
  21%{transform:translate(-118.0px,69.5px)}
  24%{transform:translate(-127.0px,51.3px)}
  27%{transform:translate(-133.2px,32.0px)}
  30%{transform:translate(-136.5px,11.9px)}
  40%{transform:translate(150.0px,-160.0px)}
  80%{transform:translate(150.0px,-160.0px)}
  100%{transform:translate(0.0px,137.0px)}
}
@keyframes drift-f5{
  0%{transform:translate(-80.0px,138.6px)}
  3%{transform:translate(-58.6px,148.9px)}
  6%{transform:translate(-36.0px,155.9px)}
  9%{transform:translate(-12.6px,159.5px)}
  12%{transform:translate(11.2px,159.6px)}
  15%{transform:translate(34.6px,156.2px)}
  18%{transform:translate(57.3px,149.4px)}
  21%{transform:translate(78.8px,139.3px)}
  24%{transform:translate(98.5px,126.1px)}
  27%{transform:translate(116.1px,110.1px)}
  30%{transform:translate(131.1px,91.8px)}
  40%{transform:translate(-150.0px,0.0px)}
  80%{transform:translate(-150.0px,0.0px)}
  100%{transform:translate(-80.0px,138.6px)}
}
@keyframes drift-f6{
  0%{transform:translate(-158.5px,91.5px)}
  3%{transform:translate(-143.2px,113.9px)}
  6%{transform:translate(-124.8px,133.8px)}
  9%{transform:translate(-103.7px,150.8px)}
  12%{transform:translate(-80.2px,164.5px)}
  15%{transform:translate(-55.0px,174.5px)}
  18%{transform:translate(-28.6px,180.7px)}
  21%{transform:translate(-1.6px,183.0px)}
  24%{transform:translate(25.5px,181.2px)}
  27%{transform:translate(52.0px,175.5px)}
  30%{transform:translate(77.3px,165.9px)}
  40%{transform:translate(-50.0px,0.0px)}
  80%{transform:translate(-50.0px,0.0px)}
  100%{transform:translate(-158.5px,91.5px)}
}
@keyframes drift-f7{
  0%{transform:translate(-142.0px,0.0px)}
  3%{transform:translate(-140.4px,-21.0px)}
  6%{transform:translate(-135.8px,-41.5px)}
  9%{transform:translate(-128.2px,-61.1px)}
  12%{transform:translate(-117.7px,-79.4px)}
  15%{transform:translate(-104.7px,-95.9px)}
  18%{transform:translate(-89.4px,-110.4px)}
  21%{transform:translate(-72.1px,-122.4px)}
  24%{transform:translate(-53.2px,-131.7px)}
  27%{transform:translate(-33.1px,-138.1px)}
  30%{transform:translate(-12.4px,-141.5px)}
  40%{transform:translate(50.0px,0.0px)}
  80%{transform:translate(50.0px,0.0px)}
  100%{transform:translate(-142.0px,0.0px)}
}
@keyframes drift-f8{
  0%{transform:translate(-142.9px,-82.5px)}
  3%{transform:translate(-153.5px,-60.5px)}
  6%{transform:translate(-160.8px,-37.1px)}
  9%{transform:translate(-164.5px,-12.9px)}
  12%{transform:translate(-164.6px,11.5px)}
  15%{transform:translate(-161.1px,35.7px)}
  18%{transform:translate(-154.0px,59.1px)}
  21%{transform:translate(-143.6px,81.2px)}
  24%{transform:translate(-130.0px,101.6px)}
  27%{transform:translate(-113.6px,119.7px)}
  30%{transform:translate(-94.6px,135.2px)}
  40%{transform:translate(150.0px,0.0px)}
  80%{transform:translate(150.0px,0.0px)}
  100%{transform:translate(-142.9px,-82.5px)}
}
@keyframes drift-f9{
  0%{transform:translate(-94.0px,-162.8px)}
  3%{transform:translate(-117.0px,-147.1px)}
  6%{transform:translate(-137.5px,-128.2px)}
  9%{transform:translate(-154.9px,-106.5px)}
  12%{transform:translate(-169.0px,-82.4px)}
  15%{transform:translate(-179.3px,-56.5px)}
  18%{transform:translate(-185.7px,-29.4px)}
  21%{transform:translate(-188.0px,-1.6px)}
  24%{transform:translate(-186.2px,26.2px)}
  27%{transform:translate(-180.3px,53.4px)}
  30%{transform:translate(-170.4px,79.5px)}
  40%{transform:translate(-150.0px,160.0px)}
  80%{transform:translate(-150.0px,160.0px)}
  100%{transform:translate(-94.0px,-162.8px)}
}
@keyframes drift-f10{
  0%{transform:translate(-0.0px,-147.0px)}
  3%{transform:translate(21.7px,-145.4px)}
  6%{transform:translate(43.0px,-140.6px)}
  9%{transform:translate(63.3px,-132.7px)}
  12%{transform:translate(82.2px,-121.9px)}
  15%{transform:translate(99.3px,-108.4px)}
  18%{transform:translate(114.2px,-92.5px)}
  21%{transform:translate(126.7px,-74.6px)}
  24%{transform:translate(136.3px,-55.1px)}
  27%{transform:translate(142.9px,-34.3px)}
  30%{transform:translate(146.4px,-12.8px)}
  40%{transform:translate(-50.0px,160.0px)}
  80%{transform:translate(-50.0px,160.0px)}
  100%{transform:translate(-0.0px,-147.0px)}
}
@keyframes drift-f11{
  0%{transform:translate(85.0px,-147.2px)}
  3%{transform:translate(62.3px,-158.2px)}
  6%{transform:translate(38.2px,-165.6px)}
  9%{transform:translate(13.3px,-169.5px)}
  12%{transform:translate(-11.9px,-169.6px)}
  15%{transform:translate(-36.8px,-166.0px)}
  18%{transform:translate(-60.9px,-158.7px)}
  21%{transform:translate(-83.7px,-148.0px)}
  24%{transform:translate(-104.7px,-134.0px)}
  27%{transform:translate(-123.3px,-117.0px)}
  30%{transform:translate(-139.3px,-97.5px)}
  40%{transform:translate(50.0px,160.0px)}
  80%{transform:translate(50.0px,160.0px)}
  100%{transform:translate(85.0px,-147.2px)}
}
@keyframes drift-f12{
  0%{transform:translate(167.1px,-96.5px)}
  3%{transform:translate(179.6px,-70.7px)}
  6%{transform:translate(188.1px,-43.4px)}
  9%{transform:translate(192.4px,-15.1px)}
  12%{transform:translate(192.5px,13.5px)}
  15%{transform:translate(188.4px,41.8px)}
  18%{transform:translate(180.2px,69.2px)}
  21%{transform:translate(168.0px,95.0px)}
  24%{transform:translate(152.1px,118.8px)}
  27%{transform:translate(132.9px,140.0px)}
  30%{transform:translate(110.7px,158.1px)}
  40%{transform:translate(150.0px,160.0px)}
  80%{transform:translate(150.0px,160.0px)}
  100%{transform:translate(167.1px,-96.5px)}
}
@media(max-width:640px){.orbit-stage{transform:scale(.58);transform-origin:top center;margin-bottom:-231px;
  margin-left:calc(50% - 240px);margin-right:0}
  .orbit-sec{padding-bottom:20px;overflow:hidden}}
@media(prefers-reduced-motion:reduce){.doc,.deal-card,.connect-lines .cl,.connect-lines .pulse{animation:none}
  .deal-card{opacity:1}
  .connect-lines .cl{opacity:1}
  .connect-lines .pulse{display:none}
  .f1{transform:translate(-150px,-160px)}  .f2{transform:translate(-50px,-160px)}
  .f3{transform:translate(50px,-160px)}    .f4{transform:translate(150px,-160px)}
  .f5{transform:translate(-150px,0px)}     .f6{transform:translate(-50px,0px)}
  .f7{transform:translate(50px,0px)}       .f8{transform:translate(150px,0px)}
  .f9{transform:translate(-150px,160px)}   .f10{transform:translate(-50px,160px)}
  .f11{transform:translate(50px,160px)}    .f12{transform:translate(150px,160px)}}

/* ===== FAQ (details/summary) ===== */
.faq-list{margin-top:30px;border-top:1px solid var(--grid-2);max-width:820px}
.faq-item{border-bottom:1px solid var(--grid-2)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:18px;font-weight:700;color:var(--ink);line-height:1.35}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:var(--mono);font-size:20px;color:var(--green);flex:none;width:22px;text-align:center}
.faq-item[open] summary::after{content:"\2212"}
.faq-item summary:hover{color:var(--green)}
.faq-a{padding:0 44px 22px 0;max-width:66ch}
.faq-a p{font-size:16.5px;line-height:1.6;color:var(--ink-2);margin-bottom:10px}
.faq-a p:last-child{margin-bottom:0}
.faq-a a{color:var(--green);text-decoration:underline;text-underline-offset:2px}

/* ===== reads / writes fact columns ===== */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.fact{border:1px solid var(--grid-2);border-radius:8px;padding:26px 24px;background:#fff}
.fact h3{font-size:16px;margin-bottom:14px;font-family:var(--mono);font-weight:600;color:var(--green);letter-spacing:.01em}
.fact ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.fact li{font-size:15.5px;color:var(--ink-2);padding-left:22px;position:relative;line-height:1.45}
.fact li::before{content:"\203A";position:absolute;left:4px;top:-1px;color:var(--green);font-weight:700}
@media(max-width:880px){.facts{grid-template-columns:1fr}.faq-item summary{font-size:16.5px;padding:16px 0}.faq-a{padding-right:0}}
