@font-face{font-family:'Neue Montreal';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/PPNeueMontreal-Bold-v3.woff2') format('woff2')}
@font-face{font-family:'Neue Montreal';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/PPNeueMontreal-Medium-v3.woff2') format('woff2')}
@font-face{font-family:'Neue Montreal';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/PPNeueMontreal-Regular-v3.woff2') format('woff2')}
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}


.storywrap{width:100%;max-width:var(--cw,1280px);margin:48px auto 0}
.story{position:relative;overflow:hidden;border-radius:40px;background:#f5f5f5;isolation:isolate}
.story.s21{aspect-ratio:2/1}
.story.s11{width:588px;height:588px}
.story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.015);transition:opacity .7s ease,transform 3s cubic-bezier(.16,1,.3,1)}
.story img.on{opacity:1;transform:scale(1)}
.sbp{position:absolute;right:24px;bottom:24px;z-index:3;width:48px;height:48px;border-radius:999px;border:0;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;background:rgba(255,255,255,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05),0 4px 12px rgba(0,0,0,.06)}
.sbp i{width:4px;height:16px;border-radius:2px;background:#000}
.sbp.play i{display:none}.sbp.play::before{content:"";margin-left:3px;border-left:13px solid #000;border-top:8px solid transparent;border-bottom:8px solid transparent}
@media (max-width:700px){.storywrap{margin-top:32px}.story{border-radius:24px}.story.s21{aspect-ratio:1/1}.sbp{right:12px;bottom:12px;width:40px;height:40px}}


.js .hero:not(.on) .w,.js .hero:not(.on) .rv,.js .hero:not(.on) .rv-s,.js .hero:not(.on) .facts,.js #top:not(:has(.hero.on)) .hwash{transition:none!important}


.parked{display:none!important}
#beats .bt{font-size:calc(48px*var(--inv,1))!important;line-height:1!important;letter-spacing:0!important}
#beats .bdots{display:none!important}
#beats .bp{font-size:calc(32px*var(--inv,1))!important;line-height:1.2!important;letter-spacing:0!important;max-width:520px!important}
#field #fieldsym{display:none!important}
.note .pillg{background:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16)),rgba(0,0,0,.16)!important;color:rgba(255,255,255,.64)!important;backdrop-filter:blur(32px)!important;-webkit-backdrop-filter:blur(32px)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 8px 24px rgba(0,0,0,.08)!important;font-size:14px!important;padding:12px 16px!important;gap:8px!important}
.note .pillg u{color:#fff;text-decoration:underline;text-underline-offset:2px}
.field .ph:nth-child(4){opacity:.24}
.field .ph:nth-child(4) .note .pillg{font-size:14px!important;padding:12px 16px!important}
.human{position:absolute;width:400px;height:560px;z-index:3;animation:hfloat 12s ease-in-out infinite alternate}
.human img{width:100%;height:100%;display:block;border-radius:56px;filter:drop-shadow(0 24px 48px rgba(0,0,0,.10))}
.human .hnote{position:absolute;left:50%;bottom:24px;transform:translateX(-50%)}
@keyframes hfloat{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-10px,0)}}

/* key facts pill: Figma Floating / Key facts */
#facts.facts,#facts2.facts,html body .facts{display:flex!important;align-items:stretch!important;width:auto!important;padding:8px!important;border-radius:999px!important;background:rgba(255,255,255,.64)!important;backdrop-filter:blur(32px)!important;-webkit-backdrop-filter:blur(32px)!important;box-shadow:0 24px 56px rgba(0,0,0,.04),0 6px 16px rgba(0,0,0,.04)!important;gap:0!important}
html body .facts .fact,#facts .fact,#facts2 .fact{flex:0 0 240px!important;width:240px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:24px!important;text-align:center!important;border:0!important}
#facts .fact+.fact,#facts2 .fact+.fact,html body .facts .fact+.fact{background:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)) left center/1px 80px no-repeat!important}
#facts .fact+.fact::before,#facts2 .fact+.fact::before,html body .facts .fact+.fact::before{display:none!important}
html body #facts .fact b,html body #facts2 .fact b,html body .facts .fact b{font-size:32px!important;line-height:1.2!important;font-weight:500!important;letter-spacing:0!important;color:#000!important;white-space:nowrap}
html body #facts .fact b sup,html body .facts .fact b sup{font-size:.55em!important;vertical-align:.72em!important;line-height:0!important;margin-left:1px}
html body #facts .fact small,html body #facts2 .fact small,html body .facts .fact small{font-size:16px!important;line-height:1!important;font-weight:500!important;color:rgba(0,0,0,.5)!important;white-space:nowrap}
html body .facts .fact .fm{display:none!important}
/* cool start glow: green + blue */
.device-stack:not(.warm) .glow .e1.gb{background:linear-gradient(#bff7af,#d5ffcb 60%)!important;opacity:.8!important}
.device-stack:not(.warm) .glow .e2.gb{background:linear-gradient(#8fdbf9 40%,#b4f1f4)!important;opacity:.8!important}
.device-stack:not(.warm) .glow .gt.gb{background:radial-gradient(closest-side,#bff7af,#8fdbf9 60%,rgba(143,219,249,0))!important;opacity:.6!important}

.sglow{position:absolute;inset:0;pointer-events:none;z-index:0}
.sglow b{position:absolute;border-radius:50%;filter:blur(58px);animation:gbreath 6s ease-in-out infinite alternate}
.sglow .g1{left:122px;top:58px;width:186px;height:143px;background:#bff7af;--go:.14}
.sglow .g2{left:68px;top:116px;width:266px;height:205px;background:#a3d1ff;--go:.15;animation-delay:-2s}
.sglow .g3{left:64px;top:128px;width:141px;height:192px;background:#66ebf0;--go:.28;animation-delay:-4s}
.acard{overflow:visible;isolation:isolate}
.acard>*:not(.awash){position:relative;z-index:1}
.acard .awash{position:absolute!important;inset:0;border-radius:inherit;overflow:hidden;z-index:0!important;pointer-events:none}
.awash b{position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(56px);animation:gbreath 5s ease-in-out infinite alternate}
.awash .w1{left:-90px;top:-90px;background:#a3d1ff;--go:.5}
.awash .w2{left:190px;top:180px;background:#bff7af;--go:.55;animation-delay:-1.7s}
.awash .w3{left:50px;top:190px;background:#a3d1ff;--go:.25;animation-delay:-3.4s}
@keyframes gbreath{from{opacity:calc(var(--go)*.6);scale:.92}to{opacity:var(--go);scale:1.08}}
.bcard .bbg{animation:bdrift 9s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-2.2s)}
@keyframes bdrift{0%{scale:1;translate:0 0;filter:saturate(1) brightness(1)}50%{filter:saturate(1.15) brightness(1.04)}100%{scale:1.07;translate:-1.5% 1%;filter:saturate(.95) brightness(.98)}}
.bens .bcard.on .bfg{animation:fglow 4.5s ease-in-out infinite alternate;animation-delay:calc(1.6s + var(--i)*.3s)}
@keyframes fglow{from{filter:drop-shadow(0 0 0 rgba(255,255,255,0))}to{filter:drop-shadow(0 0 28px rgba(255,255,255,.75))}}
@media (prefers-reduced-motion:reduce){.sglow b,.awash b,.bcard .bbg,.bcard .bfg{animation:none!important;opacity:var(--go,1)}}
/* agent step 2: Figma approve card */
.acard .btn-glow .p{inset:-6px -8px -12px -8px!important;filter:blur(16px)!important;opacity:.9}
.acard .btn-glow .b1,.acard .btn-glow .b2{filter:blur(3px)!important}
.acard .btn-glow .face{box-shadow:0 8px 20px rgba(0,0,0,.18)}
.acard{position:absolute;left:55px;top:46px;width:309px;height:300px;border-radius:32px;background:#fff;box-shadow:0 40px 80px rgba(0,0,0,.10),0 12px 24px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.03);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}
.acard small{font-size:12px;font-weight:500;color:rgba(0,0,0,.5)}
.acard b{font-size:32px;font-weight:500;line-height:1.2;letter-spacing:-.01em}
.acard .gain{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:#2e8c00}
.acard .gain img{width:16px;height:16px;padding:3px;border-radius:999px;background:#e3f7d9}
.acard .approve-pill{position:relative!important;left:auto!important;right:auto!important;top:auto!important;margin:20px 0 0!important;width:auto!important;background:transparent!important;filter:none!important;padding:0 48px!important;height:48px!important;border-radius:999px!important;font-size:14px!important;color:#fff!important}
#doneAmt{font-size:80px!important}
.cpill{width:auto!important;align-self:center}
.cpill .halo,.cpill .rimg{left:-1px!important;right:-1px!important;width:auto!important}
.cpill .halo{top:3px!important;left:2px!important;right:2px!important}
/* iMessage headline */
.tx3{display:block;white-space:nowrap;line-height:1.15!important}
.tx3 .rot{position:relative;display:inline-grid;vertical-align:top;overflow:hidden;line-height:1.15}
.tx3 .rot b{grid-area:1/1;font-weight:inherit;opacity:0;transform:translateY(100%);transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s}
.tx3 .rot b.on{opacity:1;transform:none}
.tx3 .rot b.out{opacity:0;transform:translateY(-100%)}
@media (prefers-reduced-motion:reduce){.tx3 .rot b{transition:none}}
.chat-sec .split .txt{order:2!important}
.chat-sec .split>.fit{margin-right:0!important}
/* benefits (exact Figma) */
.imgsec{display:flex;justify-content:center;background:#fff;overflow:hidden}
.imgsec .imgin{position:relative;width:100%;max-width:1440px}
.imgsec img{display:block;width:100%;height:auto}
.parked{display:none!important}
/* benefits: cards rise in, content glides in after */
.bens{position:relative;background:#fff;height:calc(1389px*var(--s,1));overflow:hidden}
.bens-in{position:absolute;left:50%;top:0;width:1440px;height:1389px;transform:translateX(-50%) scale(var(--s,1));transform-origin:50% 0}
.bcopy{position:absolute;left:222px;top:120px;width:996px;text-align:center;display:flex;flex-direction:column;gap:24px;align-items:center}
.bcopy .ds{margin:0;font-size:48px;line-height:1;font-weight:500}
.bcopy .heading-m{margin:0;font-size:24px;color:rgba(0,0,0,.5)}
.bglow i{position:absolute;width:308px;height:370px;border-radius:50%;filter:blur(90px);opacity:.5}
.bglow i:first-child{left:443px;top:506px;background:#fea57a}.bglow i:last-child{left:689px;top:445px;background:#ffa3ff}
.bcard{position:absolute;height:480px;border-radius:40px;overflow:hidden;isolation:isolate;box-shadow:0 24px 60px rgba(120,60,120,.06)}
.bcard img{position:absolute;inset:0;width:100%;height:100%;display:block}
.bcopy>*,.bcard{opacity:0;transform:translateY(64px) scale(.96);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1)}
.bcard{transition-delay:calc(.15s + var(--i)*.12s)}
.bcopy p{transition-delay:.08s}
.bcard .bbg{transform:scale(1.12);transition:transform 1.8s cubic-bezier(.16,1,.3,1);transition-delay:calc(.15s + var(--i)*.12s)}
.bcard .bfg{opacity:0;transform:translateY(24px) scale(.8);filter:blur(8px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.34,1.3,.4,1),filter .9s;transition-delay:calc(.55s + var(--i)*.12s)}
.bens.on .bcopy>*,.bens .bcard.on{opacity:1;transform:none}
.bens .bcard.on .bbg{transform:none}
.bens .bcard.on .bfg{opacity:1;transform:none;filter:none}
@media (prefers-reduced-motion:reduce){.bcopy>*,.bcard,.bcard .bbg,.bcard .bfg{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
/* big number hero (page 2) */
.bighero{position:relative;overflow:hidden;background:transparent}
.bighero .bh-copy{position:relative;z-index:4;pointer-events:none;display:flex;flex-direction:column;align-items:center;text-align:center;padding:80px 16px 0}
.bighero .bh-pre{font-size:32px;font-weight:500;line-height:1.2;margin:0}
.bighero .bh-big{font-size:120px;font-weight:500;line-height:1;letter-spacing:-.03em;margin:24px 0 0}
.bighero .bh-sub{font-size:24px;font-weight:500;color:rgba(0,0,0,.5);margin:24px 0 0}
.bighero .hcta{margin-top:40px;pointer-events:auto}
.bighero .facts{margin-top:32px;pointer-events:auto}
#facts .fact:nth-child(n+3),.bighero .fact:nth-child(n+3){display:none!important}
.bighero{height:calc(1322px*var(--bs,1))}
.bighero .bh-stage{position:absolute;inset:0;z-index:1}
.bighero .bh-comp{position:absolute;left:50%;top:0;width:1440px;height:1322px;transform:translateX(-50%) scale(var(--bs,1));transform-origin:50% 0}
.bighero .ph{position:absolute}
.bighero .ph .fl{position:absolute;inset:0;animation:drift var(--d,14s) ease-in-out infinite alternate}
.bighero .ph .sh{position:absolute;inset:0}
.bighero .ph img{position:absolute;filter:drop-shadow(0 24px 40px rgba(0,0,0,.08))}
.field .ph img{mix-blend-mode:normal!important}
.bighero .ph.blur{filter:blur(24px)}
.note{position:absolute!important;white-space:nowrap;z-index:2;pointer-events:none;transform-origin:0 0}
.note .pillg{position:relative;display:inline-flex!important;align-items:center;border-radius:999px!important;line-height:1;letter-spacing:.28px;font-weight:500}
.note .dot{display:inline-block;width:8px!important;height:8px!important;border-radius:999px;background:var(--c,#ff9bd8)}
.bighero .ph,.bighero .human{opacity:0;transform:translateY(40px);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}
.bighero.on .ph,.bighero.on .human{opacity:var(--o,1);transform:none}
@media (prefers-reduced-motion:reduce){.human,.bighero .ph .fl{animation:none}.bighero .ph,.bighero .human{opacity:var(--o,1);transform:none}}





/* Layout: 1440 design canvas, 1200 content column (120 side margins). Complex compositions are fixed size stages scaled to fit. Single light look, as in the Figma file. */
:root{
  color-scheme: light;
  --text-primary:#000; --text-secondary:rgba(0,0,0,.64); --text-tertiary:rgba(0,0,0,.5); --text-inverse:#fff;
  --surface-primary:#fff; --surface-secondary:#f4f2f0; --surface-inverse:#000; --neutral-25:#f7f7f7; --neutral-900:#222;
  --a-black-4:rgba(0,0,0,.04); --a-black-6:rgba(0,0,0,.06); --a-black-8:rgba(0,0,0,.08); --a-black-16:rgba(0,0,0,.16);
  --a-white-8:rgba(255,255,255,.08); --a-white-24:rgba(255,255,255,.24); --a-white-32:rgba(255,255,255,.32); --a-white-50:rgba(255,255,255,.5);
  --a-white-64:rgba(255,255,255,.64); --a-white-80:rgba(255,255,255,.8);
  --hairline:rgba(0,0,0,.03); --glass:rgba(255,255,255,.64); --panel:rgba(250,250,250,.85);
  --lime-100:#dff7d2; --lime-950:#2e8c00; --red-900:#c20000; --orange-500:#fea57a; --orange-700:#f68118; --magenta-300:#ffa3ff;
  --r-xs:12px; --r-s:8px; --r-m:16px; --r-l:24px; --r-xl:32px; --r-2xl:40px; --r-device:48px; --r-full:999px;
  --elev-low:0 8px 24px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --elev-card:drop-shadow(0 8px 12px rgba(0,0,0,.06)) drop-shadow(0 1px 1px rgba(0,0,0,.04));
  --font: "Neue Montreal",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--surface-primary);color:var(--text-primary);font-family:var(--font);font-weight:500;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:none}
p{margin:0}
h1,h2,h3,b,strong{font-weight:500}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}
input{font:inherit}
:focus-visible{outline:2px solid #8fdbf9;outline-offset:3px;border-radius:999px}
.wrap{width:100%;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.col{max-width:var(--cw,1280px);margin:0 auto}
.abs{position:absolute}
.fill{position:absolute;inset:0;width:100%;height:100%}
.num{font-variant-numeric:tabular-nums}

/* Fit stage: fixed design size scaled to its container */
.fit{position:relative;width:100%;margin:0 auto}
.fit>.stage{position:absolute;left:50%;top:0;transform-origin:top center}

@property --spin{syntax:'<angle>';inherits:true;initial-value:0deg}
@keyframes ctaspin{to{--spin:360deg}}
.btn-early,.btn-glow{animation:ctaspin 2.4s linear infinite;animation-play-state:paused}
.btn-early:hover,.btn-glow:hover,.btn-early:focus-visible,.btn-glow:focus-visible{animation-play-state:running}
@media (prefers-reduced-motion:reduce){.btn-early,.btn-glow{animation:none}}
/* ---------- Nav ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--surface-primary);transition:background .4s var(--ease),box-shadow .4s var(--ease),backdrop-filter .4s}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--surface-primary)}
.nav{transition:transform .5s var(--ease-out),background .4s var(--ease),box-shadow .4s var(--ease)}
.nav.away{transform:translateY(-110%)}
.nav.scrolled{background:var(--surface-primary)}
.nav{height:94px;display:flex;align-items:center}
.nav>.wrap{width:100%}
.nav .in{position:relative;display:flex;align-items:center;justify-content:space-between;height:94px;max-width:var(--cw,1280px);margin:0 auto;border-radius:999px;transition:max-width .6s var(--ease-out),height .6s var(--ease-out),padding .6s var(--ease-out)}
.nav .in::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--a-white-64);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--hairline);box-shadow:var(--elev-low);opacity:0;transition:opacity .4s var(--ease);z-index:-1}
.nav .lwrap{display:block;width:116.585px;height:32px;overflow:hidden;transition:width .6s var(--ease-out)}
.nav .logo{width:116.585px;height:32px}
.nav.pill{background:transparent!important;box-shadow:none!important}
.nav.pill .in{max-width:720px;height:62px;padding:0 8px 0 24px}
.nav.pill .in::before{opacity:1}
.nav.pill .lwrap{width:32px}
.btn-early{position:relative;height:46px;padding:0 24px;border-radius:999px;font-size:14px;letter-spacing:.28px;line-height:1}
.btn-early .g1,.btn-early .g2{position:absolute;border-radius:999px;transition:opacity .4s var(--ease),filter .4s}
.btn-early .g1{inset:-1.4px -1px -8px -1.3px;background:linear-gradient(calc(200deg + var(--spin)),#ffd2c2 30%,#ff9bd8 90%);filter:blur(12px);opacity:.7}
.btn-early .g2{inset:-1.1px -1.4px -2px -1.1px;background:linear-gradient(calc(190deg + var(--spin)),#ffe0d0,#ffb8c8);filter:blur(1.5px)}
.btn-early .face{position:absolute;inset:0;border-radius:999px;background:#fff}
.btn-early span{position:relative}
.btn-early:hover .g1{opacity:1;filter:blur(16px)}

/* ---------- Glow button (black) ---------- */
.btn-glow{user-select:none;-webkit-user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border-radius:999px;color:#fff;font-size:16px;letter-spacing:.32px;line-height:1;white-space:nowrap;transition:transform .3s var(--ease)}
.btn-glow .p{position:absolute;inset:-1px -1px -4px -1px;border-radius:999px;background:linear-gradient(calc(205.34deg + var(--spin)),#daffa9 50.5%,#ff9b9b 81.57%);filter:blur(9px);transition:opacity .5s var(--ease),filter .5s}
.btn-glow .b1{position:absolute;left:calc(50% + .37px);transform:translateX(-50%);top:-2px;height:54px;width:calc(100% + 4.29px);border-radius:999px;background:linear-gradient(calc(187.43deg + var(--spin)),#daffa9 41.26%,#d09bff 84.17%);filter:blur(2px)}
.btn-glow .b2{position:absolute;left:calc(50% + .37px);transform:translateX(-50%);top:-2px;height:50.975px;width:calc(100% + 4.29px);border-radius:999px;background:linear-gradient(calc(180deg + var(--spin)),#8fdbf9,#d5ffcb);filter:blur(2px)}
.btn-glow .face{position:absolute;inset:0;border-radius:999px;background:var(--surface-inverse)}
.btn-glow span{position:relative}
.btn-glow:hover .p{filter:blur(12px)}
.btn-glow:active{transform:scale(.97)}
.btn-glow.dim .p{opacity:.32}.btn-glow.dim .b1,.btn-glow.dim .b2{opacity:.24}
.btn-glow.dim:hover .p{opacity:.6}.btn-glow.dim:hover .b1,.btn-glow.dim:hover .b2{opacity:.5}

/* ---------- Hero ---------- */
.hero{padding-block:80px;display:flex;flex-direction:column;align-items:center;gap:80px}
.hero .copy{display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center;width:100%}
.d2xl{font-size:clamp(48px,6.67vw,96px);line-height:.9;letter-spacing:-.02em;font-weight:500;text-wrap:balance}
.d2xl .w{display:inline-block}
.heading-m{font-size:clamp(18px,1.67vw,24px);line-height:1.2;color:var(--text-tertiary);text-wrap:balance}
.secondary{display:flex;flex-direction:column;align-items:center;gap:48px;width:100%;max-width:588px}
.email{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:572px;padding:16px 16px 16px 36px;border-radius:999px;border:4px solid rgba(0,0,0,.03);background-clip:padding-box;filter:drop-shadow(0 24px 32px rgba(0,0,0,.07)) drop-shadow(0 2px 4px rgba(0,0,0,.03));transition:filter .4s var(--ease)}
.email::before{content:"";position:absolute;inset:0;border-radius:999px;background:#fff;z-index:0}
.email:focus-within{filter:drop-shadow(0 36px 40px rgba(0,0,0,.14)) drop-shadow(0 8px 12px rgba(0,0,0,.06))}
.email input{position:relative;z-index:1;flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;letter-spacing:.32px;font-weight:500;color:var(--text-primary);padding:0 12px 0 0}
.email input::placeholder{color:transparent}
.email .phg{position:absolute;left:36px;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;font-size:16px;letter-spacing:.32px;line-height:1;white-space:nowrap;background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.5) 40%,#000 55%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.5) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 3.6s cubic-bezier(.45,0,.55,1) infinite;transition:opacity .2s}
.email input:not(:placeholder-shown)~.phg{opacity:0}
@keyframes sheen{0%{background-position:100% 0}100%{background-position:0 0}}
.email .phg.letters{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--text-tertiary);animation:none}
.email .phg.letters span{white-space:pre;animation:letterlit calc(var(--n) * 70ms + 420ms) linear infinite;animation-delay:calc(var(--i) * 70ms)}
@keyframes letterlit{0%{color:var(--text-tertiary)}6%{color:var(--text-primary)}22%{color:var(--text-primary)}32%,100%{color:var(--text-tertiary)}}
@media (prefers-reduced-motion:reduce){.email .phg.letters span{animation:none}}
@media (max-width:640px){.email .phg{left:20px}}
.email .btn-glow{flex:none}
.email .msg{position:absolute;left:36px;right:16px;top:100%;margin-top:18px;font-size:14px;color:var(--text-tertiary);text-align:center;opacity:0;transition:opacity .3s}
.email.err .msg{opacity:1;color:var(--red-900)}
.email.ok input{color:var(--lime-950)}

.device-stack{width:1200px;height:948px}
.device-stack .glow{position:absolute;inset:0;pointer-events:none}
.device-stack .glow i{position:absolute;width:400px;height:480px;border-radius:50%;filter:blur(80px)}
.device-stack .glow .e1{animation:drift1 9s ease-in-out infinite alternate;will-change:transform}
.device-stack .glow .e2{animation:drift2 7.5s ease-in-out infinite alternate;will-change:transform}
@keyframes drift1{0%{transform:translate(-60px,40px) scale(.9)}33%{transform:translate(150px,-120px) scale(1.2)}66%{transform:translate(40px,140px) scale(1.05)}100%{transform:translate(-120px,-60px) scale(.88)}}
@keyframes drift2{0%{transform:translate(60px,-40px) scale(1.1)}33%{transform:translate(-160px,110px) scale(.86)}66%{transform:translate(-30px,-150px) scale(1.18)}100%{transform:translate(130px,70px) scale(.95)}}
.device-stack .glow .e1{left:240px;top:351px;opacity:.8;background:linear-gradient(#ffa3ff,#fea57a 60%)}
.device-stack .glow .e2{left:560px;top:271px;opacity:.72;background:linear-gradient(#ffa3ff 40%,#fea57a)}
@keyframes breathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.85}}

/* Phone */
.phone{position:absolute;width:393px;height:852px;border-radius:var(--r-device);border:8px solid var(--a-black-4);box-shadow:0 32px 64px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.06);overflow:hidden;background:#fff;background-clip:padding-box}
.phone .inner{position:absolute;inset:-8px;border-radius:var(--r-device);overflow:hidden;background:#fff}
.phone .ring{position:absolute;inset:-8px;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);pointer-events:none;z-index:30}
.mesh{position:absolute;left:0;top:0;width:393px;height:280px}
.mesh img{position:absolute;inset:-70% -44.02% 0 -44.78%;width:calc(100% + 88.8%);height:170%}
.washfade{position:absolute;left:0;top:80px;width:393px;height:180px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.statusbar{position:absolute;left:0;top:0;width:393px;height:62px;padding-top:14px;z-index:20;pointer-events:none}
.statusbar .time{position:absolute;left:16px;width:122px;top:24px;text-align:center;font:700 17px/1 -apple-system,"SF Pro Text",system-ui,sans-serif;letter-spacing:-.4px}
.statusbar img{position:absolute;right:35px;top:25px;width:78.327px;height:13.667px}
.pscroll{position:absolute;inset:0;overflow:hidden;padding:78px 24px 200px}
.devpin{position:relative;width:100%}
.ptopfade{position:absolute;left:0;top:0;width:100%;height:104px;z-index:15;pointer-events:none;opacity:0;background:linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.4) 50%,rgba(255,255,255,0));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.devpin>.fit{position:sticky}
.pscroll::-webkit-scrollbar{display:none}
.pcontent{width:345px;display:flex;flex-direction:column;gap:48px}
.pheader{display:flex;justify-content:space-between}
.glassbtn{width:48px;height:48px;border-radius:999px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--hairline);box-shadow:var(--elev-low);display:grid;place-items:center;transition:transform .25s var(--ease)}
.glassbtn:hover{transform:scale(1.06)}
.glassbtn img{width:20px;height:20px}
.label-l{font-size:16px;line-height:1;letter-spacing:.32px}
.muted{color:var(--text-tertiary)}
.money{display:flex;flex-direction:column;gap:16px}
.overview{display:flex;flex-direction:column;gap:24px}
.balance-total{display:flex;flex-direction:column;gap:16px}
.balance-total .lbl{font-weight:400;font-size:16px;line-height:1;letter-spacing:.32px;color:var(--text-tertiary)}
.balance-total .big{font-size:56px;line-height:1}
.daily{display:flex;align-items:center;gap:8px;color:var(--lime-950);font-size:16px;letter-spacing:.32px;line-height:1;transition:color .3s}
.daily .badge{width:24px;height:24px;border-radius:var(--r-xs);background:var(--lime-100);display:grid;place-items:center;transition:background .3s}
.daily .badge img{width:16px;height:16px;transition:transform .4s var(--ease)}
.daily.down{color:var(--red-900)}.daily.down .badge{background:#ffe1e1}.daily.down .badge img{transform:rotate(90deg);filter:hue-rotate(250deg) saturate(2)}
.chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid var(--hairline);filter:var(--elev-card);font-size:14px;line-height:1.2;width:max-content}
.chip img{width:12px;height:12px}
.chart{display:flex;flex-direction:column;gap:16px}
.graph{position:relative;width:100%;height:228px}
.graph svg{position:absolute;left:-5.28%;top:0;width:110.42%;height:244px;overflow:visible}
.divider{height:1px;background:var(--a-black-6);width:100%}
.range{display:flex;gap:4px;justify-content:center}
.range button{height:36px;padding:0 12px;border-radius:999px;font-size:14px;line-height:1.2;color:var(--text-secondary);border:1px solid transparent;transition:background .3s var(--ease),color .3s,box-shadow .3s}
.range button[aria-pressed="true"]{background:#fff;color:var(--text-primary);border-color:var(--hairline);box-shadow:0 8px 12px rgba(0,0,0,.06),0 1px 1px rgba(0,0,0,.04)}
.range button:hover:not([aria-pressed="true"]){color:var(--text-primary)}
.accounts{display:flex;flex-direction:column;gap:8px}
.card-w{background:#fff;border:1px solid var(--hairline);filter:var(--elev-card);border-radius:var(--r-l)}
.acct{display:flex;align-items:center;gap:16px;height:82px;padding:16px;transition:transform .3s var(--ease)}
.acct:hover{transform:translateY(-2px)}
.tile{width:48px;height:48px;border-radius:var(--r-xs);background:var(--a-black-4);display:grid;place-items:center;flex:none}
.tile img{width:20px;height:20px}
.acct .t{flex:1;display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:0}
.acct .t .n{font-size:16px;line-height:1.2;color:var(--text-tertiary)}
.pill-apy{padding:4px 8px;border-radius:999px;background:var(--lime-100);color:var(--lime-950);font-size:12px;letter-spacing:.24px;line-height:1}
.green-s{color:var(--lime-950);font-size:12px;letter-spacing:.24px;line-height:1;white-space:nowrap}
.acct .v{font-size:18px;line-height:1.2;text-align:right}
.chev{width:16px;height:16px;position:relative;opacity:.5;flex:none}
.chev img{position:absolute;left:5.525px;top:2.725px;width:6.15px;height:10.55px}
.sec-title{font-size:16px;line-height:1;letter-spacing:.32px;color:var(--text-tertiary)}
.group{display:flex;flex-direction:column;gap:16px}
.listcard{display:flex;flex-direction:column;gap:16px;padding:24px}
.listcard .list{display:flex;flex-direction:column;gap:16px}
.row{display:flex;align-items:center;gap:16px;height:48px}
.row .logo{width:48px;height:48px;border-radius:var(--r-xs);background:var(--neutral-25);display:grid;place-items:center;flex:none}
.row .logo i{display:block;width:20px;height:20px}
.row .nm{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.row .nm b{font-weight:500;font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .nm small{font-weight:400;font-size:14px;line-height:1.4;color:var(--text-tertiary)}
.row .pr{display:flex;flex-direction:column;gap:8px;text-align:right;line-height:1.2}
.row .pr b{font-weight:500;font-size:16px}
.row .pr small{font-size:14px}
.up{color:var(--lime-950)}.dn{color:var(--red-900)}
.viewall{height:48px;border-radius:var(--r-l);background:var(--a-black-4);font-size:16px;line-height:1.2;width:100%;transition:background .25s}
.viewall:hover{background:var(--a-black-8)}
.brief{display:flex;align-items:center;gap:16px;height:48px}
.brief .tx{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0;white-space:nowrap}
.brief .tx b{font-weight:500;font-size:16px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.brief .tx small{font-size:14px;line-height:1;letter-spacing:.28px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;padding-bottom:3px;margin-bottom:-3px}
.brief .meta{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.24px;color:var(--text-tertiary);line-height:1}
.orb{position:relative;width:48px;height:48px;flex:none}
.orb .og{position:absolute;left:9px;top:26px;width:30px;height:26px}
.orb .og img{position:absolute;left:-53.33%;top:-61.54%;width:206.66%;height:223.08%}
.orb .os{position:absolute;left:6px;top:6px;width:36px;height:36px}
.orb .oi{position:absolute;left:14px;top:14px;width:20px;height:20px}
.orb .oi.arrow{left:15px;top:15px;width:18px;height:18px}
.orb .oi.bell{left:18.17px;top:17px}
.sugg{position:relative;height:322px;border-radius:var(--r-xl);overflow:hidden;background:var(--neutral-25);isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(white,black);transform:translateZ(0)}
.sugg .bg{position:absolute;left:0;top:-105px;width:100%;height:565px;overflow:hidden}
.sugg .bg>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 6s var(--ease)}
.sugg:hover .bg>img{transform:scale(1.06)}
.sugg .path1{position:absolute;left:11px;top:302px;width:169px;height:169px}
.sugg .path1 img{position:absolute;inset:-23.67%;width:147.34%;height:147.34%}
.sugg .ghost{position:absolute;left:calc(50% + .5px);transform:translateX(-50%);top:203px;width:190px;height:80px;border-radius:var(--r-l);background:var(--a-white-24);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.sugg .est{position:absolute;left:calc(50% + .5px);transform:translateX(-50%);top:153px;display:flex;align-items:center;gap:16px;padding:24px;border-radius:var(--r-l);background:var(--a-white-50);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);white-space:nowrap}
.sugg .est .a{font-size:36px;line-height:1}
.sugg .est .b{font-weight:400;font-size:14px;letter-spacing:.28px;color:var(--text-tertiary);line-height:1;margin-top:16px}
.circle-w{width:32px;height:32px;border-radius:999px;background:#fff;display:grid;place-items:center;flex:none}
.circle-w img{width:16px;height:16px}
.sugg .needs{position:absolute;left:0;bottom:0;width:100%;border-radius:0 0 var(--r-xl) var(--r-xl);display:flex;align-items:center;gap:16px;padding:32px;background:var(--a-white-8);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px)}
.sugg .needs .t{flex:1;display:flex;flex-direction:column;gap:12px;color:#fff}
.sugg .needs .t b{font-weight:500;font-size:18px;line-height:1.2}
.sugg .needs .t small{font-weight:400;font-size:14px;line-height:1;letter-spacing:.28px;color:var(--a-white-64)}
.sugg .needs .go{padding:8px;border-radius:var(--r-m);background:rgba(255,255,255,.16);display:grid;place-items:center}
.bottomfade{position:absolute;left:0;right:0;bottom:0;height:128px;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.4) 45%,rgba(255,255,255,.85) 100%);pointer-events:none;-webkit-mask-image:linear-gradient(transparent,#000 30%);mask-image:linear-gradient(transparent,#000 30%)}
.askwrap{position:absolute;left:0;bottom:0;width:393px;padding:16px;z-index:10}
.dock{position:relative;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--r-2xl);border:1px solid var(--hairline);box-shadow:var(--elev-low),inset 0 1px 0 rgba(255,255,255,.6)}
.dock::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--a-white-32);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:-1}
.ask{display:flex;align-items:center;gap:8px;height:52px;padding:8px 8px 8px 16px;border-radius:999px;transition:height .45s var(--ease-out),padding .45s var(--ease-out),opacity .3s,margin .45s var(--ease-out)}
.dock{transition:padding .45s var(--ease-out),box-shadow .4s,border-color .4s}
.dock::before{transition:opacity .35s}
.tabbar{transition:width .45s var(--ease-out),margin .45s var(--ease-out)}
.miniorb{position:absolute;right:8px;bottom:13px;width:48px;height:48px;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:opacity .3s,transform .45s var(--ease-out);pointer-events:none}
.miniorb .vorb{width:44px;height:44px}
.dock.mini{padding:0;box-shadow:none;border-color:transparent}
.dock.mini::before{opacity:0}
.dock.mini .ask{height:0;padding-top:0;padding-bottom:0;opacity:0;overflow:hidden;margin-bottom:-4px}
.dock.mini .tabbar button{height:52px}
.tabbar button{transition:opacity .3s,height .45s var(--ease-out)}
.tabbar .ind{transition:left .45s var(--ease-out),width .45s var(--ease-out),height .45s var(--ease-out)}
.dock.mini .tabbar .ind{height:52px}
.dock.mini .tabbar{width:calc(100% - 64px);background:var(--a-white-80);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.dock.mini .miniorb{opacity:1;transform:none;pointer-events:auto}
.ask input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;letter-spacing:.32px;font-weight:500}
.ask input::placeholder{color:var(--text-tertiary)}
.vorb{position:relative;width:36px;height:36px;flex:none}
.vorb img{position:absolute;left:-63.89%;top:-19.44%;width:191.67%;height:180.55%}
.vorb{animation:orbpulse 3.2s ease-in-out infinite}
@keyframes orbpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.tabbar{display:flex;align-items:center;padding:4px;border-radius:999px;background:var(--a-white-50);border:1px solid var(--hairline);box-shadow:var(--elev-low);position:relative}
.tabbar button{position:relative;z-index:1;flex:1;min-width:56px;height:64px;border-radius:var(--r-xl);display:grid;place-items:center;opacity:.64;transition:opacity .3s}
.tabbar button[aria-pressed="true"]{opacity:1}
.tabbar button img{width:20px;height:20px}
.tabbar .ind{position:absolute;top:4px;height:64px;border-radius:var(--r-xl);background:var(--a-black-6);transition:left .45s var(--ease-out),width .45s var(--ease-out)}
.ic-home{position:relative;width:20px;height:20px}
.ic-home img{position:absolute;left:2.625px;top:2.625px;width:14.75px;height:15.25px}

/* ---------- Section 2: depth field ---------- */
.field{position:relative;height:150vh;background:transparent}
.field+.unified{margin-top:0;position:relative;z-index:2}
.field .sticky{position:sticky;top:0;height:100vh;overflow-x:clip;overflow-y:visible}
.field .comp{position:absolute;left:50%;top:50%;width:1440px;height:1080px;transform-origin:center;perspective:1400px;perspective-origin:50% 50%;transform-style:preserve-3d}
.field .ph{transform-style:preserve-3d}
.field .ph .sh{transform-style:preserve-3d}
.field .ph:nth-child(4) .note .pillg{font-size:11px;padding:7px 10px;gap:6px}
.field .ph:nth-child(4) .note .dot{width:6px;height:6px}
.field .ph{position:absolute;will-change:transform}
.field .ph .fl{position:absolute;inset:0;animation:drift var(--d,14s) ease-in-out infinite alternate}
.field .ph .sh{position:absolute;inset:0;transition:transform .2s linear}
.field .ph img{position:absolute;filter:drop-shadow(0 24px 40px rgba(0,0,0,.08));mix-blend-mode:multiply}
@keyframes drift{0%,100%{transform:none}}
.field .sym{position:absolute;left:540px;top:360px;width:360px;height:360px;will-change:transform}

.field .note{position:absolute;white-space:nowrap;z-index:2;pointer-events:none;transform-origin:0 0}
.field .gclip{position:absolute;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.field .gclip .gb{position:absolute;width:62%;height:34%;transform:translate(-50%,-35%);border-radius:50%;background:var(--c);opacity:.28;filter:blur(28px)}
.field .note .pillg{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--a-white-64);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.5),0 8px 24px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);font-size:14px;line-height:1;letter-spacing:.28px;color:var(--text-primary)}
.field .note .dot{width:8px;height:8px;border-radius:999px;background:var(--c)}
.field .ph:nth-child(4) .note .pillg{font-size:11px;padding:7px 10px;gap:6px}
.field .ph:nth-child(4) .note .dot{width:6px;height:6px}
/* ---------- Unified ---------- */
.unified{padding-block:120px}
.split{display:flex;align-items:center;justify-content:space-between;gap:126px;max-width:var(--cw,1280px);margin:0 auto}
@media (min-width:701px){.split>.fit{flex:0 1 588px;margin:0!important}.unified .split>.fit{margin-left:auto!important}.chat-sec .split>.fit{margin-right:auto!important}}
.split .txt{width:486px;flex:none;display:flex;flex-direction:column;gap:24px}
.ds{font-size:clamp(34px,3.33vw,48px);line-height:1;text-wrap:balance}
.uni-visual{position:relative;width:588px;height:736px;border-radius:var(--r-device);overflow:hidden;background:var(--neutral-25);flex:none}
.uni-visual .bgblur{position:absolute;left:-646px;top:-32px;width:1970px;height:1374px;border-radius:26.88px;overflow:hidden;filter:blur(12px)}
.uni-visual .bgblur .c{position:absolute;inset:0;background:#f4f2f0}
.uni-visual .bgblur>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:bottom}
.uni-visual .bgblur .egg{position:absolute;left:595.32px;top:-179.96px;width:689.367px;height:1689.924px}
.uni-visual .depth{position:absolute;left:-11.22%;top:-32px;width:122.44%;height:800px}
.uni-visual .depth img{width:100%;height:100%}
.ushape{position:absolute;display:flex;align-items:center;justify-content:center}
.ushape .rot{transform:rotate(8deg);position:relative;flex:none}
.ushape .rot img{position:absolute}
.ucards{position:absolute;left:96px;top:152px;width:396px;display:flex;flex-direction:column;gap:16px}
.gcard{will-change:transform,opacity;position:relative;overflow:hidden;border-radius:var(--r-device);background:var(--a-white-8);padding:32px;display:flex;flex-direction:column;gap:64px;transition:transform .5s var(--ease-out),background .4s}
.gcard:hover{transform:translateY(-4px) scale(1.01);background:rgba(255,255,255,.14)}
.gcard .h{display:flex;align-items:center;justify-content:space-between}
.gcard .h p{font-size:18px;line-height:1.4;color:var(--a-white-80);font-feature-settings:"ss02" 1}
.gcard .amt{font-size:48px;line-height:1;letter-spacing:-.01em;color:#fff}
/* Figma Glow: 24px white stroke centred on a 32px radius rect, layer blur 32 */
.gcard .rim{position:absolute;left:-12px;top:-12px;width:420px;height:232px;border-radius:44px;border:24px solid #fff;filter:blur(16px);pointer-events:none}
/* thin light edge that sweeps in and out on the glass, like the pill bubbles reference */
.gcard .edge{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),inset 0 1px 1px rgba(255,255,255,.35),inset 0 0 12px rgba(255,255,255,.14)}
.gcard .circle-w{transition:transform .4s var(--ease-out)}
.gcard:hover .circle-w{transform:rotate(45deg)}

/* ---------- Steps ---------- */
.steps-sec{padding-block:120px;display:flex;flex-direction:column;align-items:center;gap:48px}
.ctr{text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
.ctr .ds{max-width:996px}.ctr .heading-m{max-width:588px}
@media (min-width:1100px){.hero .copy .heading-m{max-width:none;white-space:nowrap}}
@media (min-width:900px){.agents-sec .ctr .heading-m{max-width:none;white-space:nowrap}}
.steps{display:grid;grid-template-columns:repeat(3,410.67px);gap:24px}
.steps .step>*{margin-inline:auto}
.step{position:relative;height:480px;border-radius:24px;overflow:hidden;background:var(--neutral-25)}
.step .gl{position:absolute}
.step .gl img{position:absolute}
.step .cap{position:absolute;left:32px;right:32px;top:398px;text-align:center;display:flex;flex-direction:column;gap:8px}
.step .cap b{font-weight:500;font-size:18px;line-height:1.2}
.step .cap small{font-weight:400;font-size:14px;line-height:1.4;color:var(--text-tertiary)}
.nstack{position:absolute;left:32px;top:159px;width:320px;height:104px}
.nstack .bk{position:absolute;height:80px;border-radius:22.222px;box-shadow:0 1.5px 12px rgba(0,0,0,.05);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.nstack .b2{left:24px;top:0;width:272px;background:rgba(255,255,255,.4)}
.nstack .b1{left:12px;top:12px;width:296px;background:rgba(255,255,255,.6)}
.nstack .fr{position:absolute;left:0;top:24px;width:320px;padding:16px;border-radius:22.222px;background:rgba(255,255,255,.8);box-shadow:0 6px 36px rgba(0,0,0,.1);cursor:pointer;transition:transform .4s var(--ease-out)}
.nstack .fr:hover{transform:translateY(-3px)}
.approve-pill{position:absolute;left:0;right:0;margin:0 auto;width:max-content;top:174.79px;display:flex;align-items:center;gap:14.857px;padding:14.857px 22.286px;border-radius:74.286px;background:#fff;filter:drop-shadow(0 14.857px 22.286px rgba(0,0,0,.06)) drop-shadow(0 1.857px 1.857px rgba(0,0,0,.04));font-size:26px;line-height:1.2;color:var(--neutral-900);white-space:nowrap;transition:transform .3s var(--ease-out)}
.approve-pill:hover{transform:scale(1.03)}
.approve-pill:active{transform:scale(.96)}
.approve-pill .dotc{width:11.143px;height:11.143px;position:relative}
.approve-pill .dotc img{width:100%;height:100%}
.approve-pill .dotc::after{content:"";position:absolute;inset:-6px;border-radius:999px;border:2px solid #99f3f7;opacity:0;animation:ping 2.4s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.4);opacity:.9}80%,100%{transform:scale(1.6);opacity:0}}
.approve-pill.done .dotc::after{animation:none}
.done-stack{position:absolute;left:62.77px;top:calc(50% - 33px);transform:translateY(-50%);width:258.464px;display:flex;flex-direction:column;align-items:center;gap:28.56px;text-align:center}
.cpill{position:relative;height:22.848px;width:100%;display:flex;justify-content:center}
.cpill .halo{position:absolute;left:calc(50% - 55.7px + 1px);top:4px;width:111.415px;height:23.424px;border-radius:28.56px;background:linear-gradient(90deg,#a3d1ff,#99f3f7,#bff7af);filter:blur(4.284px);opacity:.8}
.cpill .rimg{position:absolute;left:calc(50% - 55.7px - 1px);top:-1px;width:112.415px;height:24.424px;border-radius:999px;background:linear-gradient(#a3d1ff,#99f3f7,#bff7af);filter:blur(1.07px);opacity:.9}
.cpill .face{position:relative;display:flex;align-items:center;gap:5.712px;padding:5.712px 8.568px;border-radius:28.56px;background:#fff;font-size:9.996px;line-height:1.2;color:var(--text-tertiary);white-space:nowrap;height:23.424px}
.cpill .face img{width:8.568px;height:8.568px}
.done-stack .big{font-size:57.119px;line-height:1}
.done-stack .sub{font-size:11.424px;line-height:1.2;color:var(--text-tertiary);margin-top:17.136px}
.doneglow{position:absolute;left:calc(50% + 5px);transform:translateX(-50%);bottom:-201px;width:628px;height:491px;opacity:.4;pointer-events:none}
.doneglow i{animation:dgbreathe 4s ease-in-out infinite alternate}
.doneglow .d2{animation-delay:-1.3s}.doneglow .d3{animation-delay:-2.6s}
@keyframes dgbreathe{0%{transform:translateY(0) scale(1)}100%{transform:translateY(-24px) scale(1.08)}}
.doneglow i{position:absolute}
.doneglow .d1{inset:-17.51% 13.72% -1% 13.84%;background:#6bb1ff;filter:blur(41.84px);border-radius:263.4px}
.doneglow .d2{inset:15.04% 13.72% 6.79% 13.84%;background:#bff7af;filter:blur(72.83px);border-radius:999px}
.doneglow .d3{inset:42.92% 10.22% 12.64% 10.02%;background:#fff;filter:blur(72.83px);border-radius:999px}

/* ---------- Chat ---------- */
.chat-sec{padding-block:120px}
main{overflow-x:clip;position:relative;z-index:1;background:var(--surface-primary)}
.footer{overflow-x:clip;position:sticky;bottom:0;z-index:0}
.chat-sec .split .txt{order:2}
.chat-visual{position:relative;width:588px;height:736px;flex:none;background:var(--neutral-25);border-radius:var(--r-device);overflow:hidden;isolation:isolate}
.artwork{position:absolute;left:-224px;top:385px;width:1037px;height:574px;opacity:.48;pointer-events:none}
.artwork div{position:absolute;border-radius:337.09px}
.artwork .r1{inset:-17.51% 13.72% -1% 13.84%;background:var(--orange-700);filter:blur(53.5px)}
.artwork .r2{inset:15.04% 13.72% 6.79% 13.84%;background:var(--magenta-300);filter:blur(93px)}
.artwork .r3{inset:42.92% 10.22% 12.64% 10.02%;background:#fff;filter:blur(93px)}
.chatphone video{display:block;width:100%;height:100%;object-fit:cover}
.chatphone{position:absolute;left:194.88px;top:63.9px;width:393px;height:852px;zoom:.75117;border-radius:var(--r-device);overflow:hidden;background:#fff;border:1.33px solid rgba(0,0,0,.08)}
.chatphone .backdrop-glass{position:absolute;inset:0;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.chatpanel-wrap{position:absolute;left:0;top:56px;width:393px;height:796px;padding:8px;background:#fff}
.chatpanel{position:relative;width:377px;height:780px;overflow:hidden;border-radius:var(--r-2xl);border:1px solid var(--hairline);background:var(--panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04)}
.vglow{position:absolute;left:-1px;right:-1px;bottom:-1px;height:480px;transition:opacity .8s}
.vglow .art{position:absolute;bottom:-87.7px;height:416.2px;left:-20.44%;right:-20.69%;opacity:.28}
.vglow .art div{position:absolute;border-radius:999px}
.vglow .v1{inset:-17.51% 13.72% -1% 13.84%;background:var(--orange-500);filter:blur(27.5px)}
.vglow .v2{inset:15.04% 13.72% 6.79% 13.84%;background:var(--magenta-300);filter:blur(47.8px)}
.vglow .v3{inset:81.35% 10.22% -25.8% 10.02%;background:#fff;filter:blur(47.8px)}
.chatpanel.thinking .vglow .art{animation:think 1.6s ease-in-out infinite}
@keyframes think{0%,100%{opacity:.28;transform:translateY(0)}50%{opacity:.5;transform:translateY(-20px)}}
.convo{position:absolute;left:-1px;top:-1px;width:377px}
.convo .q{display:flex;flex-direction:column;align-items:flex-end;gap:24px;padding:64px 24px 16px}
.convo .yprev{align-self:stretch;font-size:14px;line-height:1.4;opacity:.4;width:290px}
.bubble{padding:16px 20px;background:var(--a-white-80);border:1px solid var(--hairline);border-radius:24px 24px 8px 24px;box-shadow:0 8px 24px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);font-size:14px;line-height:1.2;white-space:nowrap}
.convo .ans{padding:16px 24px 24px;display:flex;flex-direction:column;gap:24px}
.convo .ans p{font-size:14px;line-height:1.4;color:var(--text-tertiary);width:290px;min-height:137px}
.convo .ans p em{font-style:normal;color:#000}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{display:flex;align-items:center;gap:16px;width:330px;padding:24px;border-radius:var(--r-l);background:var(--a-white-80);border:1px solid var(--hairline);box-shadow:0 8px 24px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);text-align:left;transition:transform .3s var(--ease-out),box-shadow .3s}
.opt:hover{transform:translateY(-2px)}
.opt .radio{width:20px;height:20px;border-radius:999px;border:.83px solid #000;flex:none;position:relative;transition:border-width .2s}
.opt .radio::after{content:"";position:absolute;inset:4px;border-radius:999px;background:#000;transform:scale(0);transition:transform .3s var(--ease-out)}
.opt[aria-checked="true"] .radio{border-width:1.6px}
.opt[aria-checked="true"] .radio::after{transform:scale(1)}
.opt .o{flex:1;display:flex;flex-direction:column;gap:8px}
.opt .o b{font-weight:500;font-size:14px;line-height:1.2;color:var(--text-tertiary)}
.opt .o small{font-size:12px;letter-spacing:.24px;line-height:1;color:var(--lime-950)}
.opt .val{font-size:16px;line-height:1.2}
.acts{display:flex;gap:16px}
.acts button{flex:1;height:48px;border-radius:999px;font-size:16px;line-height:1.2;transition:transform .2s,background .3s}
.acts button:active{transform:scale(.97)}
.acts .no{background:var(--a-black-8)}
.acts .yes{background:#000;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}
.acts .yes.ok{background:var(--lime-950)}
.topfade{position:absolute;left:-1px;top:-1px;width:377px;height:136px;border-radius:40px 40px 0 0;background:linear-gradient(rgba(240,240,240,.72),rgba(240,240,240,.4) 50%,rgba(240,240,240,0));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent);pointer-events:none}
.grab{position:absolute;left:calc(50% + .5px);transform:translateX(-50%);top:7px;width:40px;height:6px;border-radius:8px;background:var(--a-black-16)}
.closeb{position:absolute;right:24px;top:24px;width:48px;height:48px}
.closeb img{width:20px;height:20px}
.chatin{position:absolute;left:-1px;bottom:-1px;width:377px;padding:24px}
.chatin .bar{display:flex;align-items:center;padding:8px;border-radius:var(--r-2xl);background:var(--a-white-64);border:1px solid var(--hairline);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04)}
.chatin .ib{width:48px;height:48px;border-radius:var(--r-2xl);display:grid;place-items:center;flex:none}
.chatin .ib img{width:20px;height:20px}
.chatin .ib.blk{background:#000}
.chatin .ib.blk img{transform:scaleY(-1)}
.chatin input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;letter-spacing:.32px;font-weight:500}
.chatin input::placeholder{color:var(--text-tertiary)}
.caret{display:inline-block;width:.06em;min-width:2px;height:.9em;background:currentColor;vertical-align:-.08em;margin-left:.04em;animation:blink 1.05s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* ---------- Agents ---------- */
.agents-sec{padding-block:120px;display:flex;flex-direction:column;align-items:center;gap:80px;overflow:hidden}
.agents{position:relative;width:1440px;height:960px}
.agents .orbit{position:absolute;left:0;top:-288px;width:1440px;height:1560px}
.agent{position:absolute;width:160px;height:160px;border-radius:var(--r-xl);background:#fff;border:1px solid var(--a-black-4);box-shadow:0 24px 48px rgba(0,0,0,.08),0 8px 16px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:box-shadow .4s var(--ease-out),scale .4s var(--ease-out);will-change:transform}
.agent:hover{scale:1.06;box-shadow:0 32px 64px rgba(0,0,0,.1),0 8px 16px rgba(0,0,0,.04)}
.agent .lg{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;overflow:hidden}
.agent .lg.empty{background:var(--surface-secondary)}
.agent .nm{font-size:16px;line-height:1;letter-spacing:.32px}
.agent .st{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.48px;line-height:1;color:var(--text-tertiary)}
.agent .st img{width:8px;height:8px}
.agent .tx{display:flex;flex-direction:column;align-items:center;gap:8px}
/* App icon */
.appicon{position:relative;overflow:hidden;background:#fff}
.appicon .vo{position:absolute;transform:scaleY(-1)}
.appicon .vo{animation:none;transform-origin:50% 50%}
.appicon:not(.gl){isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(white,black)}
.appicon.gl .vo{animation:none}
@keyframes orbdrift{0%,100%{transform:scaleY(-1)}}
@media (prefers-reduced-motion:reduce){.appicon .vo{animation:none}}
.appicon .vo img,.appicon .sy img{width:100%;height:100%}
.appicon .sy{position:absolute;transform:translate(-50%,-50%)}
.appicon .el{position:absolute;mix-blend-mode:soft-light}
.appicon .el img{position:absolute;inset:-38.47%;width:176.94%;height:176.94%}
.iconwrap{position:absolute;left:600px;top:360px;width:240px;height:240px;pointer-events:none}
.iconwrap .gl{position:absolute;left:-60px;top:-60px;width:360px;height:360px;filter:blur(60px);opacity:.48;border-radius:180px}
.iconwrap .main{border-radius:66.207px;width:240px;height:240px;box-shadow:0 4px 8px rgba(0,0,0,.08),0 24px 48px rgba(153,51,128,.24)}
.iconwrap .hl{position:absolute;left:0;top:0;width:240px;height:120px;border-radius:66.207px 66.207px 0 0;background:linear-gradient(rgba(255,255,255,.56),rgba(255,255,255,0))}
.iconwrap .inset{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 -8px 24px rgba(89,26,102,.24),inset 0 4px 16px rgba(255,255,255,.48)}
.iconwrap .main{background:transparent}

/* ---------- CTA ---------- */
.cta{position:relative;background:var(--surface-inverse)}
.cta .surface{position:relative;background:#fff;border-radius:0 0 120px 120px;padding-block:80px}
.cta .inner{padding-block:160px;display:flex;flex-direction:column;align-items:center;gap:48px;text-align:center}
.cta .hl{display:flex;flex-direction:column;align-items:center}
.cta .l1{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}
.cta .l2{white-space:nowrap;min-height:.9em}
.cta .d2xl{white-space:nowrap}
.miniicon{position:relative;padding:0 8px 0 24px;display:flex}
.miniicon .gl{position:absolute;left:4px;top:-20px;width:120px;height:120px;border-radius:60px;filter:blur(20px);opacity:.48}
.miniicon .ic{border-radius:20.027px;width:80px;height:80px;animation:bob 5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-4deg)}}
.cta .heading-m{margin-top:32px}

/* ---------- Footer ---------- */
.footer{background:var(--surface-inverse);color:#fff;padding-block:160px 80px;display:flex;flex-direction:column;align-items:center;gap:160px}
.signoff{display:flex;flex-direction:column;align-items:center;gap:64px}
.signoff .sym{width:240px;height:240px;overflow:visible;will-change:transform,opacity}
.endline .caret{opacity:0}
.endline.typing .caret,.endline.done .caret{opacity:1}
.endline{font-size:36px;line-height:1;white-space:nowrap}
.signoff .cta2{display:flex;flex-direction:column;align-items:center;gap:32px}
.fbottom{display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center}
.links{display:flex;gap:32px;flex-wrap:wrap;justify-content:center;font-size:16px;letter-spacing:.32px;line-height:1}
.links a{color:#fff;text-decoration:none;opacity:1;transition:opacity .25s}
.links a:hover{opacity:.6}
.legal{font-size:12px;letter-spacing:.48px;color:var(--a-white-50);line-height:1.4}

/* ---------- Reveal ---------- */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:var(--rd,0s)}
.js .rv.in{opacity:1;transform:none}
.js .tw .w2{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(.35em);transition:opacity .8s var(--ease-out),transform .9s var(--ease-out),filter .8s;transition-delay:var(--d)}
.js .tw.on .w2{opacity:1;filter:none;transform:none}
@media (prefers-reduced-motion:reduce){.js .tw .w2{opacity:1;filter:none;transform:none}}
.steps .step{transition:opacity .7s var(--ease-out)}
.steps.beats .step:not(.act){opacity:.5}
.steps .step.act .gl{animation:glowpulse 2.4s ease-in-out infinite}
@keyframes glowpulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.8}}
.js .rv-s{opacity:0;transform:translateY(40px) scale(.97);transition:opacity 1.1s var(--ease-out),transform 1.2s var(--ease-out);transition-delay:var(--rd,0s)}
.js .rv-s.in{opacity:1;transform:none}
/* hero headline: each word rises into place one after another, crisp, no blur (Make your money flourish reference) */
.js .hero .w{opacity:0;transform:translateY(.4em);transition:opacity .2s linear,transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--rd)}
.js .hero.on .w{opacity:1;transform:none}
.js .hero.on .rv,.js .hero.on .rv-s{opacity:1;transform:none}

.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:#000;color:#fff;padding:14px 20px;border-radius:999px;font-size:14px;letter-spacing:.28px;opacity:0;pointer-events:none;transition:opacity .35s,transform .45s var(--ease-out);z-index:100}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .split{flex-direction:column;gap:48px;text-align:center}
  .split .txt{width:100%;max-width:560px;align-items:center}
  .chat-sec .split .txt{order:0}
  .steps{grid-template-columns:384px;justify-content:center}
}
@media (max-width:640px){
  .cta .d2xl{font-size:clamp(30px,9vw,48px)}
  .cta .l2{white-space:normal}
  .miniicon{padding:0 4px 0 10px;transform:scale(.6);margin:-16px -12px}
  .endline{white-space:normal;text-align:center}
  .email{padding:8px 8px 8px 20px;border-width:6px}
  .email .btn-glow{padding:0 16px;font-size:14px}
  .nav .in{height:72px}
  .nav.pill .in{height:58px}
  .cta .surface{border-radius:0 0 48px 48px}
  .cta .inner{padding-block:64px}
  .footer{gap:96px;padding-block:96px 48px}
  .signoff .sym{width:160px;height:160px}
  .endline{font-size:26px}
  .hero{gap:48px;padding-block:40px}
  .unified,.steps-sec,.chat-sec,.agents-sec{padding-block:80px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .js .rv,.js .rv-s,.js .hero .w{opacity:1;transform:none;filter:none}
}

/* ===== Ross feedback v1 ===== */
.nav-actions{display:flex;align-items:center;gap:8px}
.btn-login,.qrcard,.appstore{text-decoration:none}

.callouts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.callout{display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 12px;border-radius:999px;background:#dff7d2;color:#2e8c00;font-size:14px;letter-spacing:.28px;line-height:1;font-weight:500}
.callout i{width:8px;height:8px;border-radius:50%;background:#2e8c00}
.callout sup,.disclosure sup{font-size:.65em;line-height:0;vertical-align:.6em;margin-left:1px}
.hcta{display:flex;align-items:center;justify-content:center;gap:24px}
.qrcard,.appstore{display:inline-flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;background:#fff;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.04);text-align:left;color:var(--text-primary)}
.qrcard .qr{width:48px;height:48px;image-rendering:pixelated}
.qrcard .t,.appstore .t{display:flex;flex-direction:column;gap:6px}
.qrcard b,.appstore b{font-weight:500;font-size:14px;letter-spacing:.28px;line-height:1}
.qrcard small,.appstore small{font-size:12px;letter-spacing:.24px;line-height:1;color:var(--text-tertiary)}
.appstore{display:none;border-radius:20px}
.fcta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
@media (max-width:700px){.fcta{flex-direction:column;gap:16px}}
.appstore .chev{color:var(--text-tertiary);margin-left:4px}
.appstore .aic{width:48px;height:48px;flex:none;position:relative}
.appstore .aic .appicon{transform:scale(.6);transform-origin:0 0;position:absolute;left:0;top:0;width:80px;height:80px;border-radius:20px}
@media (max-width:700px){.hcta{flex-direction:column;gap:16px}.qrcard{display:none}.appstore{display:inline-flex}.nav:not(.pill) .btn-early:not(.btn-login){display:none}}
.fbottom{gap:40px}
.disclosure{max-width:var(--cw,1280px);width:100%;text-align:left;display:flex;flex-direction:column;gap:12px;font-size:12px;line-height:18px;letter-spacing:.24px;color:var(--a-white-50)}
.disclosure p{margin:0}
.disclosure a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* sign up popup */
html.locked{overflow:hidden}
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px}
.modal[hidden]{display:none}
.modal .scrim{position:absolute;inset:0;background:rgba(0,0,0,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;transition:opacity .3s var(--ease-out)}
.modal .mcard{position:relative;width:100%;max-width:440px;background:#fff;border-radius:40px;padding:48px 32px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 32px 64px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.06);opacity:0;transform:translateY(24px) scale(.97);transition:opacity .35s var(--ease-out),transform .5s cubic-bezier(.16,1,.3,1)}
.modal.on .scrim{opacity:1}.modal.on .mcard{opacity:1;transform:none}
.mstate{width:100%;display:flex;flex-direction:column;align-items:center;gap:32px}
.mstate[hidden]{display:none}
.mhead{display:flex;flex-direction:column;align-items:center;gap:16px}
.mhead .msym{width:56px;height:56px}
.mhead h3{margin:0;font-size:32px;line-height:36px;letter-spacing:-.32px;font-weight:500;color:var(--text-primary)}
.mhead p{margin:0;font-size:16px;line-height:20px;letter-spacing:.32px;color:var(--text-tertiary)}
.mbtns{width:100%;display:flex;flex-direction:column;gap:12px}
.sso{width:100%;height:56px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;font-size:16px;letter-spacing:.32px;line-height:1;transition:transform .3s var(--ease),background .3s var(--ease)}
.sso.apple{background:#000;color:#fff}.sso.apple:hover{background:#222}
.sso.google{background:#fff;color:var(--text-primary);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.sso.google:hover{background:#fafafa}
.sso:active{transform:scale(.98)}
.mlegal{margin:0;font-size:12px;line-height:18px;letter-spacing:.24px;color:var(--text-tertiary)}
.mlegal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.mclose{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--a-black-4);color:var(--text-primary)}
.okdot{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#dff7d2;color:#2e8c00}

/* footer fits one screen: sign off centred, links + legal compact at the bottom */
.frow{width:100%;display:flex;flex-direction:column;align-items:center;gap:24px}
.frow .links{justify-content:center;gap:24px;font-size:14px;letter-spacing:.28px}
.frow .copy{font-size:14px;letter-spacing:.28px;line-height:1;color:var(--a-white-50)}
@media (min-width:701px){
 .footer{min-height:100vh;padding-block:64px 40px;gap:48px;justify-content:space-between}
 .signoff{flex:1;justify-content:center;gap:40px}
 .signoff .sym{width:160px;height:160px}
 .signoff .cta2{gap:32px}
 .fbottom{width:100%;max-width:var(--cw,1280px);gap:24px;align-items:center;text-align:center;padding-top:32px;border-top:1px solid rgba(255,255,255,.1)}
 /* legal: one calm centred column, balanced lines, footnotes in order */
 .disclosure{display:block;max-width:800px;font-size:10px;line-height:16px;letter-spacing:.2px;color:rgba(255,255,255,.4)}
 .disclosure p{margin:0;text-align:center;text-wrap:pretty}
 .disclosure a{color:rgba(255,255,255,.6)}
 .fbottom .links{font-size:14px;letter-spacing:.28px;gap:24px}
}
@media (max-width:700px){.frow{flex-direction:column;gap:24px}.frow .links{justify-content:center}}
/* footer app card: quiet glass on black, same height as the button */
.footer .qrcard,.footer .appstore{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:#fff;padding:4px 16px 4px 4px;border-radius:999px;gap:12px}
.footer .qrcard .qr{width:40px;height:40px;padding:4px;background:#fff;border-radius:999px;box-sizing:border-box;clip-path:inset(0 round 10px);border-radius:10px}
.footer .qrcard small,.footer .appstore small,.footer .appstore .chev{color:rgba(255,255,255,.5)}
.footer .appstore .aic{width:40px;height:40px}.footer .appstore .aic .appicon{transform:scale(.5)}
.fcopy{font-size:10px;letter-spacing:.2px;line-height:1;color:rgba(255,255,255,.4)}
/* footer: larger Get the app card */
.footer .qrcard{padding:6px 24px 6px 6px;gap:16px}
.footer .qrcard .qr{width:64px;height:64px;padding:6px;border-radius:14px;clip-path:inset(0 round 14px)}
.footer .qrcard .t{gap:8px}.footer .qrcard b{font-size:18px;letter-spacing:.36px}.footer .qrcard small{font-size:14px;letter-spacing:.28px}
.footer .qrcard{border-radius:24px}
.footer .endline{display:none}
/* Get the app: floats in the bottom right corner on desktop once you pass the hero */
.qrfloat{position:fixed;right:24px;bottom:24px;z-index:60;opacity:0;transform:translateY(16px) scale(.96);pointer-events:none;transition:opacity .5s var(--ease-out),transform .6s cubic-bezier(.16,1,.3,1)}
.qrfloat.on{opacity:1;transform:none;pointer-events:auto}
.qrfloat .qrcard{padding:8px 24px 8px 8px;gap:16px;border-radius:24px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 24px 48px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.06)}
.qrfloat .qr{width:72px;height:72px}
.qrfloat .t{gap:8px}.qrfloat b{font-size:16px;letter-spacing:.32px}.qrfloat small{font-size:13px;letter-spacing:.26px}
.qrfloat .qrx{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--text-tertiary);box-shadow:0 2px 8px rgba(0,0,0,.12),inset 0 0 0 1px rgba(0,0,0,.06);opacity:0;transition:opacity .2s}
.qrfloat:hover .qrx,.qrfloat .qrx:focus-visible{opacity:1}
@media (max-width:700px){.qrfloat{display:none}}
/* floating card: black, white text, fine stroke, generous padding */
.qrfloat .qrcard{padding:12px 28px 12px 12px;gap:20px;border-radius:28px;background:rgba(0,0,0,.92);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 24px 48px rgba(0,0,0,.18),0 4px 12px rgba(0,0,0,.08)}
.qrfloat .qr{width:72px;height:72px;padding:8px;background:#fff;border-radius:16px;box-sizing:border-box;image-rendering:pixelated}
.qrfloat b{color:#fff}.qrfloat small{color:rgba(255,255,255,.6)}
@media (min-width:701px) and (max-width:1360px){.qrfloat{bottom:280px}}
/* floating card, extra: slow iridescent stroke (brand CTA colours), soft colour glow, lift on hover */
.qrfloat .qrcard{position:relative;isolation:isolate;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.qrfloat .qrcard::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--spin),rgba(255,255,255,.14),#a3d1ff 12%,#99f3f7 22%,#bff7af 32%,rgba(255,255,255,.14) 45%,rgba(255,255,255,.14) 60%,#ff9bd8 75%,#ffb38a 85%,rgba(255,255,255,.14));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ctaspin 8s linear infinite;opacity:.9;pointer-events:none}
.qrfloat .qrcard::after{content:"";position:absolute;inset:8px;border-radius:inherit;z-index:-1;background:conic-gradient(from var(--spin),#a3d1ff,#bff7af,#ff9bd8,#ffb38a,#a3d1ff);filter:blur(24px);opacity:.28;animation:ctaspin 8s linear infinite}
.qrfloat:hover .qrcard{transform:translateY(-2px)}
.qrfloat .qr{box-shadow:0 0 0 1px rgba(255,255,255,.2),0 4px 12px rgba(0,0,0,.3)}
.qrfloat{transform:translateY(24px) scale(.94)}
.qrfloat .qrcard{box-shadow:0 24px 48px rgba(0,0,0,.24),0 4px 12px rgba(0,0,0,.12)}
@media (min-width:701px){.signoff{gap:64px}.signoff .sym{width:200px;height:200px}.fbottom{gap:32px;padding-top:40px}}
.btn-early .arr{position:relative;z-index:2;margin-left:8px;flex:none;transition:transform .35s var(--ease-out)}
.btn-early{display:inline-flex;align-items:center}
.btn-early:hover .arr{transform:translateX(3px)}
/* nav: Join the waitlist + Log in at the top; once the nav becomes the pill, only Join the waitlist stays */
.nav .nav-actions .btn-login{max-width:140px;white-space:nowrap;transition:max-width .5s var(--ease-out),padding .5s var(--ease-out),margin .5s var(--ease-out),opacity .3s}
.nav.pill .nav-actions .btn-login{max-width:0;padding-left:0;padding-right:0;margin-left:-8px;opacity:0;overflow:hidden;pointer-events:none}
/* hero key facts: one frosted bar, four facts with tinted icon tiles from the product icon set */
.facts{display:flex;width:min(1040px,100%);margin-top:16px;padding:12px;border-radius:28px;background:rgba(255,255,255,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05),0 12px 32px rgba(0,0,0,.05),0 2px 6px rgba(0,0,0,.03)}
.fact{flex:1;display:flex;align-items:center;gap:12px;padding:8px 16px;text-align:left;position:relative}
.fact+.fact::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:rgba(0,0,0,.06)}
.fi{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center}
.fi.lime{background:#f3fbd6;color:#5c8a00}.fi.green{background:#dff7d2;color:#2e8c00}.fi.sky{background:#e3f1ff;color:#2f6fd6}.fi.lilac{background:#f3e8ff;color:#8b4ce6}
.ft{display:flex;flex-direction:column;gap:6px;min-width:0}
.ft b{font-weight:500;font-size:18px;line-height:1;letter-spacing:-.09px;color:var(--text-primary);white-space:nowrap}
.ft b sup{font-size:.55em;vertical-align:.8em;line-height:0;margin-left:2px}
.ft small{font-size:13px;line-height:1.2;letter-spacing:.26px;color:var(--text-tertiary);white-space:nowrap}
@media (max-width:1000px){.facts{display:grid;grid-template-columns:1fr 1fr}.fact:nth-child(3)::before{display:none}.fact:nth-child(n+3){border-top:1px solid rgba(0,0,0,.06)}}
@media (max-width:700px){.facts{padding:8px;border-radius:24px}.fact{padding:10px 8px;gap:10px}.fi{width:36px;height:36px;border-radius:12px}.ft b{font-size:15px}.ft small{font-size:12px;white-space:normal}.fact{flex-direction:column;align-items:flex-start;padding:12px}.ft b{white-space:normal}}
/* key facts float at the bottom of the first screen, then slide away once you start scrolling */
.facts{position:fixed;left:50%;bottom:24px;z-index:55;width:min(1040px,calc(100% - 32px));margin:0;transform:translate(-50%,0);opacity:1;transition:opacity .5s var(--ease-out),transform .7s cubic-bezier(.16,1,.3,1)}
.facts.away,.js .facts.pre{opacity:0;transform:translate(-50%,32px);pointer-events:none}
html.locked .facts{opacity:0}
@media (max-width:700px){.facts{bottom:12px}}
/* facts bar: monochrome, see-through frosted glass */
.facts{background:rgba(255,255,255,.42);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),inset 0 0 0 1px rgba(0,0,0,.04),0 16px 40px rgba(0,0,0,.08)}
.fi,.fi.lime,.fi.green,.fi.sky,.fi.lilac{background:rgba(0,0,0,.04);color:var(--text-primary)}
.fi{width:40px;height:40px;border-radius:999px}
.fact+.fact::before{background:rgba(0,0,0,.08)}
@media (max-width:700px){.fi{display:none}.fact{padding:10px 12px}.facts{background:rgba(255,255,255,.55)}}
@media (min-width:701px){.hero h1.d2xl{font-size:clamp(48px,5.56vw,80px)}}
/* facts: one slim, quiet pill. Values and captions on one line, no icons */
.facts{display:flex;align-items:center;width:auto;max-width:calc(100% - 32px);padding:6px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(32px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.08)}
.fact{flex:none;display:flex;align-items:baseline;gap:8px;padding:12px 20px;white-space:nowrap}
.fact b{font-weight:500;font-size:15px;line-height:1;letter-spacing:.15px;color:var(--text-primary)}
.fact b sup{font-size:.6em;vertical-align:.7em;line-height:0;margin-left:1px}
.fact small{font-size:13px;line-height:1;letter-spacing:.26px;color:var(--text-tertiary)}
.fact+.fact::before{top:14px;bottom:14px;background:rgba(0,0,0,.1)}
@media (max-width:1000px){.facts{display:grid;grid-template-columns:1fr 1fr;border-radius:24px}.fact{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 16px}.fact:nth-child(n+3){border-top:1px solid rgba(0,0,0,.06)}}
/* soft white blur band at the bottom of the first screen, behind the facts pill */
.factsfade{position:fixed;left:0;right:0;bottom:0;height:200px;z-index:54;pointer-events:none;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.85) 60%,#fff);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);-webkit-mask:linear-gradient(transparent,#000 55%);mask:linear-gradient(transparent,#000 55%);transition:opacity .5s var(--ease-out)}
.factsfade.away,.js .factsfade.pre,html.locked .factsfade{opacity:0}
/* phone: cleaner top and bottom edges. Content dissolves into white instead of a muddy half blur */
.ptopfade{height:120px;background:linear-gradient(#fff 0,rgba(255,255,255,.96) 40%,rgba(255,255,255,.6) 70%,rgba(255,255,255,0));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.bottomfade{height:180px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.7) 40%,rgba(255,255,255,.96) 75%,#fff 100%);-webkit-mask-image:linear-gradient(transparent,#000 45%);mask-image:linear-gradient(transparent,#000 45%)}
/* photo field removed for now (kept in code) */
#field{display:none}
/* feature walkthrough: phone stays pinned, the screen moves through Yoshi's main features while copy on either side explains what you see (Cash App as reference) */
.chatlayer{position:absolute;inset:0;z-index:200;pointer-events:none}
.chatlayer{overflow:hidden;border-radius:inherit}
.chatlayer .cs{position:absolute;inset:0;opacity:0;will-change:opacity,clip-path}
.chatlayer .cs>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.beats{position:absolute;inset:0;pointer-events:none}
.beats .bl,.beats .br{position:absolute;top:50%;transform:translateY(-50%)}
.beats .bl{left:0;width:340px;height:200px}
.beats .br{right:0;width:300px;height:160px}
/* copy swap: Apple style blur fade. Outgoing blurs away quickly, incoming sharpens in */
.bt,.bp{position:absolute;left:0;right:0;margin:0;opacity:0;filter:blur(10px);transform:translateY(-6px) scale(.985);transition:opacity .25s ease-out,filter .3s ease-out,transform .3s ease-out}
.bt.on,.bp.on{transition:opacity .5s cubic-bezier(.2,.7,.2,1) .12s,filter .6s cubic-bezier(.2,.7,.2,1) .12s,transform .7s cubic-bezier(.16,1,.3,1) .12s}
.bp.on{transition-delay:.2s}
.bt{top:50%;translate:0 -50%;font-weight:500;font-size:48px;line-height:1;letter-spacing:-.96px;color:var(--text-primary)}
.bp{top:56px;font-size:20px;line-height:1.3;letter-spacing:.2px;color:var(--text-tertiary)}
.bt.on,.bp.on{opacity:1;transform:none;filter:blur(0)}
.bdots{position:absolute;top:0;left:0;display:flex;gap:8px;opacity:0;transition:opacity .5s}
.beats.live .bdots{opacity:1}
.bdots i{width:24px;height:4px;border-radius:2px;background:rgba(0,0,0,.1);overflow:hidden;position:relative}
.bdots i::after{content:"";position:absolute;inset:0;background:var(--text-primary);transform:scaleX(var(--f,0));transform-origin:0 50%}
@media (max-width:700px){.beats{display:none}}
/* more air between the copy and the phone (160px each side) */
/* each copy block sits in the middle of its side gutter */
.beats .bl{left:calc(var(--bx,40px) * -1);width:calc(403.5px + var(--bx,40px));display:flex;justify-content:center}
.beats .br{right:calc(var(--bx,40px) * -1);left:auto;width:calc(403.5px + var(--bx,40px));display:flex;justify-content:center}
.beats .bl>*,.beats .br>*{left:50%!important;right:auto!important;width:360px;margin-left:-180px}
.beats .bdots{margin-left:-180px}
.bt{font-size:48px}
/* progress: 01 ── 03, current step stretches */
.bdots{align-items:center;gap:6px}
.bdots .bnum,.bdots .btot{font-size:13px;line-height:1;letter-spacing:.26px;font-variant-numeric:tabular-nums;color:var(--text-primary)}
.bdots .bnum{margin-right:6px}.bdots .btot{margin-left:6px;color:var(--text-tertiary)}
.bdots i{width:12px;height:3px;border-radius:999px;background:rgba(0,0,0,.1);transition:width .6s cubic-bezier(.16,1,.3,1)}
.bdots i.cur{width:40px}
.bdots .bnum,.bdots .btot{display:none}
.bdots i::after{border-radius:999px}
/* screen motion: voice orb breathes, waveform moves, the answer builds in one piece at a time */
.chatlayer .orbp{position:absolute;left:54%;top:63%;width:56%;aspect-ratio:1;translate:-50% -50%;border-radius:46% 54% 52% 48%/50% 44% 56% 50%;background:radial-gradient(circle at 58% 52%,#e3c2f5 0,#d9adef 30%,#d6a3ec 48%,rgba(240,176,170,.75) 62%,rgba(246,200,160,.0) 74%);filter:blur(16px);animation:orbmorph 7s ease-in-out infinite,orbmove 9s ease-in-out infinite}
.chatlayer .orbp.o2{width:40%;left:58%;top:60%;background:radial-gradient(circle,rgba(236,200,250,.9),rgba(236,200,250,0) 70%);filter:blur(12px);border-radius:50%;animation:orbdrift 5.5s ease-in-out infinite}
@keyframes orbmorph{0%,100%{border-radius:46% 54% 52% 48%/50% 44% 56% 50%;transform:scale(.94) rotate(0)}33%{border-radius:56% 44% 42% 58%/46% 58% 42% 54%;transform:scale(1.06) rotate(40deg)}66%{border-radius:42% 58% 56% 44%/58% 42% 58% 42%;transform:scale(.98) rotate(-25deg)}}
@keyframes orbmove{0%,100%{left:54%;top:63%}25%{left:48%;top:58%}50%{left:57%;top:55%}75%{left:51%;top:66%}}
@keyframes orbdrift{0%,100%{transform:translate(-8%,6%) scale(.9)}33%{transform:translate(10%,-4%) scale(1.05)}66%{transform:translate(-2%,-10%) scale(.95)}}
/* bottom glow moves under the voice bar */
.chatlayer .bglow{position:absolute;bottom:-6%;width:70%;height:24%;border-radius:50%;filter:blur(28px);opacity:.75}
.chatlayer .bglow.g1{left:-10%;background:#f6b9c9;animation:bg1 6s ease-in-out infinite}
.chatlayer .bglow.g2{right:-10%;background:#d9a8f2;animation:bg2 7s ease-in-out infinite}
@keyframes bg1{0%,100%{transform:translateX(0) scale(1)}50%{transform:translateX(30%) scale(1.15)}}
@keyframes bg2{0%,100%{transform:translateX(0) scale(1.1)}50%{transform:translateX(-30%) scale(.9)}}
.chatlayer .wave{position:absolute;left:24.6%;top:90.6%;width:50.6%;height:3.8%;background:#000;border-radius:2px;display:flex;align-items:center;justify-content:space-between;padding:0 1%}
.chatlayer .wave i{flex:none;width:1.4px;border-radius:1px;background:#fff;height:calc(var(--h) * 78%);transform-origin:50% 50%;animation:wv 1.1s ease-in-out infinite;animation-delay:calc(var(--d) * -1)}
@keyframes wv{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
.chatlayer .ans .l,.chatlayer .vbar{position:absolute;right:auto!important;bottom:auto!important;height:auto!important;max-width:none}
.chatlayer .ans .l{position:absolute;object-fit:fill;opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease-out),transform .7s cubic-bezier(.16,1,.3,1)}
.chatlayer .ans .q{left:25.45%;top:31.92%;width:68.19%}
.chatlayer .ans .t{left:6.11%;top:41.78%;width:75.32%}
.chatlayer .ans .c{left:6.11%;top:49.3%;width:87.53%;transform:translateY(20px) scale(.97);transform-origin:50% 0}
.chatlayer .ans.play .l{opacity:1;transform:none}
.chatlayer .ans.play .q{transition-delay:.05s}.chatlayer .ans.play .t{transition-delay:.55s}.chatlayer .ans.play .c{transition-delay:.95s}
.chatlayer .cs>img.vbar{position:absolute;inset:auto;left:7.12%;top:88.26%;width:86%;height:auto;border-radius:999px;z-index:2}
.chatlayer .wave{z-index:3}
.chatlayer .bglow{opacity:.55}
.uni-visual .ubg2{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;filter:brightness(1.06) saturate(1.04)}
/* steps on the 1280 grid: content stays centred in the wider cards */
.steps .step>.gl{margin-left:13.33px}
.steps .nstack{left:calc(50% - 160px)}
.steps .done-stack{left:calc(50% - 129.23px)}
/* right column: dots + line centred on the headline */
.beats .br .bp{top:50%;translate:0 -50%}
.beats .br .bdots{top:calc(50% - 56px)!important}
/* phone: the 393 x 852 screen sits fully inside the 8px rim, so the product's 16px side padding reads exactly as designed */
.phone{box-sizing:content-box}
.phone .inner{inset:0;border-radius:calc(var(--r-device) - 8px)}
.phone .ring{inset:0}
 .phone .ring{border-radius:calc(var(--r-device) - 8px)}
/* ===== product walkthrough, rebuilt in code from the product screens and the motion video =====
   Scroll picks the state, each change plays as a short timed transition, so you never see a half state. */
.cx{--E:cubic-bezier(.32,.72,0,1);--Eo:cubic-bezier(.22,1,.36,1);position:absolute;left:0;top:0;width:393px;height:852px;z-index:18;pointer-events:none;font-family:'Neue Montreal',sans-serif;-webkit-font-smoothing:antialiased}
.cx>*{position:absolute}
.cx-scrim{inset:0;background:rgba(222,222,222,.78);backdrop-filter:blur(26px) saturate(.85);-webkit-backdrop-filter:blur(26px) saturate(.85);opacity:0;transition:opacity .6s var(--Eo)}
.cx-sheet{left:8px;top:164px;width:377px;height:680px;clip-path:inset(700px 0 0 0 round 40px);transition:clip-path .9s var(--E)}
.cx-bg{position:absolute;inset:0;background:linear-gradient(#f9f9f8,#fbfbfa 55%,#fbf8f8);overflow:hidden}
.cx-bg i{position:absolute;border-radius:50%;filter:blur(40px);opacity:0;transition:opacity .9s var(--Eo),transform 1.1s var(--E)}
.g-peach{left:-30px;top:500px;width:440px;height:150px;background:#f8d0bc}
.g-pink{left:-40px;top:590px;width:260px;height:150px;background:#f3c6dc}
.g-lilac{left:150px;top:585px;width:280px;height:160px;background:#e3c3f2}
.cx-top{left:0;top:0;width:393px;height:90px;transform:translateY(852px);transition:transform .9s var(--E)}
.cx-handle{position:absolute;left:176px;top:11px;width:40px;height:5px;border-radius:3px;background:#d3d3d3}
.cx-close{position:absolute;left:313px;top:24px;width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.05)}
.cx-mind{left:0;width:393px;top:614px;margin:0;text-align:center;font-size:22px;line-height:28px;letter-spacing:-.22px;font-weight:500;background-image:linear-gradient(90deg,#7c7c7c 0%,#7c7c7c 38%,#c9c9c9 50%,#7c7c7c 62%,#7c7c7c 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mindsheen 3.2s linear infinite;opacity:0;filter:blur(6px);transform:translateY(8px);transition:opacity .5s ease,filter .6s ease,transform .8s var(--Eo)}
@keyframes mindsheen{from{background-position:110% 0}to{background-position:-110% 0}}
.cx-orbw{left:0;top:0;width:393px;height:852px;opacity:0;transform:translateY(250px) scale(1.7);transition:opacity .7s ease,transform 1.2s var(--E)}
.cx-orb{position:absolute;left:105px;top:478px;width:210px;height:210px}
.cx-orb i{position:absolute;border-radius:50%}
.o-core{inset:12px;background:radial-gradient(circle at 52% 55%,#e9c6f8 0,#dfb0f3 40%,#d8a3ef 62%,rgba(216,163,239,0) 74%);filter:blur(10px);animation:obreath 4.2s ease-in-out infinite}
.o-rim{inset:0;background:conic-gradient(from 0deg,rgba(255,180,120,0) 0deg,rgba(255,170,110,.85) 40deg,rgba(255,190,150,.55) 90deg,rgba(255,180,120,0) 150deg,rgba(255,180,120,0) 360deg);-webkit-mask:radial-gradient(circle,transparent 46%,#000 56%,#000 64%,transparent 72%);mask:radial-gradient(circle,transparent 46%,#000 56%,#000 64%,transparent 72%);filter:blur(9px);animation:orim 7s linear infinite}
.o-hi{left:62px;top:56px;width:90px;height:90px;background:radial-gradient(circle,rgba(245,225,252,.95),rgba(245,225,252,0) 70%);filter:blur(8px);animation:ohi 5.5s ease-in-out infinite}
@keyframes obreath{0%,100%{transform:scale(.95)}50%{transform:scale(1.04)}}
@keyframes orim{to{transform:rotate(360deg)}}
@keyframes ohi{0%,100%{transform:translate(-8px,6px)}50%{transform:translate(10px,-6px)}}
.cx-q{right:28px;top:394px;padding:16px 20px;border-radius:22px;background:rgba(255,255,255,.7);box-shadow:0 10px 24px rgba(0,0,0,.04);font-size:14px;line-height:18px;letter-spacing:.1px;color:#111;white-space:nowrap;opacity:0;filter:blur(8px);transform:translateY(20px);transition:opacity .5s ease,filter .6s ease,transform 1s var(--E)}
.cx-q u{text-underline-offset:3px;text-decoration-thickness:1px}
.cx-a{left:24px;top:360px;width:300px;margin:0;font-size:14px;line-height:20px;letter-spacing:.1px;color:#6e6e6e;opacity:0;filter:blur(8px);transform:translateY(14px);transition:opacity .55s ease,filter .65s ease,transform .9s var(--Eo)}
.cx-a b{color:#111;font-weight:500}
.cx-card{left:24px;top:424px;width:345px;padding:22px 24px;border-radius:26px;background:rgba(255,255,255,.88);box-shadow:0 14px 34px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.03);display:flex;flex-direction:column;gap:12px;opacity:0;filter:blur(8px);transform:translateY(22px) scale(.97);transition:opacity .6s ease,filter .7s ease,transform 1s var(--Eo)}
.cx-card .r{display:flex;justify-content:space-between;font-size:13.5px;line-height:18px;color:#757575}
.cx-card .r.t{font-size:15.5px;color:#111;font-weight:500}
.cx-card .hr{display:block;height:1px;background:rgba(0,0,0,.07);margin:4px 0}
.cx-bar{left:32px;top:755px;width:329px;height:66px;border-radius:33px;background:rgba(255,255,255,.62);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 10px 26px rgba(0,0,0,.05);clip-path:inset(0 0 0 0 round 33px);transform:translateY(130px);transition:clip-path .7s var(--E),transform .9s var(--E)}
.cx-bar>*{position:absolute;top:0;height:66px;display:flex;align-items:center;transition:opacity .3s ease,transform .6s var(--E)}
.cx-plus{left:24px}.cx-ph{left:69px;font-size:15.5px;letter-spacing:.15px;color:#7a7a7a}
.cx-mic{left:236px}
.cx-pill{left:51px;top:9px!important;width:194px;height:48px!important;border-radius:24px;background:#000;clip-path:inset(0 0 0 146px round 24px);transform:translateX(75px);transition:clip-path .7s var(--E),transform .7s var(--E)!important}
.cx-wave{position:absolute;left:16px;top:13px;width:120px;height:22px;opacity:0;transition:opacity .35s ease}
.cx-end{position:absolute;right:16px;top:0;height:48px;display:flex;align-items:center;color:#fff;font-size:15px;opacity:0;transition:opacity .3s ease}
.cx-vb{position:absolute;right:14px;top:14px;transition:opacity .2s ease}
.cx-x{left:299px;top:756px;width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);opacity:0;transform:scale(.6);transition:opacity .35s ease,transform .6s var(--Eo)}

/* state 1: chat sheet up */
.cx:not([data-s="0"]) .cx-scrim{opacity:1}
.cx[data-s="1"] .cx-sheet{clip-path:inset(280px 0 0 0 round 40px)}
.cx[data-s="1"] .cx-top{transform:translateY(444px)}
.cx:not([data-s="0"]) .cx-bar{transform:none}
.cx[data-s="1"] .cx-mind{opacity:1;filter:none;transform:none;transition-delay:.25s}
.cx[data-s="1"] .g-peach,.cx[data-s="1"] .g-pink,.cx[data-s="1"] .g-lilac{opacity:.9}
/* state 2: listening */
.cx[data-s="2"] .cx-sheet,.cx[data-s="3"] .cx-sheet{clip-path:inset(173px 0 0 0 round 40px)}
.cx[data-s="2"] .cx-top,.cx[data-s="3"] .cx-top{transform:translateY(337px)}
.cx[data-s="2"] .cx-bar{clip-path:inset(0 74px 0 0 round 33px)}
.cx[data-s="2"] .cx-plus,.cx[data-s="2"] .cx-ph{opacity:0;transform:translateX(-14px)}
.cx[data-s="2"] .cx-mic{transform:translateX(-209px)}
.cx[data-s="2"] .cx-pill{clip-path:inset(0 0 0 0 round 24px);transform:none}
.cx[data-s="2"] .cx-vb{opacity:0}
.cx[data-s="2"] .cx-wave,.cx[data-s="2"] .cx-end{opacity:1;transition-delay:.3s}
.cx[data-s="2"] .cx-x{opacity:1;transform:none;transition-delay:.12s}
.cx[data-s="2"] .cx-orbw{opacity:1;transform:none;transition-delay:.05s}
.cx[data-s="2"] .g-peach{opacity:.7;transform:translateY(40px)}
.cx[data-s="2"] .g-pink,.cx[data-s="2"] .g-lilac{opacity:.85;transform:translateY(30px)}
/* state 3: question lands */
.cx[data-s="3"] .cx-orbw{opacity:0;transform:scale(.7);transition:opacity .45s ease,transform .8s var(--E)}
.cx[data-s="3"] .cx-q,.cx[data-s="4"] .cx-q{opacity:1;filter:none;transform:none;transition-delay:.18s}
.cx[data-s="3"] .g-peach,.cx[data-s="3"] .g-pink,.cx[data-s="3"] .g-lilac{opacity:.75}
/* state 4: the answer, full sheet */
.cx[data-s="4"] .cx-sheet{clip-path:inset(0 0 0 0 round 40px)}
.cx[data-s="4"] .cx-top{transform:translateY(164px)}
.cx[data-s="4"] .cx-q{transform:translateY(-118px);transition-delay:0s}
.cx[data-s="4"] .cx-a{opacity:1;filter:none;transform:none;transition-delay:.3s}
.cx[data-s="4"] .cx-card{opacity:1;filter:none;transform:none;transition-delay:.48s}
.cx[data-s="4"] .g-peach{opacity:.75;transform:translateY(-40px)}
.cx[data-s="4"] .g-pink,.cx[data-s="4"] .g-lilac{opacity:.8}
.askwrap{transition:opacity .4s ease}
@media (prefers-reduced-motion:reduce){.cx *{transition-duration:.01s!important}}
/* side copy shares the phone's vertical centre */
.beats{top:0;bottom:auto;height:868px}
.o-rim{-webkit-mask:radial-gradient(circle,transparent 40%,#000 55%,#000 62%,transparent 76%);mask:radial-gradient(circle,transparent 40%,#000 55%,#000 62%,transparent 76%);filter:blur(14px);opacity:.85}
/* voice orb: the exact orb from the product motion video, clipped inside the sheet */
.cx-orbv{position:absolute;left:-8px;top:186px;width:393px;height:375px;object-fit:cover;opacity:0;transition:opacity .45s ease;-webkit-mask:linear-gradient(transparent 0,transparent 15%,#000 27%,#000 66%,transparent 92%);mask:linear-gradient(transparent 0,transparent 15%,#000 27%,#000 66%,transparent 92%)}
.cx[data-s="2"] .cx-orbv{opacity:1;transition:opacity .25s ease}
.cx-q{top:420px}
.cx[data-s="4"] .cx-q{transform:translateY(-144px)}
.cx-orbw{display:none}
.cx-q{border-radius:24px 24px 6px 24px;background:#fefefe;padding:15px 20px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 22px rgba(0,0,0,.04)}
/* sheet glow keeps drifting softly (uses translate/scale so state transforms still apply) */
.g-peach{animation:gdrift1 7s ease-in-out infinite}
.g-pink{animation:gdrift2 8.5s ease-in-out infinite}
.g-lilac{animation:gdrift3 9.5s ease-in-out infinite}
@keyframes gdrift1{0%,100%{translate:0 0;scale:1}50%{translate:40px -14px;scale:1.12}}
@keyframes gdrift2{0%,100%{translate:0 0;scale:1.05}50%{translate:70px -20px;scale:.92}}
@keyframes gdrift3{0%,100%{translate:0 0;scale:1}50%{translate:-80px -10px;scale:1.15}}
.beats .br .bdots{top:calc(50% - 76px)!important}
.bp .hl{color:var(--text-primary);font-weight:inherit}
/* compact CTA inside the scrolled pill nav: smaller shape, same type size */
.btn-early{transition:height .5s var(--ease-out),padding .5s var(--ease-out)}
.nav.pill .btn-early{height:40px;padding:0 18px}
.nav.pill .btn-early .arr{margin-left:6px}
/* listening state as in the product UI: no separate close button, the bar stays full width */
.cx-x{display:none!important}
.cx[data-s="2"] .cx-bar{clip-path:inset(0 0 0 0 round 33px)}
.cx-pill{left:53px;width:267px;clip-path:inset(0 0 0 219px round 24px);transform:none}
.cx[data-s="2"] .cx-pill{clip-path:inset(0 0 0 0 round 24px)}
.cx[data-s="2"] .cx-mic{transform:translateX(-211px)}
.cx-wave{left:18px;width:178px}
/* app icons pop in with a small scale when they come into view */
.js .miniicon,.js .iconwrap{scale:.82;opacity:.0;transition:scale .9s cubic-bezier(.34,1.56,.64,1),opacity .5s ease}
.js .miniicon.in,.js .iconwrap.in{scale:1;opacity:1}
@media (prefers-reduced-motion:reduce){.js .miniicon,.js .iconwrap{scale:1;opacity:1}}
/* walkthrough copy on the 12 col grid: headline on cols 2 to 4, copy on cols 9 to 11 (positions set from the grid in JS) */
.beats .bl,.beats .br{left:var(--gx1,0px)!important;right:auto!important;width:var(--gw,300px)!important;display:block!important}
.beats .br{left:var(--gx2,0px)!important}
.beats .bl>*,.beats .br>*{left:0!important;right:auto!important;margin-left:0!important;width:100%}
.beats .bdots{width:auto}
/* glow behind the phone: green and blue on Home, warming to peach and pink when the chat opens */
.device-stack .glow .gb{transition:opacity 1s var(--ease-out)}
.device-stack .glow .e1.gb{background:linear-gradient(#c8f7b8,#b4f1f4 60%);opacity:.5}
.device-stack .glow .e2.gb{background:linear-gradient(#b9d9ff 40%,#c8f7b8);opacity:.45}
.device-stack .glow .e1:not(.gb),.device-stack .glow .e2:not(.gb){transition:opacity 1s var(--ease-out)}
.device-stack:not(.warm) .glow .e1:not(.gb),.device-stack:not(.warm) .glow .e2:not(.gb){opacity:0}
.device-stack.warm .glow .gb{opacity:0}
/* bottom band on the first screen: a clean fade to white, no blur, so nothing looks half smeared behind the facts */
.factsfade{height:240px;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;-webkit-mask:none!important;mask:none!important;background:linear-gradient(rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 35%,rgba(255,255,255,.92) 62%,#fff 80%)}
.cx-q{top:440px}
.cx[data-s="4"] .cx-q{transform:translateY(-140px)}
.cx-a{top:376px}
.cx-card{top:440px}
/* cleaner phone edge: one white bezel with a single soft hairline outside, no inner grey line */
.cx-scrim{background:rgba(232,232,232,.8)}
/* subtle wash behind the top of the phone too, so the first screen is not flat white */
.device-stack .glow .gt{left:220px;top:-80px;width:760px;height:480px;border-radius:50%;filter:blur(90px);animation:drift2 9s ease-in-out infinite alternate}
.device-stack .glow .gt.gb{background:radial-gradient(closest-side,#d6f7c8,#cdeef8 60%,rgba(205,238,248,0));opacity:.7}
.device-stack .glow .gt.gw{background:radial-gradient(closest-side,#ffd9c8,#f6d0f2 60%,rgba(246,208,242,0));opacity:0;transition:opacity 1s var(--ease-out)}
.device-stack.warm .glow .gt.gw{opacity:.45}
/* first screen: keep a visible green to blue wash around the top of the phone */
.device-stack .glow .gt{left:180px;top:-40px;width:840px;height:520px;filter:blur(70px)}
.device-stack .glow .gt.gb{background:radial-gradient(closest-side,#c9f5b6,#bfe8fb 55%,rgba(191,232,251,0));opacity:.95}
.bp{text-wrap:balance}
.device-stack.warm .glow .gt.gb{opacity:0}
.device-stack .glow .gt.gb{transition:opacity 1s var(--ease-out)}
.device-stack.warm .glow .gt.gw{opacity:.7}
.beats .br{width:var(--gw2,300px)!important}
/* hero copy and CTA always sit above the phone glow */
.hero .copy{position:relative;z-index:5}
.device-stack .glow .gt{top:60px!important;height:440px!important}
.js .phone .statusbar{opacity:0;transition:opacity .2s linear}

/* clean blue */
.device-stack .glow .e1.gb{background:linear-gradient(in oklch,#c6f6b2,#a6e6ff 60%)}
.device-stack .glow .e2.gb{background:linear-gradient(in oklch,#9fdcff 40%,#c6f6b2)}
.device-stack .glow .gt.gb{background:radial-gradient(in oklch closest-side,#cff7bd,#b2e8ff 55%,rgba(178,232,255,0))}

/* tinted phone shadow */
.phone{box-shadow:0 32px 64px rgba(74,160,60,.16),0 8px 24px rgba(74,160,60,.08);transition:box-shadow 1s var(--ease-out)}
.device-stack.warm .phone{box-shadow:0 32px 64px rgba(230,120,90,.14),0 8px 24px rgba(230,120,90,.07)}

/* greener, lighter */
.device-stack .glow .e1.gb{background:linear-gradient(in oklch,#d2f8c0,#c4f2d8 70%);opacity:.38}
.device-stack .glow .e2.gb{background:linear-gradient(in oklch,#c9eefc 0%,#d2f8c0 45%);opacity:.34}
.device-stack .glow .gt.gb{background:radial-gradient(in oklch closest-side,#dbfacb,#d0f5d9 60%,rgba(208,245,217,0));opacity:.75}

/* translucent pill nav */
.nav.pill .in::before{background:rgba(255,255,255,.56);backdrop-filter:blur(32px) saturate(1.5);-webkit-backdrop-filter:blur(32px) saturate(1.5);border-color:rgba(255,255,255,.6)}

/* deepen bottom right of unified visual */
.uni-visual::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(70% 60% at 100% 100%,rgba(226,92,72,.38),rgba(226,92,72,0) 100%);mix-blend-mode:multiply;z-index:1}
.uni-visual .ucards{z-index:2}

/* facts pill: more lift */
.facts{box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 24px 56px rgba(0,0,0,.12),0 6px 16px rgba(0,0,0,.06)}

/* green with a touch of blue */
.device-stack .glow .e1.gb{background:linear-gradient(in oklch,#d2f8c0,#c2ecfb 75%);opacity:.4}
.device-stack .glow .e2.gb{background:linear-gradient(in oklch,#bfe7fd 0%,#d2f8c0 55%);opacity:.4}
.device-stack .glow .gt.gb{background:radial-gradient(in oklch closest-side,#dbfacb,#d3f1ef 62%,rgba(205,236,250,0));opacity:.75}

/* cool glow, same style as warm pair */
.device-stack .glow .e1.gb{background:linear-gradient(#c6f7b0,#a9e2fb 60%);opacity:.72}
.device-stack .glow .e2.gb{background:linear-gradient(#a9e2fb 40%,#c6f7b0);opacity:.64}
.device-stack .glow .gt.gb{background:radial-gradient(closest-side,#dcf9cd,#d4effa 60%,rgba(212,239,250,0));opacity:.6}

/* never mix cool and warm glows: one fades out fully before the other fades in */
.device-stack .glow .gb{transition:opacity .8s var(--ease-out) .32s!important}
.device-stack .glow .e1:not(.gb),.device-stack .glow .e2:not(.gb),.device-stack .glow .gt.gw{transition:opacity .3s linear 0s!important}
.device-stack.warm .glow .gb{transition:opacity .3s linear 0s!important}
.device-stack.warm .glow .e1:not(.gb),.device-stack.warm .glow .e2:not(.gb),.device-stack.warm .glow .gt.gw{transition:opacity .8s var(--ease-out) .32s!important}

.device-stack.warm .glow .e1.gb,.device-stack.warm .glow .e2.gb,.device-stack.warm .glow .gt.gb{opacity:0}

/* facts: one line on mobile */
.facts .fm{display:none;font-style:normal}
@media (max-width:700px){
.facts{display:flex!important;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:calc(100% - 32px)!important;max-width:358px;padding:0 4px!important;height:48px;border-radius:999px!important}
.facts .fact{position:relative;flex:0 0 auto;flex-direction:row!important;padding:0 12px!important;border-top:0!important;gap:0}
.facts .fact b,.facts .fact small{display:none!important}
.facts .fm{display:block;font-size:14px;line-height:1;letter-spacing:.28px;color:var(--text-primary);white-space:nowrap}
.facts .fm sup{font-size:9px;vertical-align:top;position:relative;top:-2px;margin-left:1px}
.facts .fact::before{top:16px!important;bottom:16px!important;display:block!important}
.facts .fact:first-child::before{display:none!important}
}

@media (max-width:700px){
.facts{width:auto!important;max-width:calc(100% - 32px);height:44px;padding:0 6px!important;gap:0;justify-content:center;background:rgba(255,255,255,.78)!important}
.facts .fact{padding:0 9px!important}
.facts .fact::before{display:none!important}
.facts .fm{display:flex;align-items:center;gap:5px;font-size:13px;letter-spacing:.26px}
.facts .fm svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:#3f9b2f;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.facts .fm svg circle{fill:#3f9b2f;stroke:none}
}

@media (max-width:700px){.facts .fact{padding:0 7px!important}.facts .fm{gap:4px}.facts{padding:0 5px!important}.facts .fm svg{width:14px;height:14px}}
@media (max-width:370px){.facts .fm svg{display:none}}

/* mobile footer: compact, calm, one rhythm */
@media (max-width:700px){
 .footer{min-height:0;padding:80px 16px 32px;gap:56px}
 .signoff{gap:40px}
 .signoff .sym{width:112px!important;height:112px!important}
 .footer .fcta{gap:12px;width:100%;max-width:300px}
 .footer .fcta .btn-glow,.footer .appstore{width:100%;height:56px;box-sizing:border-box}
 .footer .appstore{justify-content:flex-start;padding:6px 20px 6px 6px}
 .footer .appstore .aic{width:44px;height:44px}.footer .appstore .aic .appicon{transform:scale(.55)}
 .footer .appstore .t{flex:1}
 .fbottom{width:100%;display:flex;flex-direction:column;align-items:center;gap:24px;padding-top:32px;border-top:1px solid rgba(255,255,255,.1)}
 .fbottom .links{flex-wrap:nowrap;gap:20px;font-size:13px;letter-spacing:.26px}
 .fbottom .links a{color:rgba(255,255,255,.8)}
 .disclosure{display:block;font-size:10px;line-height:15px;letter-spacing:.2px;color:rgba(255,255,255,.4);max-width:358px}
 .disclosure p{text-align:center;text-wrap:pretty}
 .disclosure a{color:rgba(255,255,255,.6)}
}

/* steps: horizontal carousel on mobile */
.sdots{display:none}
@media (max-width:700px){
 .steps-sec{gap:32px}
 .steps{display:flex!important;width:calc(100% + 32px);margin-inline:-16px;padding:0 16px;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .steps::-webkit-scrollbar{display:none}
 .steps .step{flex:0 0 384px;zoom:.78;scroll-snap-align:start;scroll-snap-stop:always}
 .steps::after{content:"";flex:0 0 4px}
 .steps.beats .step:not(.act){opacity:1}
 .sdots{display:flex;gap:6px;justify-content:center;margin-top:-12px}
 .sdots i{width:6px;height:6px;border-radius:999px;background:rgba(0,0,0,.14);transition:width .35s var(--ease-out),background .35s}
 .sdots i.on{width:18px;background:#000}
}

/* mobile stacked walkthrough */
.mwalk{display:none}
@media (max-width:700px){
 .mwalk{display:flex;flex-direction:column;align-items:center;gap:80px;padding-bottom:80px}
 .mw-item{display:flex;flex-direction:column;align-items:center;gap:32px;width:100%}
 .mw-first{margin-top:-8px}
 .mw-copy{text-align:center;display:flex;flex-direction:column;gap:16px;max-width:358px;opacity:0;transform:translateY(12px);filter:blur(6px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),filter .7s var(--ease-out)}
 .mw-copy.in{opacity:1;transform:none;filter:none}
 .mw-copy h2{margin:0;font-size:34px;line-height:1;letter-spacing:-.34px;font-weight:500}
 .mw-copy p{margin:0;font-size:18px;line-height:1.2;color:var(--text-tertiary);text-wrap:balance}
 .mw-copy p br{display:none}
 .mw-copy .hl{color:var(--text-primary);font-weight:500}
 .mw-stage{position:relative;width:282px;height:599px}
 .mw-stage>i{position:absolute;width:260px;height:320px;border-radius:50%;filter:blur(70px);pointer-events:none}
 .mw-g1{left:-70px;top:240px;background:linear-gradient(#ffa3ff,#fea57a 60%);opacity:.6;animation:drift1 9s ease-in-out infinite alternate}
 .mw-g2{right:-70px;top:150px;background:linear-gradient(#ffa3ff 40%,#fea57a);opacity:.5;animation:drift2 7.5s ease-in-out infinite alternate}
 .mw-phone{position:relative!important;left:0!important;top:0!important;transform:none!important;zoom:.6895;box-shadow:0 32px 64px rgba(230,120,90,.14),0 8px 24px rgba(230,120,90,.07)!important}
 .mw-phone .pcontent{transform:none!important}
 .js .mw-phone .statusbar{opacity:1!important}
 .devpin{margin-bottom:0}
 #beats{display:none!important}
}

/* steps carousel, Linear style: wide cards, next one peeks, native swipe with snap, no dots */
@media (max-width:700px){
 .steps .step{zoom:.849;scroll-snap-stop:normal}
 .steps{gap:12px;scroll-snap-type:x mandatory;justify-content:flex-start!important}
 .sdots{display:none!important}
}

/* mobile footer: single CTA up top, app download sits at the bottom */
@media (max-width:700px){
 .footer .fcta .btn-glow{width:auto;height:48px}
 .footer .fcta{max-width:none;width:auto}
 .fbottom .appstore{display:inline-flex;width:auto;height:auto;padding:4px 16px 4px 4px;margin-bottom:8px}
 .fbottom .appstore .aic{width:40px;height:40px}.fbottom .appstore .aic .appicon{transform:scale(.5)}
 .fbottom .appstore .t{flex:none}
}

/* mobile app card: same vibe as the desktop Get the app card */
@media (max-width:700px){
 .fbottom .appstore{position:relative;isolation:isolate;padding:10px 24px 10px 10px;gap:16px;border-radius:24px;background:rgba(0,0,0,.92);box-shadow:0 24px 48px rgba(0,0,0,.24),0 4px 12px rgba(0,0,0,.12);margin-bottom:16px}
 .fbottom .appstore::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--spin),rgba(255,255,255,.14),#a3d1ff 12%,#99f3f7 22%,#bff7af 32%,rgba(255,255,255,.14) 45%,rgba(255,255,255,.14) 60%,#ff9bd8 75%,#ffb38a 85%,rgba(255,255,255,.14));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ctaspin 8s linear infinite;opacity:.9;pointer-events:none}
 .fbottom .appstore::after{content:"";position:absolute;inset:8px;border-radius:inherit;z-index:-1;background:conic-gradient(from var(--spin),#a3d1ff,#bff7af,#ff9bd8,#ffb38a,#a3d1ff);filter:blur(24px);opacity:.28;animation:ctaspin 8s linear infinite}
 .fbottom .appstore .aic{width:56px;height:56px}.fbottom .appstore .aic .appicon{transform:scale(.7);border-radius:20px}
 .fbottom .appstore .t{gap:8px}.fbottom .appstore b{font-size:16px;letter-spacing:.32px;color:#fff}.fbottom .appstore small{font-size:13px;letter-spacing:.26px;color:rgba(255,255,255,.6)}
 .fbottom .appstore .chev{display:none}
}

/* mobile agents */
.mag{display:none}
@media (max-width:700px){
 .agents-sec>.fit{display:none!important}
 .agents-sec{gap:48px}
 .mag{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}
 .mag-icon{position:relative!important;left:auto!important;top:auto!important;width:240px;height:240px;zoom:.6;margin-bottom:24px}
 .mag-row{width:100%;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
 .mag-track{display:flex;gap:12px;width:max-content;padding-block:12px;animation:magx 36s linear infinite}
 .mag-row.rev .mag-track{animation-direction:reverse;animation-duration:42s}
 @keyframes magx{from{transform:translateX(0)}to{transform:translateX(-33.333%)}}
 .mag-chip{display:flex;align-items:center;gap:12px;height:56px;padding:0 20px 0 8px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--a-black-4),0 12px 24px rgba(0,0,0,.06),0 2px 6px rgba(0,0,0,.03)}
 .mag-chip .lg{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;overflow:hidden;background:var(--surface-secondary,#f4f4f4)}
 .mag-chip .lg img{width:24px!important;height:24px!important}
 .mag-chip .mt{display:flex;flex-direction:column;gap:4px}
 .mag-chip b{font-weight:500;font-size:14px;line-height:1;letter-spacing:.28px;color:var(--text-primary);white-space:nowrap}
 .mag-chip small{font-size:12px;line-height:1;letter-spacing:.24px;color:var(--text-tertiary);white-space:nowrap}
 .mag-chip small.on::before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;background:#7ad35b;margin-right:5px;vertical-align:1px}
}
@media (prefers-reduced-motion:reduce){.mag-track{animation:none}}

@media (max-width:700px){.mag{gap:0}.mag-track{padding-block:20px 28px}.mag-row+.mag-row{margin-top:-28px}}

/* facts icons: design system gradient dot (same as the Approve pill) instead of line icons */
@media (max-width:700px){
 .facts .fm svg{display:none!important}
 .facts .fm{gap:6px}
 .facts .fm::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:linear-gradient(135deg,#a3d1ff,#99f3f7 50%,#bff7af);box-shadow:0 0 0 2px rgba(153,243,247,.18)}
 .facts .fact{padding:0 8px!important}
}

/* facts on mobile: same idea as desktop (thin dividers, no icons), short headline only, no sub copy */
@media (max-width:700px){
 .facts .fm::before{display:none!important}
 .facts .fact{padding:0 12px!important}
 .facts .fact+.fact::before{content:"";display:block!important;position:absolute;left:0;top:15px;bottom:15px;width:1px;background:rgba(0,0,0,.1)}
 .facts .fm{font-size:13px}
}

@media (max-width:700px){
 .facts{padding:0 8px!important}
 .facts .fact{padding:0 14px!important}
 .facts .fact+.fact::before{top:50%!important;bottom:auto!important;height:14px;transform:translateY(-50%)}
 .facts .fm{font-size:13px;color:var(--text-tertiary)}
 .facts .fm em{font-style:normal;color:var(--text-primary)}
}
@media (max-width:374px){.facts .fact{padding:0 10px!important}}

/* mobile walkthrough rhythm: phone to copy 32, copy to next phone 64 */
@media (max-width:700px){
 .mwalk{gap:64px;padding-bottom:0}
 .mw-first{margin-top:-68px}
}

/* subtle glow behind stacked phones on mobile */
@media (max-width:700px){
 .mw-stage>i{width:170px;height:220px;filter:blur(56px)}
 .mw-g1{left:-36px;top:300px;opacity:.38}
 .mw-g2{right:-36px;left:auto;top:200px;opacity:.32}
}

/* no grey seam at the screen edge: push the blurred scrim past the clip so the blur never samples the bezel */
.cx-scrim{inset:0!important}

/* softer glows on every device */
.device-stack .glow .e1.gb{opacity:.5}
.device-stack .glow .e2.gb{opacity:.44}
.device-stack .glow .gt.gb{opacity:.45}
.device-stack.warm .glow .e1:not(.gb){opacity:.5}
.device-stack.warm .glow .e2:not(.gb){opacity:.44}
.device-stack.warm .glow .gt.gw{opacity:.45}
.device-stack.warm .glow .e1.gb,.device-stack.warm .glow .e2.gb,.device-stack.warm .glow .gt.gb{opacity:0}
.device-stack:not(.warm) .glow .e1:not(.gb),.device-stack:not(.warm) .glow .e2:not(.gb),.device-stack:not(.warm) .glow .gt.gw{opacity:0}
@media (max-width:700px){.mw-g1{opacity:.26}.mw-g2{opacity:.22}}

/* mobile section heads: one rhythm everywhere. Title to subtitle 16, head to content 32 */
@media (max-width:700px){
 .ctr,.split .txt,.unified .txt,.chat-sec .txt{gap:16px!important}
 .ctr>*,.split .txt>*{margin:0!important}
 .steps-sec,.agents-sec{gap:32px!important}
 .split{gap:32px!important}
}

@media (max-width:700px){
 .steps-sec,.agents-sec{gap:48px!important}
 .split{gap:48px!important}
 .chat-sec .split .txt{order:-1!important}
 .agents-sec .mag{margin-top:0}
}

/* ===== Mobile spacing system (Apple like). One scale only:
   16 title to subtitle · 32 subtitle to action, media to its copy · 48 head to media · 64 between stacked items · 96 between sections ===== */
@media (max-width:700px){
 .hero{padding-top:40px!important}
 .hero .copy{gap:16px!important}
 .hero .copy .hcta,.hero .hcta{margin-top:0!important}
 .devpin{margin-top:48px!important}
 .unified,.steps-sec,.chat-sec,.agents-sec{padding-block:48px!important}
 .ctr,.split .txt{gap:16px!important}
 .steps-sec,.agents-sec{gap:48px!important}
 .split{gap:48px!important}
 .mwalk{gap:64px!important;padding-bottom:48px!important}
 .mw-item{gap:32px!important}
 .mw-copy{gap:16px!important}
 .cta .surface{padding-block:48px!important}
 .cta .inner{padding-block:48px!important;gap:32px!important}
 .footer{padding:96px 16px 32px!important;gap:64px!important}
 .signoff{gap:48px!important}
 .fbottom{gap:24px!important;padding-top:48px!important}
}

@media (max-width:700px){
 .hero .copy .hcta,.hero .hcta{margin-top:-16px!important}
 .devpin{margin-top:0!important}
 .mag{margin-top:24px}
 .mag-icon{margin-bottom:16px!important}
 .cta .surface{padding-block:0 48px!important}
 .fbottom{gap:24px!important}.fbottom .appstore{margin-bottom:8px!important}
}

@media (max-width:700px){
 .mag-icon{display:none!important}
 .mag{margin-top:-20px!important}
 .mag-chip{border-radius:16px;height:64px;padding:0 20px 0 12px}
 .mag-chip .lg{border-radius:10px}
 .agents-sec{padding-top:24px!important}
}

.cta .l1 .ca{margin-left:.25em}
@media (max-width:700px){
 .cta .l1 .ca{flex-basis:100%;margin-left:0;text-align:center}
 .cta .d2xl{font-size:44px!important;line-height:1.05}
 .cta .l2{white-space:nowrap}
}

@media (max-width:700px){.cta .l1 .cm{margin-left:-10px}}

/* app card: black and white icon, gradient edge stays */
.fbottom .appstore .aic{background:#fff;border-radius:14px;overflow:hidden;position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 4px 12px rgba(0,0,0,.3)}
.fbottom .appstore .aic .appicon{display:none}
.fbottom .appstore .aic::after{content:"";position:absolute;inset:11px;background:url(../a/ai-symbol.svg) center/contain no-repeat;filter:brightness(0)}

/* mobile: Get the app floats at the bottom, only near the footer (same as desktop) */
@media (max-width:700px){
 .fbottom .appstore{position:fixed!important;left:50%;bottom:16px;z-index:60;margin:0!important;opacity:0;pointer-events:none;transform:translate(-50%,16px) scale(.96);transition:opacity .5s var(--ease-out),transform .6s cubic-bezier(.16,1,.3,1);white-space:nowrap}
 .fbottom .appstore.on{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
 .footer{padding-bottom:120px!important}
}

@media (max-width:700px){
 .mw-copy h2{font-size:28px;letter-spacing:-.28px}
 .mw-copy p{font-size:16px}
 .mw-copy{gap:12px!important}
 .cta .d2xl{font-size:40px!important}
}

/* mobile hero: more air */
@media (max-width:700px){
 .hero{padding-top:56px!important}
 .hero .copy{gap:24px!important}
 .hero .copy .hcta,.hero .hcta{margin-top:0!important}
 .devpin{margin-top:16px!important}
}

/* mobile: smaller logo, more air in the hero */
@media (max-width:700px){
 .nav:not(.pill) .logo{transform:scale(.75);transform-origin:left center}
 .hero{padding-top:80px!important}
 .hero .copy{gap:24px!important}
 .hero .copy .hcta,.hero .hcta{margin-top:8px!important}
 .devpin{margin-top:32px!important}
}

@media (max-width:700px){.nav:not(.pill) .btn-login{height:40px;padding:0 18px;font-size:14px}}

/* closing headline back to two lines on mobile */
@media (max-width:700px){
 .cta .l1 .ca{flex-basis:auto!important;margin-left:.25em!important}
 .cta .l1 .cm{margin-left:-10px}
 .cta .l1{flex-wrap:nowrap}
 .cta .d2xl{font-size:clamp(26px,8.2vw,40px)!important}
}
/* steps carousel: one full card at a time, never cut at the edge */
@media (max-width:700px){
 .steps{gap:16px!important;scroll-padding-inline:16px}
 .steps .step{zoom:var(--sz,.849)!important;scroll-snap-align:center!important}
 .steps::after{flex:0 0 1px}
 .sdots{display:flex!important;margin-top:-24px}
}

/* mobile footer: no divider, fits one screen */
@media (max-width:700px){
 .fbottom{border-top:0!important;padding-top:0!important;gap:20px!important}
 .footer{padding:64px 16px 112px!important;gap:48px!important;min-height:0!important}
 .signoff{gap:32px!important}
 .signoff .sym{width:88px!important;height:88px!important}
 .disclosure{font-size:9px!important;line-height:13px!important}
}

@media (max-width:700px){.nav.pill .in::before{background:rgba(255,255,255,.86)!important}}

/* mobile walkthrough copy: Apple style single block, headline and subheadline same size, tight to its phone */
@media (max-width:700px){
 .mwalk{gap:96px!important}
 .mw-item{gap:24px!important}
 .mw-first{margin-top:-56px!important}
 .mw-copy{display:block!important;max-width:326px;text-align:center}
 .mw-copy h2,.mw-copy p{display:inline;font-size:20px!important;line-height:1.3!important;letter-spacing:0!important;font-weight:500}
 .mw-copy h2{color:var(--text-primary)}
 .mw-copy h2 br{display:none}
 .mw-copy h2::after{content:" "}
 .mw-copy p{color:var(--text-tertiary)}
 .mw-copy .hl{color:var(--text-tertiary)!important}
}

@media (max-width:700px){.mw-copy{text-wrap:balance}}

.gcard,.gcard .amt{text-align:left}
@media (max-width:700px){
 .uni-visual .ucards{left:56px;top:50%;transform:translateY(-50%);width:396px}
 .uni-visual .ucards .gcard{zoom:1.2}
}

/* ===== Mobile spacing, final pass. Measured visually, one scale:
   16 title to subtitle · 24 media to its copy · 32 copy to button · 40 head to content · 64 button to media · 96 between sections ===== */
@media (max-width:700px){
 .hero .copy .hcta,.hero .hcta{margin-top:-16px!important}
 .devpin{margin-top:16px!important}
 .mw-first{margin-top:-76px!important}
 .mw-item{gap:22px!important}
 .mwalk{padding-bottom:8px!important}
 .steps-sec,.agents-sec,.split{gap:40px!important}
 .agents-sec{padding-top:48px!important;padding-bottom:20px!important}
 .mag-row+.mag-row{margin-top:-36px!important}
}

@media (max-width:700px){.mw-copy{max-width:358px!important}}

@media (max-width:700px){
 .uni-visual .ucards{left:40px!important;right:40px;width:auto!important;top:50%!important;transform:translateY(-50%)!important;gap:20px}
 .uni-visual .ucards .gcard{zoom:1!important;padding:40px;gap:72px}
 .uni-visual .gcard .h p{font-size:24px;white-space:nowrap}
 .uni-visual .gcard .amt{font-size:72px}
 .uni-visual .gcard .circle-w{transform:scale(1.3)}
}

/* Linear style: next card peeks on the right */
@media (max-width:700px){
 .steps{gap:12px!important}
 .steps .step{scroll-snap-align:start!important}
 .steps::after{flex:0 0 4px!important}
 .sdots{display:none!important}
}

/* more air between modules on mobile: 128 */
@media (max-width:700px){
 .unified,.steps-sec,.chat-sec{padding-block:64px!important}
 .agents-sec{padding-top:64px!important;padding-bottom:52px!important}
 .mwalk{padding-bottom:24px!important;gap:112px!important}
}

/* rim follows the card size; phone top buttons sit 24 from the screen edge before scroll */
.gcard .rim{width:auto!important;height:auto!important;right:-12px;bottom:-12px}

@media (max-width:700px){.steps .step .cap b{font-size:24px}.steps .step .cap small{font-size:19px}.steps .step .cap{gap:8px}}

@media (max-width:700px){.cta .l1 .cm{margin-left:-4px!important}}

@media (max-width:700px){.fbottom .appstore{width:calc(100% - 32px)!important;box-sizing:border-box}.fbottom .appstore .t{flex:1}}

/* clean screen edge: white highlight sits above the chat layer, hides the blur seam */
.phone .ring{z-index:200!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85),inset 0 0 0 3px rgba(255,255,255,.35)!important}

@media (max-width:700px){.steps .step .cap{top:auto!important;bottom:40px}}

/* mobile footer: one full black screen, more air */
@media (max-width:700px){
 .footer{min-height:100svh!important;box-sizing:border-box;justify-content:space-between!important;padding:96px 16px 128px!important;gap:64px!important}
 .signoff{gap:48px!important;flex:1;justify-content:center}
 .signoff .sym{width:96px!important;height:96px!important}
 .fbottom{gap:32px!important}
}

/* dock matches product: near solid white card, soft lift, no see-through */
.dock:not(.mini){border-color:rgba(0,0,0,.04);box-shadow:0 12px 32px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.8)}
.dock:not(.mini)::before{background:rgba(255,255,255,.9);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2)}

/* app card hugs its content again, centred */
@media (max-width:700px){.fbottom .appstore{width:auto!important}.fbottom .appstore .t{flex:none!important}}

/* no seam between closing section and footer: let the footer show through behind the rounded corners */
.cta{background:linear-gradient(var(--surface-primary) 50%,#000 50%)!important}

/* mobile nav: one smooth morph. Same height and insets in both states, logo clips to the symbol, buttons swap by width and fade */
@media (max-width:700px){
 .nav .in,.nav.pill .in{height:64px!important;padding:0 12px 0 16px!important;max-width:none!important;transition:none!important}
 .nav .in::before{transition:opacity .45s var(--ease-out)!important}
 .nav:not(.pill) .logo,.nav .logo{transform:none!important;width:87.4px!important;height:24px!important}
 .nav .lwrap{width:87.4px!important;height:24px!important;transition:width .5s var(--ease-out)!important}
 .nav.pill .lwrap{width:24px!important}
 .nav:not(.pill) .btn-early:not(.btn-login){display:inline-flex!important;max-width:0;padding-left:0!important;padding-right:0!important;margin-right:-8px;opacity:0;overflow:hidden;pointer-events:none}
 .nav .nav-actions .btn-early{white-space:nowrap;transition:max-width .5s var(--ease-out),padding .5s var(--ease-out),margin .5s var(--ease-out),opacity .35s ease!important}
 .nav.pill .btn-early:not(.btn-login){max-width:200px;opacity:1;pointer-events:auto}
 .nav .btn-early,.nav .btn-login{height:40px!important}
 .nav .btn-login{padding:0 18px;max-width:120px}
}

/* voice button: keep a full circle, never touching the bar edge */
.cx:not([data-s="2"]) .cx-pill{clip-path:inset(2px 2px 2px 221px round 22px)!important}
.cx-bar{overflow:visible}
/* step cards: clip with the shape itself so corners never square off */
.steps .step{clip-path:inset(0 round 24px)}

@media (max-width:700px){.fbottom .fcopy{margin-top:-16px}}

/* quiet scrollbar */
html{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.14) transparent}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,.14);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.28)}
@media (max-width:700px){html{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0}}
/* mobile nav: fixed height so nothing shifts during the morph */
@media (max-width:700px){.nav{height:80px!important}}

/* clip blurred layers to the screen shape (backdrop blur ignores rounded overflow) */
.phone .inner{clip-path:inset(0 round calc(var(--r-device) - 8px))}


/* mobile closing: big icon, then "can I afford", then the question */
@media (max-width:700px){
 .cta .l1{flex-direction:column!important;flex-wrap:nowrap!important;gap:0}
 .cta .l1>span:first-child,.cta .l1 .cm{display:none!important}
 .cta .l1 .miniicon{transform:none!important;margin:0 0 28px!important;padding:0!important;zoom:.8}
 .cta .l1 .ca{margin-left:0!important}
}

@media (max-width:700px){.cta .l1 .ca{display:block}.cta .l1 .ca::first-letter{text-transform:uppercase}.cta .l1 .miniicon{zoom:1!important;margin-bottom:32px!important}}

/* mobile nav, simplest: nothing moves. Logo stays, glass fades in, the two buttons crossfade in the same spot */
@media (max-width:700px){
 .nav .lwrap,.nav.pill .lwrap{width:87.4px!important;transition:none!important}
 .nav .nav-actions{position:relative;display:grid!important;justify-items:end;align-items:center}
 .nav .nav-actions>*{grid-area:1/1;margin:0!important}
 .nav .nav-actions .btn-early,.nav .nav-actions .btn-login{max-width:none!important;padding:0 18px!important;transition:opacity .35s ease!important;overflow:visible!important}
 .nav:not(.pill) .btn-early:not(.btn-login){opacity:0;pointer-events:none}
 .nav.pill .btn-early:not(.btn-login){opacity:1;pointer-events:auto}
 .nav .btn-login{opacity:1}
 .nav.pill .nav-actions .btn-login{opacity:0;pointer-events:none}
 .nav .in::before{transition:opacity .35s ease!important}
}

@media (min-width:701px){.nav.pill .in{max-width:480px!important}}

/* mobile: soft white fade behind the floating nav */
@media (max-width:700px){
 .nav::after{content:"";position:absolute;left:0;right:0;top:0;height:112px;z-index:-1;pointer-events:none;opacity:0;transition:opacity .35s ease;
  background:linear-gradient(#fff 0,rgba(255,255,255,.92) 45%,rgba(255,255,255,0));
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-mask-image:linear-gradient(#000 50%,transparent);mask-image:linear-gradient(#000 50%,transparent)}
 .nav.pill::after{opacity:1}
}

@media (max-width:700px){.nav::after{height:96px;background:linear-gradient(rgba(255,255,255,.85) 0,rgba(255,255,255,.55) 45%,rgba(255,255,255,0))!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}}

@media (max-width:700px){.nav::after{height:88px;background:linear-gradient(rgba(255,255,255,.6) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0))!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}

/* mobile nav button swap: one out, then the other in, soft blur, never both at once */
@media (max-width:700px){
 .nav .nav-actions .btn-login,.nav .nav-actions .btn-early{transition:opacity .2s ease,filter .2s ease,transform .2s ease!important;transform-origin:right center}
 .nav:not(.pill) .btn-early:not(.btn-login){opacity:0;filter:blur(6px);transform:scale(.96)}
 .nav.pill .btn-early:not(.btn-login){opacity:1;filter:none;transform:none;transition:opacity .3s ease .16s,filter .3s ease .16s,transform .35s cubic-bezier(.16,1,.3,1) .16s!important}
 .nav.pill .nav-actions .btn-login{opacity:0;filter:blur(6px);transform:scale(.96)}
 .nav:not(.pill) .nav-actions .btn-login{transition:opacity .3s ease .16s,filter .3s ease .16s,transform .35s cubic-bezier(.16,1,.3,1) .16s!important}
}

/* carousel: room above and below so the scroller never clips card edges; force rounded clipping in every engine */
@media (max-width:700px){
 .steps{padding-block:12px!important;margin-block:-12px!important}
 .steps .step{-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black);isolation:isolate;will-change:auto}
 .js .steps .rv-s{transform:none!important;transition:opacity 1.1s var(--ease-out)!important}
}

@media (max-width:700px){
 .cta .l1 .miniicon{zoom:1.25!important}
 .js .cta .l1 .miniicon{scale:.6;opacity:0;transition:scale 1s cubic-bezier(.34,1.56,.64,1),opacity .5s ease}
 .js .cta .l1 .miniicon.in{scale:1;opacity:1}
}

@media (max-width:700px){.js #phone .statusbar{opacity:1!important}#phone .pcontent{transform:none!important}}

/* mobile stacked phones: listening sheet grows to full height */

/* mobile nav CTA: one button that morphs. Width glides, labels crossfade in place */
@media (max-width:700px){
 .nav .nav-actions .btn-login{display:none!important}
 .nav .nav-actions .btn-early:not(.btn-login){display:inline-flex!important;opacity:1!important;filter:none!important;transform:none!important;pointer-events:auto!important;max-width:none!important;margin:0!important;padding:0!important;justify-content:center;overflow:hidden;white-space:nowrap;
  transition:width .55s cubic-bezier(.32,.72,0,1)!important}
 .btn-early .mx{display:inline-flex;align-items:center;gap:6px;padding:0 18px;transition:opacity .3s ease,filter .3s ease,transform .45s cubic-bezier(.32,.72,0,1)}
 .btn-early .mx .arr{margin:0!important}
 .btn-early .lgx{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .3s ease,filter .3s ease,transform .45s cubic-bezier(.32,.72,0,1)}
 .nav:not(.pill) .btn-early .mx{opacity:0;filter:blur(4px);transform:translateX(8px)}
 .nav.pill .btn-early .lgx{opacity:0;filter:blur(4px);transform:translateX(-8px)}
}

/* mobile hero glow: tighter around the phone, still drifting */
@media (max-width:700px){.device-stack .glow{scale:.62;transform-origin:50% 45%}}

/* mobile: zoom into the voice sheet, no empty space at the top */


/* mobile full sheet: bigger, taller voice */

/* mobile voice video: open on the voice alone, then zoom out to reveal the phone */
@media (max-width:700px){
 .chat-visual.snap .chatphone{transition:none}
}

/* mobile listening orb: sits higher, floats up and settles back down */

@keyframes orbfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-56px)}}


/* listening orb: same clip, plus a slow circular drift so it circulates within the taller panel */
@property --oa{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes orbcirc{to{--oa:360deg}}

.bdots{pointer-events:auto;z-index:5}
.bdots i{cursor:pointer;transition:background .25s}
.bdots i{box-sizing:content-box}
.bdots i::before{content:"";position:absolute;left:0;right:0;top:-10px;bottom:-10px}
.bdots i{overflow:visible}
.bdots i::after{overflow:hidden}
.bdots i:hover{background:rgba(0,0,0,.22)}
.bdots i:focus-visible{outline:2px solid #000;outline-offset:4px}


/* mobile pill: wordmark folds away into the symbol */
@media (max-width:700px){
 .nav .lwrap{overflow:hidden!important;transition:width .5s cubic-bezier(.32,.72,0,1)!important}
 .nav.pill .lwrap{width:24px!important}
 .nav .logo{transition:opacity .3s ease}
 .nav::after{display:block!important;content:""!important;opacity:0;height:96px!important;background:linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.4) 50%,rgba(255,255,255,0))!important}
 .nav.pill::after{opacity:1!important}
}

@media (max-width:700px){.footer{padding:120px 16px 128px!important;justify-content:center!important;gap:72px!important}.signoff{flex:0 0 auto!important}}


/* mini dock: orb centred on the tab bar, even gaps */
.dock.mini .miniorb{right:0;bottom:6px}
.dock.mini .tabbar{width:calc(100% - 60px)}



/* walkthrough product screens, each with a quick glimpse */
.prs{position:absolute;inset:0;z-index:40;pointer-events:none;border-radius:inherit;overflow:hidden}
.pr{position:absolute;inset:0;opacity:0;transform:translateY(28px) scale(.985);transition:opacity .45s ease,transform .7s cubic-bezier(.32,.72,0,1);overflow:hidden;background:#fff}
.pr.on{opacity:1;transform:none}
.pr.past{opacity:0;transform:translateY(-12px) scale(.99)}
.pr img{position:absolute;left:0;top:0;width:393px;height:852px;transition:transform .6s cubic-bezier(.32,.72,0,1),opacity .3s ease}
.pr .tap{position:absolute;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(0,0,0,.14);opacity:0;transform:scale(.4);pointer-events:none}
.pr.tapping .tap{animation:prtap .45s ease-out}
@keyframes prtap{0%{opacity:0;transform:scale(.4)}35%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.25)}}
@media (prefers-reduced-motion:reduce){.pr img,.pr{transition:none}}

.pr .row{position:absolute;left:0;right:0;height:80px;background:rgba(0,0,0,.05);opacity:0;z-index:9;pointer-events:none}

.pr img{visibility:hidden;transition:none}
.pr img.v{visibility:visible}
.pr .tap{z-index:10}

/* glow follows each product screen's tonality */
.device-stack .glow .tn{position:absolute;left:180px;top:60px;width:840px;height:620px;border-radius:50%;filter:blur(80px);opacity:0;transition:opacity .9s var(--ease-out);animation:drift2 9s ease-in-out infinite alternate;pointer-events:none}
.tn-green{background:radial-gradient(closest-side,#d6f8c4,#c9f2d6 55%,rgba(201,242,214,0))}
.tn-blue{background:radial-gradient(closest-side,#b7d3ff,#c5e0ff 50%,#d6dffc 76%,rgba(214,223,252,0))}
.tn-sky{background:radial-gradient(closest-side,#c3e2ff,#d2f6d2 60%,rgba(210,246,210,0))}
.device-stack[data-tone] .glow .gb,.device-stack[data-tone] .glow .gw,.device-stack[data-tone] .glow .e1,.device-stack[data-tone] .glow .e2{opacity:0!important}
.device-stack[data-tone="green"] .tn-green,.device-stack[data-tone="blue"] .tn-blue,.device-stack[data-tone="sky"] .tn-sky{opacity:.8}
.mw-pr-green .mw-g1,.mw-pr-green .mw-g2{background:linear-gradient(#d6f8c4,#c9f2d6)!important}
.mw-pr-blue .mw-g1{background:linear-gradient(#b7d3ff,#c5e0ff)!important}.mw-pr-blue .mw-g2{background:linear-gradient(#c5e0ff,#d6dffc)!important}
.mw-pr-sky .mw-g1,.mw-pr-sky .mw-g2{background:linear-gradient(#c3e2ff,#d2f6d2)!important}
.mw-pr-green .mw-g1,.mw-pr-blue .mw-g1,.mw-pr-sky .mw-g1,.mw-pr-green .mw-g2,.mw-pr-blue .mw-g2,.mw-pr-sky .mw-g2{opacity:.55!important}

/* screens: elements .s, tall scrolling details with sticky header and actions */
.pr .s{position:absolute;left:0;top:0;width:393px;height:852px;visibility:hidden;overflow:hidden;background:#fff}
.pr .s.v{visibility:visible}
.pr .scr .tall{position:absolute;left:0;top:0;width:393px;height:1378px}
.pr .stk-top{position:absolute;left:0;top:0;width:393px;height:116px;background:url(../a/pr-brief2.jpg) 0 0/393px 852px no-repeat;z-index:2}
.pr .stk-bot{position:absolute;left:0;bottom:0;width:393px;height:170px;background:url(../a/pr-brief2.jpg) 0 100%/393px 852px no-repeat;z-index:2}
.pr .press{position:absolute;left:0;width:393px;height:80px;z-index:9;opacity:0;pointer-events:none;background-repeat:no-repeat;background-size:393px 852px;border-radius:20px}
.pr .tap{width:36px;height:36px;margin:-18px 0 0 -18px;background:rgba(0,0,0,.08)}
.pr .row{display:none}

.pr .scr .tall{visibility:inherit}

/* transfer: $0 with keypad closed, then keypad opens */
.pr .kbs .kbtop{position:absolute;left:0;top:0;width:393px;height:852px;visibility:inherit;clip-path:inset(0 0 337px 0)}
.pr .kbs .kb{position:absolute;left:0;bottom:0;width:393px;height:337px;background:url(../a/pr-transfer0.jpg) 0 100%/393px 852px no-repeat;transform:translateY(100%)}

.pr .stk-top{height:152px!important;background:url(../a/pr-bdetail.jpg) 0 0/393px 1378px no-repeat!important}
.pr .stk-bot{height:190px!important;background:url(../a/pr-bdetail.jpg) 0 100%/393px 1378px no-repeat!important;-webkit-mask-image:linear-gradient(transparent,#000 40px);mask-image:linear-gradient(transparent,#000 40px)}

@media (min-width:701px){.beats .bt{white-space:nowrap}}

.pr .kbd .kbtop{clip-path:none}


/* smoother beat copy crossfade */.bt,.bp{filter:blur(4px)!important;transform:none!important;transition:opacity .6s cubic-bezier(.4,0,.2,1),filter .7s cubic-bezier(.4,0,.2,1)!important}.bt.on,.bp.on{filter:blur(0)!important;transition:opacity .9s cubic-bezier(.25,.1,.25,1) .18s,filter 1.1s cubic-bezier(.25,.1,.25,1) .18s!important}.bp.on{transition-delay:.26s!important}

.nt #devpin,.nt #devpin *{transition:none!important;animation-play-state:paused}

@media (max-width:700px){#hero .copy{margin-bottom:32px}}

@media (max-width:700px){#hero .copy{padding-inline:16px;box-sizing:border-box}}

@media (min-width:701px){#hero .copy{gap:24px!important}#hero .copy .hcta,#hero .hcta{margin-top:8px!important}}

@media (min-width:701px){#hero .secondary{gap:32px!important}#hero .copy .hcta,#hero .hcta{margin-top:0!important}}

/* tablet: use the mobile key facts pill */@media (min-width:701px) and (max-width:1000px){.facts{padding:8px;border-radius:24px}.fact{padding:10px 8px;gap:10px}.fi{width:36px;height:36px;border-radius:12px}.ft b{font-size:15px}.ft small{font-size:12px;white-space:normal}.fact{flex-direction:column;align-items:flex-start;padding:12px}.ft b{white-space:normal}.facts{bottom:12px}.fi{display:none}.fact{padding:10px 12px}.facts{background:rgba(255,255,255,.55)}.facts{display:flex!important;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:calc(100% - 32px)!important;max-width:358px;padding:0 4px!important;height:48px;border-radius:999px!important}.facts .fact{position:relative;flex:0 0 auto;flex-direction:row!important;padding:0 12px!important;border-top:0!important;gap:0}.facts .fact b,.facts .fact small{display:none!important}.facts .fm{display:block;font-size:14px;line-height:1;letter-spacing:.28px;color:var(--text-primary);white-space:nowrap}.facts .fm sup{font-size:9px;vertical-align:top;position:relative;top:-2px;margin-left:1px}.facts .fact::before{top:16px!important;bottom:16px!important;display:block!important}.facts .fact:first-child::before{display:none!important}.facts{width:auto!important;max-width:calc(100% - 32px);height:44px;padding:0 6px!important;gap:0;justify-content:center;background:rgba(255,255,255,.78)!important}.facts .fact{padding:0 9px!important}.facts .fact::before{display:none!important}.facts .fm{display:flex;align-items:center;gap:5px;font-size:13px;letter-spacing:.26px}.facts .fm svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:#3f9b2f;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.facts .fm svg circle{fill:#3f9b2f;stroke:none}.facts .fact{padding:0 7px!important}.facts .fm{gap:4px}.facts{padding:0 5px!important}.facts .fm svg{width:14px;height:14px}.facts .fm svg{display:none!important}.facts .fm{gap:6px}.facts .fm::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:linear-gradient(135deg,#a3d1ff,#99f3f7 50%,#bff7af);box-shadow:0 0 0 2px rgba(153,243,247,.18)}.facts .fact{padding:0 8px!important}.facts .fm::before{display:none!important}.facts .fact{padding:0 12px!important}.facts .fact+.fact::before{content:"";display:block!important;position:absolute;left:0;top:15px;bottom:15px;width:1px;background:rgba(0,0,0,.1)}.facts .fm{font-size:13px}.facts{padding:0 8px!important}.facts .fact{padding:0 14px!important}.facts .fact+.fact::before{top:50%!important;bottom:auto!important;height:14px;transform:translateY(-50%)}.facts .fm{font-size:13px;color:var(--text-tertiary)}.facts .fm em{font-style:normal;color:var(--text-primary)}}

/* a bit more depth on the phone */.phone{box-shadow:0 40px 80px rgba(74,160,60,.2),0 12px 32px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.05)}.device-stack.warm .phone{box-shadow:0 40px 80px rgba(230,120,90,.18),0 12px 32px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.05)}.mw-phone{box-shadow:0 40px 80px rgba(230,120,90,.18),0 12px 32px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.05)!important}

.pr .kbs .kbtop{clip-path:none!important}

/* waitlist modal: taller, black */
.modal .mcard{background:#0a0a0a;padding:72px 32px 48px;color:#fff;box-shadow:0 40px 80px rgba(0,0,0,.28),0 12px 32px rgba(0,0,0,.14)}
.modal .mstate{gap:40px}
.modal .mhead h3{color:#fff}.modal .mhead p,.modal .mlegal{color:rgba(255,255,255,.6)}
.modal .msym *{fill:#fff!important}
.modal .mclose{background:rgba(255,255,255,.12);color:#fff}
.modal .sso.apple{background:#fff!important;color:#000!important;border-color:#fff!important}
.modal .sso.google{background:#1c1c1e!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important}
.modal .s2 h3{color:#fff}.modal .s2 .okdot,.modal .s2 .okdot *{color:#1d6b0f!important}


.modal .msym{transform-origin:50% 50%;will-change:transform}

.modal .mswap{margin:-16px 0 0;font-size:14px;line-height:20px;letter-spacing:.28px;color:rgba(255,255,255,.6)}.modal .mswap a{color:#fff;text-decoration:underline;text-underline-offset:2px}.modal .mswap[hidden]{display:none}

/* waitlist + log in modal: match Figma v3 */
.modal .mcard{padding:120px 32px 48px}
.modal .mstate.s1{gap:80px}
.modal .s1 .mhead{gap:16px}
.modal .s1 .mhead .msym{width:76px;height:76px;margin-bottom:32px}
.modal .mlegal{font-size:12px;line-height:18px}
.modal .mswap{margin:-56px 0 0!important}


.modal .sso:focus{outline:none!important;box-shadow:none!important}.modal .sso:focus-visible{outline:2px solid rgba(255,255,255,.6)!important;outline-offset:3px}

.modal .mcard:focus{outline:none}

/* rounder progress dashes */.bdots i{height:4px;border-radius:999px}.bdots i::after{transform:none!important;right:auto;width:calc(var(--f,0) * 100%);border-radius:999px}

@media (min-width:701px){.signoff .sym{width:clamp(200px,calc(32vh - 88px),400px)!important;height:clamp(200px,calc(32vh - 88px),400px)!important}.signoff{gap:clamp(40px,calc(8vh - 32px),80px)!important}}

/* progress dashes at true size (4 x 12, current 40, gap 6) regardless of the stage zoom */.beats .bdots{gap:calc(6px * var(--iz,1))!important}.beats .bdots i{width:calc(12px * var(--iz,1));height:calc(4px * var(--iz,1));border-radius:999px}.beats .bdots i.cur{width:calc(40px * var(--iz,1))}

/* live amount on the transfer keypad (Wise style digit entry) */
.pr .amt{position:absolute;left:16px;top:var(--amt-top,166px);display:flex;align-items:baseline;font-family:'Neue Montreal',sans-serif;font-weight:500;font-size:80px;line-height:1;letter-spacing:var(--amt-ls,0px);color:#000;white-space:nowrap;z-index:2;pointer-events:none}
.pr .amt.done{top:calc(var(--amt-top,166px) + 24px)}
.pr .amt .adig{display:inline-flex;overflow:visible;position:relative}
.pr .amt .ad{display:inline-block;will-change:transform,opacity,filter}
.pr .amt .caret{display:inline-block;width:3px;height:.78em;margin-left:4px;align-self:center;border-radius:2px;background:#e3e3e3;animation:caretb 1s steps(1) infinite}
@keyframes caretb{50%{opacity:0}}


@media (min-width:1441px){#hero h1.d2xl{font-size:clamp(80px,calc(80px + (100vw - 1440px) * .1),96px)!important}}

.pr .kbs .kb2{background-image:url(../a/pr-transfer.jpg);transform:none;opacity:0;transform-origin:50% 80%}

.pr .kbs .kbtop{clip-path:inset(150px 0 0 0)!important}.pr .kbs .kbhdr{position:absolute;left:0;top:0;width:393px;height:852px;visibility:inherit;clip-path:inset(0 0 702px 0);z-index:1}.pr .kbs .amt{z-index:2}

.pr .amt .acur{display:inline-block;opacity:1}

@media (min-width:701px){.signoff .sym{width:clamp(260px,calc(40vh - 60px),480px)!important;height:clamp(260px,calc(40vh - 60px),480px)!important}}

@media (max-width:700px){.mw-item{gap:40px!important}.mw-first{margin-top:calc(-56px - 3px)!important}}

@media (max-width:700px){.agents-sec{padding-top:64px!important;padding-bottom:64px!important;gap:48px!important}.agents-sec .mag{margin-top:0!important}}

@media (max-width:700px){.nav.pill .lwrap{margin-left:8px}.signoff .sym{width:160px!important;height:160px!important}}

@media (max-width:700px){#hero{padding-bottom:0!important}}

@media (max-width:700px){.nav.pill .lwrap{width:32px!important;margin-left:4px!important}.nav.pill .lwrap .logo{height:32px!important;width:auto!important;max-width:none!important}}

@media (max-width:700px){.nav.pill .lwrap{height:32px!important;display:flex!important;align-items:center;align-self:center}}

.mwb{position:absolute;inset:0;z-index:80;border-radius:inherit;overflow:hidden;background:#fff}.mwb>img,.mwb>.mwbd{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}.mwb>.on{opacity:1}.mwb>img:first-child{opacity:1}.mwbd{overflow:hidden}.mwbd img{width:100%;display:block;transition:transform 2.6s cubic-bezier(.45,0,.2,1)}

.pr .amt .acur{display:none!important}.pr .amt .adig::before{content:"$";display:inline-block;color:#000!important;-webkit-text-fill-color:#000;opacity:1!important;visibility:visible!important}


/* ===== Next: client direction ===== */
#top{position:relative}
.hwash{position:absolute;z-index:-1;top:0;left:0;right:0;height:max(100vh,900px);pointer-events:none;opacity:.8;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 36%,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 36%,#000 72%,transparent 100%)}
.hwash i{position:absolute;border-radius:50%}
.hwash .w1{left:-22%;top:20%;width:62vw;height:62vw;background:radial-gradient(closest-side,#8fdbf9,rgba(143,219,249,0))}
.hwash .w2{left:25%;top:34%;width:50vw;height:36vw;background:radial-gradient(closest-side,rgba(201,184,255,.7),rgba(201,184,255,0))}
.hwash .w3{right:-22%;top:20%;width:62vw;height:62vw;background:radial-gradient(closest-side,#bff7af,rgba(191,247,175,0))}
.device-stack .glow{opacity:.4}
.device-stack[data-tone="blue"] .tn-blue{opacity:1!important}.device-stack[data-tone="blue"] .tn-sky{opacity:.6!important}
/* nav */
.nav .btn-early:not(.btn-login){color:#fff}
.nav .btn-early:not(.btn-login) .face{background:#000}
.nav .btn-early:not(.btn-login) .g1{inset:-1px -1px -6px -1px;background:linear-gradient(calc(205deg + var(--spin)),#daffa9 50%,#ff9b9b 82%);filter:blur(9px);opacity:1}
.nav .btn-early:not(.btn-login) .g2{inset:-2px -2px -3px -2px;background:linear-gradient(calc(180deg + var(--spin)),#8fdbf9,#d5ffcb);filter:blur(2px)}
.nav .btn-login{color:var(--text-primary)}
@media (min-width:701px){#hero .hcta .btn-glow{height:64px;padding:0 40px;font-size:18px;letter-spacing:.36px}#hero .hcta .btn-glow .b1{height:70px}#hero .hcta .btn-glow .b2{height:67px}}
/* key facts under the CTA */
@media (min-width:701px){
.factsfade{display:none!important}
.facts.infl{position:relative!important;left:auto!important;bottom:auto!important;margin:16px auto 0!important;width:max-content!important;max-width:calc(100vw - 32px)!important;height:auto!important;padding:8px!important;border-radius:999px!important;display:flex!important;justify-content:center;background:rgba(255,255,255,.9)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.08)!important;z-index:5;pointer-events:auto!important}
.js .facts.infl{opacity:0!important;transform:translateY(24px)!important;transition:opacity 1s var(--ease-out) .74s,transform 1.1s var(--ease-out) .74s!important}
.js .hero.on .facts.infl{opacity:1!important;transform:none!important}
.facts.infl .fm{display:none!important}
.facts.infl .fact{flex:0 0 auto!important;width:auto!important;min-width:0!important;display:flex;flex-direction:column!important;align-items:center!important;gap:8px!important;padding:12px 24px!important;border-top:0!important;text-align:center;white-space:nowrap}
.facts.infl .fact b{display:block!important;font-size:16px!important;letter-spacing:.32px!important;line-height:1!important}
.facts.infl .fact small{display:block!important;font-size:13px!important;letter-spacing:.26px!important;line-height:1!important}
.facts.infl .fact::before{display:block!important;top:50%!important;bottom:auto!important;height:24px!important;transform:translateY(-50%)!important;background:rgba(0,0,0,.1)!important}
.facts.infl .fact:first-child::before{display:none!important}
}
@media (min-width:701px) and (max-width:1000px){.facts.infl .fact{padding:12px 16px!important}}
@media (prefers-reduced-motion:reduce){.js .facts.infl{opacity:1!important;transform:none!important}}
/* Get the app: bottom right, white, glow behind; dark over the dark end */
@media (min-width:701px){.qrfloat{bottom:32px!important;top:auto!important;right:32px!important;left:auto!important}}
.qrfloat .qrx{display:none!important}
.qrfloat::before{content:"";position:absolute;inset:4px 8px;border-radius:28px;z-index:-1;pointer-events:none;background:conic-gradient(#a3d1ff,#bff7af,#ff9bd8,#ffb38a,#a3d1ff);filter:blur(24px);opacity:.9;transition:opacity .4s ease}
.qrfloat .qrcard::after{opacity:0!important}
.qrfloat .qrcard::before{padding:1.5px!important}
.qrfloat .qrcard,.qrfloat b,.qrfloat small{transition:background-color .4s ease,color .4s ease,box-shadow .4s ease}
html:not(.qrdark) .qrfloat .qrcard{background:rgba(255,255,255,.94)!important;color:var(--text-primary)!important;box-shadow:0 8px 24px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04)!important}
html:not(.qrdark) .qrfloat b{color:var(--text-primary)!important}
html:not(.qrdark) .qrfloat small{color:var(--text-tertiary)!important}
html:not(.qrdark) .qrfloat .qr{box-shadow:none!important}
html.qrdark .qrfloat .qrcard{background:#0b0b0b!important}
html.qrdark .qrfloat::before{opacity:.75}
/* chat sheet glow */
.cx-bg i{filter:blur(34px) saturate(1.45)!important}
.cx[data-s="1"] .g-peach,.cx[data-s="1"] .g-pink,.cx[data-s="1"] .g-lilac,.cx[data-s="2"] .g-pink,.cx[data-s="2"] .g-lilac,.cx[data-s="3"] .g-peach,.cx[data-s="3"] .g-pink,.cx[data-s="3"] .g-lilac,.cx[data-s="4"] .g-pink,.cx[data-s="4"] .g-lilac{opacity:1!important}
.cx[data-s="2"] .g-peach,.cx[data-s="4"] .g-peach{opacity:.95!important}


.js #top .hwash{opacity:0;transition:opacity 1.6s cubic-bezier(.16,1,.3,1) .2s}.js #top:has(.hero.on) .hwash{opacity:.8}@media (prefers-reduced-motion:reduce){.js #top .hwash{opacity:.8}}

.btn-glow .p,.btn-glow .b1,.btn-glow .b2{transition:filter .4s linear}.btn-glow .p{filter:blur(9px) hue-rotate(var(--hr,0deg))!important}.btn-glow .b1,.btn-glow .b2{filter:blur(2px) hue-rotate(var(--hr,0deg))!important}.acard .btn-glow .p{filter:blur(16px) hue-rotate(var(--hr,0deg))!important}.acard .btn-glow .b1,.acard .btn-glow .b2{filter:blur(3px) hue-rotate(var(--hr,0deg))!important}


.sph-comp{position:absolute;left:50%;top:0;width:1440px;transform:translateX(-50%) scale(var(--bs,1));transform-origin:50% 0;perspective:2000px;pointer-events:none}
.sph-ball{position:absolute;left:720px;top:50%;width:0;height:0;transform-style:preserve-3d}
.sph-card{position:absolute;will-change:transform,opacity}
.sph-card img{display:block;width:100%;height:100%;filter:drop-shadow(0 24px 48px rgba(0,0,0,.10))}
.sph-card.bl img{filter:blur(24px)}
.sph-comp.static{perspective:none}.st-card .stg{position:absolute;left:8%;right:8%;bottom:-8%;height:38%;border-radius:50%;background:linear-gradient(90deg,var(--g1),var(--g2));filter:blur(40px) saturate(1.2);opacity:.45;z-index:-1;animation:stglow 6s ease-in-out infinite alternate;animation-delay:calc(var(--k)*-1.1s)}.st-card.bl .stg{display:none}@keyframes stglow{from{opacity:.3;scale:.92}to{opacity:.55;scale:1.06}}.st-card{opacity:0;scale:.6;translate:0 calc(var(--py,0px) + 80px);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),scale 1.6s cubic-bezier(.16,1,.3,1),translate 1.2s cubic-bezier(.16,1,.3,1);transition-delay:0s}.sph-comp .st-card.in{opacity:var(--o);scale:1;translate:0 var(--py,0px)}.sph-comp .st-card.in.settled{transition:opacity 1s,scale 1.2s,translate .12s linear}.st-card img{border-radius:var(--rr,48px);animation:stfloat var(--fd) ease-in-out infinite alternate;animation-delay:calc(var(--k)*-1.3s)}@keyframes stfloat{from{transform:translate3d(0,-8px,0) rotate(-.4deg)}to{transform:translate3d(0,8px,0) rotate(.4deg)}}@media (prefers-reduced-motion:reduce){.st-card{opacity:var(--o)!important;scale:1!important;translate:none!important}.st-card img{animation:none}}.st-card{position:absolute}.st-card img{display:block;width:100%;height:100%;filter:drop-shadow(0 24px 48px color-mix(in srgb,var(--g1,#000) 22%,transparent))}.st-card.bl img{filter:blur(28px) saturate(1.4) brightness(1.08)}
.sph-card.glass{border-radius:48px;background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.35));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 24px 48px rgba(0,0,0,.06)}
.sphx{position:relative;overflow-x:clip;overflow-y:visible;background:#fff;height:calc(1144px*var(--bs,1))}.bighero{overflow-x:clip!important;overflow-y:visible!important}


.device-stack.warm .glow .e1:not(.gb){opacity:.62}.device-stack.warm .glow .e2:not(.gb){opacity:.56}.device-stack.warm .glow .gt.gw{opacity:.56}

@keyframes earlyIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.nav:not(.pill) .nav-actions .btn-early:not(.btn-login){display:none!important}.nav.pill .nav-actions .btn-early:not(.btn-login){max-width:none!important;opacity:1;overflow:visible;pointer-events:auto;animation:earlyIn .4s var(--ease-out) both}

@media (min-width:701px){.cta .inner .btn-glow{height:64px;padding:0 40px;font-size:18px;letter-spacing:.36px}.cta .inner .btn-glow .b1{height:70px}.cta .inner .btn-glow .b2{height:67px}}

.nav.pill .in::before{background:rgba(255,255,255,.97)!important}

@property --auto{syntax:"<angle>";inherits:true;initial-value:0deg}@keyframes glowSpin{to{--auto:360deg}}@keyframes glowBreath{0%{opacity:.7;transform:scale(.98)}100%{opacity:1;transform:scale(1.03)}}.btn-glow{animation:glowSpin 6s linear infinite}.btn-glow .p{background:linear-gradient(calc(205.34deg + var(--spin,0deg) + var(--auto)),#daffa9 50.5%,#ff9b9b 81.57%)!important;animation:glowBreath 2.4s ease-in-out infinite alternate}.btn-glow .b1{background:linear-gradient(calc(187.43deg + var(--spin,0deg) + var(--auto)),#daffa9 41.26%,#d09bff 84.17%)!important}.btn-glow .b2{background:linear-gradient(calc(180deg + var(--spin,0deg) + var(--auto)),#8fdbf9,#d5ffcb)!important}@media (prefers-reduced-motion:reduce){.btn-glow,.btn-glow .p{animation:none}}

:root{--cw:1280px}@media (min-width:1601px){:root{--cw:min(calc(100vw - 400px),1600px)}}

@media (min-width:701px){.fcta .btn-glow{height:64px!important;padding:0 40px!important;font-size:18px!important;letter-spacing:.36px!important}.fcta .btn-glow .b1{height:70px!important}.fcta .btn-glow .b2{height:67px!important}}

@media (min-width:1601px){#hero.hero{padding-top:136px!important}#hero .copy{gap:32px!important}#hero .copy .hcta{margin-top:8px!important}#hero .facts{margin-top:40px!important}#hero .facts .fact{padding:32px 48px!important}}

.cta .l2{min-height:1lh}.cta .caret.c1{display:none}.cta .hl.t1 .caret.c1{display:inline-block}.cta .hl.t1 .l2 .caret{visibility:hidden}

.storywrap .story.s21{transform:scale(var(--ss,.8));transform-origin:50% 0;will-change:transform}

@media (min-width:701px){.cta .hl{gap:12px}}@media (min-width:701px) and (max-width:1600px){#hero h1.d2xl{font-size:clamp(44px,4.44vw,64px)!important}.cta .hl{zoom:.8334}}@media (min-width:1601px){.cta .hl{zoom:1.25;gap:16px}#hero h1.d2xl{font-size:clamp(72px,5vw,120px)!important}#hero .copy .heading-m{font-size:30px!important;line-height:1.2!important}}

:root{--ease-overshoot:linear(0, .255, .4449, .6018, .7355, .8513, .9525, 1.0413, 1.1195, 1.1881, 1.2484, 1.3011, 1.3468, 1.3862, 1.4198, 1.4479, 1.4709, 1.4892, 1.503, 1.5126, 1.5182, 1.52, 1.5189, 1.5156, 1.5101, 1.5025, 1.4929, 1.4817, 1.469, 1.4552, 1.4406, 1.4254, 1.4099, 1.3943, 1.3787, 1.3633, 1.3481, 1.3333, 1.3188, 1.3048, 1.2912, 1.278, 1.2653, 1.253, 1.2412, 1.2298, 1.2188, 1.2083, 1.1981, 1.1883, 1.1789, 1.1698, 1.1611, 1.1528, 1.1447, 1.137, 1.1296, 1.1225, 1.1156, 1.1091, 1.1028, 1.0967, 1.0909, 1.0854, 1.0801, 1.075, 1.0701, 1.0654, 1.061, 1.0567, 1.0526, 1.0488, 1.0451, 1.0415, 1.0382, 1.035, 1.032, 1.0292, 1.0265, 1.0239, 1.0215, 1.0193, 1.0172, 1.0152, 1.0134, 1.0117, 1.0101, 1.0086, 1.0073, 1.0061, 1.005, 1.004, 1.0032, 1.0024, 1.0018, 1.0012, 1.0008, 1.0004, 1.0002, 1, 1)}.btn-glow,.btn-early{scale:1;transition:scale .3s var(--ease-overshoot),transform .3s var(--ease),opacity .3s ease,filter .3s ease!important}@media (hover:hover){.btn-glow:hover,.btn-early:hover{scale:1.05;transition:scale .6s var(--ease-overshoot),transform .3s var(--ease),opacity .3s ease,filter .3s ease!important}}.btn-glow:active,.btn-early:active{scale:.9!important;transform:none!important;transition:scale .1s linear!important}.js .btn-glow.pre{scale:0}.js .btn-glow.pop{scale:1;transition:scale .8s cubic-bezier(.33,1.42,.05,.96) .2s,transform .3s var(--ease)!important}@media (prefers-reduced-motion:reduce){.btn-glow,.btn-early{transition:none!important}.js .btn-glow.pre{scale:1}}

.btn-glow,.btn-glow .p{animation-play-state:paused!important}@media (hover:hover){.btn-glow:hover,.btn-glow:hover .p{animation-play-state:running!important}}.btn-glow .face{box-shadow:none!important}.btn-glow .p{opacity:.9!important}


@media (min-width:701px) and (max-width:1600px){#hero h1.d2xl{font-size:clamp(44px,4.44vw,64px)!important}}
@media (min-width:1601px){#hero h1.d2xl{font-size:clamp(72px,5vw,120px)!important}}
/* desktop type: compact up to 1600, large only on very big screens */
@media (min-width:701px) and (max-width:1600px){#hero .copy .heading-m{font-size:clamp(16px,1.25vw,20px)!important}}
@media (min-width:1601px){#hero .copy .heading-m{font-size:clamp(24px,1.25vw,30px)!important}}
/* hero CTA: no entrance, never faded/grey */
#hero .hcta,.js #hero .hcta.rv{filter:none!important;transition:none!important;transition-delay:0s!important;transform:none!important;opacity:1}
.js #hero:not(.on) .hcta{opacity:0!important;visibility:hidden}
@keyframes heroCtaIn{0%{opacity:0;scale:.7;translate:0 16px}10%{opacity:1}100%{opacity:1;scale:1;translate:0 0}}
.js #hero.on .hcta{animation:heroCtaIn .8s var(--ease-overshoot,cubic-bezier(.34,1.56,.64,1)) .95s both}
@media (prefers-reduced-motion:reduce){.js #hero.on .hcta{animation:none}}
#hero .hcta .btn-glow .face{background:#000!important}#hero .hcta .btn-glow span{color:#fff!important;opacity:1!important}
/* CTA hover */
@media (hover:hover){.hcta .btn-glow{transition:scale .6s var(--ease-overshoot),transform .3s var(--ease)!important}.hcta .btn-glow:hover{scale:1.05}.hcta .btn-glow .p{transition:filter .4s ease,opacity .4s ease,inset .4s ease}.hcta .btn-glow:hover .p{filter:blur(14px)!important;opacity:1!important}.hcta .btn-glow:hover,.hcta .btn-glow:hover .p{animation-play-state:running!important}}
.hcta .btn-glow:active{scale:.94!important}
/* hero CTA glow always animating */
#hero .hcta .btn-glow,#hero .hcta .btn-glow .p{animation-play-state:running!important}
