/* Wally landing — Graphite tokens from design.css, plus a few stage-only ones. */
:root{--lp-glow:rgba(79,211,143,.15);--lp-glow-2:rgba(38,161,123,.09);--lp-grid:rgba(255,255,255,.035);--lp-phone:#0c0c0e;--lp-phone-edge:#2c2c31;--lp-phone-back:#050506;
  --lp-coin-edge:#006b6b;--lp-trx-edge:#9e0019;--lp-float-shadow:0 0 0 1px var(--line-strong),0 28px 60px -24px rgba(0,0,0,.7);--lp-hl:rgba(255,255,255,.055);
  --lp-chat:#0f0f11;--lp-dot:rgba(255,255,255,.035);--lp-header:rgba(10,10,11,.7)}
:root[data-theme=light]{--lp-glow:rgba(19,149,90,.12);--lp-glow-2:rgba(38,161,123,.08);--lp-grid:rgba(10,10,12,.045);--lp-phone:#0c0c0e;--lp-phone-edge:#3a3a40;--lp-phone-back:#1a1a1d;
  --lp-float-shadow:0 0 0 1px var(--line),0 24px 50px -22px rgba(20,20,30,.28);--lp-hl:rgba(0,0,0,.035);--lp-chat:#ecece9;--lp-dot:rgba(10,10,12,.045);--lp-header:rgba(243,243,241,.74)}

html{scroll-behavior:smooth;scroll-padding-top:84px}
.lp{overflow-x:clip;font-size:16px}
.lp main{display:block}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.lp section{position:relative;padding-block:clamp(64px,8vw,112px)}
.eyebrow{font-size:12.5px;font-weight:620;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);margin:0 0 16px}
.title{font-size:clamp(30px,4.3vw,54px);line-height:1.04;letter-spacing:-.045em;font-weight:650;text-wrap:balance;max-width:19ch}
.dim{color:var(--text-3)}
.lp h3{font-size:19px;line-height:1.25;font-weight:630;letter-spacing:-.02em}
.lp p{text-wrap:pretty}
code{font-family:var(--mono);font-size:.9em;letter-spacing:-.01em}

/* Header */
.lp-header{position:fixed;inset:0 0 auto;z-index:40;padding-top:env(safe-area-inset-top,0px);background:var(--lp-header);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 1px 0 var(--line);transition:background .3s}
.lp-header-in{display:flex;align-items:center;gap:28px;height:64px;max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.lp .brand-mark path{stroke:var(--bg)}
.lp-nav{display:flex;gap:4px;margin-left:auto}
.lp-nav a{padding:8px 12px;border-radius:99px;font-size:14px;font-weight:540;color:var(--text-2);transition:color .2s,background .2s}
.lp-nav a:hover{color:var(--text);background:var(--elev-1)}
.lp-cta-sm{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:99px;background:var(--primary);color:var(--on-primary);font-size:14px;font-weight:620;transition:transform .2s var(--spring)}
.lp-cta-sm:active{transform:scale(.96)}
.lp-header-in>.header-actions{order:1;margin-left:0;margin-right:-16px}.lp-cta-sm{order:2}
.lp .language-control{height:40px;background:var(--elev-1);box-shadow:0 0 0 1px var(--line);color:var(--text)}
.nav-live{display:inline-flex;align-items:center;gap:7px}
.nav-live i{width:6px;height:6px;border-radius:50%;background:var(--positive)}

/* Hero */
.hero{min-height:100svh;display:flex;align-items:center;padding-top:calc(96px + env(safe-area-inset-top,0px))!important;padding-bottom:64px!important;overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--lp-grid) 1px,transparent 1px),linear-gradient(90deg,var(--lp-grid) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 70% 45%,#000 20%,transparent 75%);pointer-events:none}
.hero:after{content:'';position:absolute;width:900px;height:900px;right:-220px;top:50%;transform:translateY(-50%);background:radial-gradient(circle,var(--lp-glow),transparent 62%);pointer-events:none}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:40px;align-items:center;width:100%}
.hero-copy{display:grid;gap:24px;justify-items:start;min-width:0}
.live-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px 0 11px;border-radius:99px;background:var(--elev-1);box-shadow:0 0 0 1px var(--line);font-size:13px;font-weight:540;color:var(--text-2);font-variant-numeric:tabular-nums;animation:rise .6s var(--ease) both}
.live-chip i{width:7px;height:7px;border-radius:50%;background:var(--positive);box-shadow:0 0 0 0 var(--positive);animation:beacon 2.6s var(--ease) infinite}
.hero-title{font-size:clamp(40px,4.7vw,64px);line-height:.98;letter-spacing:-.055em;font-weight:680;text-wrap:balance}
.hero-title .line{display:block;animation:rise .8s var(--ease) both}
.hero-title .line:nth-child(2){animation-delay:.07s}.hero-title .line:nth-child(3){animation-delay:.14s}
.hero-lede{font-size:clamp(17px,1.5vw,19px);line-height:1.55;color:var(--text-2);max-width:54ch;animation:rise .8s .2s var(--ease) both}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;animation:rise .8s .26s var(--ease) both}
.hero-cta{min-height:56px;padding:0 26px;font-size:16.5px}
.hero-actions .quiet{min-height:56px}
.hero-note{font-size:13.5px;color:var(--text-3);margin-top:-10px;animation:rise .8s .3s var(--ease) both}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:14px 0 0;padding-top:24px;border-top:1px solid var(--line);width:100%;max-width:600px;animation:rise .8s .36s var(--ease) both}
.hero-stats dt{font-size:26px;font-weight:660;letter-spacing:-.04em}
.hero-stats dd{margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--text-2)}

/* Hero 3D stage */
.hero-stage{position:relative;height:680px;perspective:1500px;perspective-origin:50% 40%;animation:fade 1s .15s var(--ease) both}
.rig{position:absolute;left:50%;top:50%;width:300px;height:620px;margin:-310px 0 0 -150px;transform-style:preserve-3d;
  transform:rotateX(var(--rx,7deg)) rotateY(var(--ry,-20deg)) rotateZ(var(--rz,2deg))}
.halo{position:absolute;inset:-120px;border-radius:50%;background:radial-gradient(circle,var(--lp-glow-2),transparent 60%);transform:translateZ(-120px)}
.phone{position:absolute;inset:0;border-radius:50px;background:var(--lp-phone);padding:11px;transform-style:preserve-3d;
  box-shadow:inset 0 0 0 1.5px var(--lp-phone-edge),inset 0 0 0 5px var(--lp-phone),0 60px 120px -40px rgba(0,0,0,.65)}
.phone-back{position:absolute;inset:0;border-radius:50px;background:var(--lp-phone-back);transform:translateZ(-14px);box-shadow:0 0 0 1px var(--lp-phone-edge)}
.phone-back:after{content:'';position:absolute;inset:0;border-radius:50px;background:var(--lp-phone-back);transform:translateZ(7px);box-shadow:0 0 0 1px var(--lp-phone-edge)}
.phone-screen{position:relative;height:100%;border-radius:40px;background:var(--bg);overflow:hidden;padding:50px 16px 0;transform:translateZ(1px);display:flex;flex-direction:column}
.m-island{position:absolute;top:11px;left:50%;width:92px;height:27px;margin-left:-46px;border-radius:99px;background:#000}
.m-top{display:flex;align-items:center;gap:8px}
.m-mark{width:24px;height:24px;color:var(--text)}.m-mark path{stroke:var(--bg)}
.m-top b{font-size:16px;font-weight:660;letter-spacing:-.04em}
.m-pill{margin-left:auto;display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:99px;background:var(--elev-1);font-size:11px;font-weight:560;color:var(--text-2)}
.m-pill i{width:5px;height:5px;border-radius:50%;background:var(--positive)}
.m-balance{display:grid;gap:3px;margin:22px 0 16px}
.m-balance small{font-size:12px;color:var(--text-3)}
.m-balance b{font-size:31px;font-weight:660;letter-spacing:-.045em;line-height:1.05;font-variant-numeric:tabular-nums}
.m-balance b i{font-style:normal;font-size:14px;font-weight:560;color:var(--text-2);margin-left:6px;letter-spacing:-.01em}
.m-balance em{font-style:normal;font-size:12px;font-weight:560;color:var(--positive)}
.m-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.m-actions span{display:flex;align-items:center;justify-content:center;gap:6px;height:44px;border-radius:15px;background:var(--elev-1);font-size:12.5px;font-weight:600}
.m-actions svg,.m-nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.m-head{display:flex;align-items:center;gap:6px;margin:20px 2px 8px;font-size:13px;font-weight:620}
.m-head span{font-size:11px;padding:1px 7px;border-radius:99px;background:var(--elev-2);color:var(--text-2)}
.m-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.m-list li{display:flex;align-items:center;gap:10px;padding:8px;border-radius:15px;transition:background .5s var(--ease),transform .5s var(--spring)}
.m-list li div{flex:1;min-width:0;display:grid}
.m-list b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-list small{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-list em{flex:none;font-style:normal;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.m-list li.hit{background:var(--positive-soft);transform:scale(1.02)}
.m-list li.hit em{color:var(--positive)}
.m-nav{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:4px;padding:5px;border-radius:22px;background:var(--elev-1);box-shadow:0 0 0 1px var(--line)}
.m-nav span{width:52px;height:38px;display:grid;place-items:center;border-radius:17px;color:var(--text-3)}
.m-nav span.on{background:var(--elev-2);color:var(--text)}

.av{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;font-size:12px;font-weight:660;font-style:normal;color:#fff;letter-spacing:-.02em}
.av-1{background:linear-gradient(140deg,#ff9a6b,#e5487a)}.av-2{background:linear-gradient(140deg,#6cb5ff,#4057e3)}
.av-3{background:linear-gradient(140deg,#62e0a6,#1c9a6d)}.av-4{background:linear-gradient(140deg,#c79bff,#7a4ddb)}
.av-mark{background:var(--text)}.av-mark svg{width:20px;height:20px}.av-mark path{stroke:var(--bg)}

.float{position:absolute;display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:20px;background:var(--elev-1);color:var(--text);box-shadow:var(--lp-float-shadow);animation:bob 6s ease-in-out infinite}
.float small{display:block;font-size:12px;color:var(--text-2)}
.f-toast{top:176px;left:-150px;width:262px;transform:translateZ(100px);opacity:0;scale:.9;transition:opacity .45s var(--ease),scale .6s var(--spring)}
.f-toast.show{opacity:1;scale:1}
.f-toast b{font-size:14px;font-weight:640}
.tick{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--positive);color:var(--bg);font-weight:800;font-size:15px}
.f-chat{top:26px;right:-150px;width:236px;align-items:flex-end;transform:translateZ(60px);animation-delay:-2s}
.f-chat p{font-size:13.5px;line-height:1.35;background:var(--elev-2);padding:9px 12px;border-radius:16px 16px 16px 5px}
.f-chat .av{width:28px;height:28px;font-size:10px}
.f-card{bottom:92px;right:-120px;width:150px;flex-direction:column;align-items:stretch;gap:8px;transform:translateZ(130px);animation-delay:-4s}
.f-card code{font-size:11.5px;text-align:center;color:var(--text-2)}
.mini-qr{display:grid;aspect-ratio:1;width:100%;padding:8px;border-radius:12px;background:#fff}
.mini-qr svg{width:100%;height:100%;display:block}

.coin{position:absolute;width:76px;height:76px;transform-style:preserve-3d;animation:coin 7s linear infinite}
.coin i,.coin b{position:absolute;inset:0;border-radius:50%}
.coin i{background:center/100% no-repeat;backface-visibility:hidden}
.coin[data-coin=usdt] i{background-image:url(/static/usdt.svg)}.coin[data-coin=trx] i{background-image:url(/static/trx.svg)}
.coin i.front{transform:translateZ(4px)}.coin i.back{transform:rotateY(180deg) translateZ(4px)}
.coin b{background:var(--lp-coin-edge)}.coin[data-coin=trx] b{background:var(--lp-trx-edge)}
.coin b:nth-of-type(1){transform:translateZ(-3.5px)}.coin b:nth-of-type(2){transform:translateZ(-2.3px)}.coin b:nth-of-type(3){transform:translateZ(-1.2px)}
.coin b:nth-of-type(4){transform:translateZ(0)}.coin b:nth-of-type(5){transform:translateZ(1.2px)}.coin b:nth-of-type(6){transform:translateZ(2.3px)}.coin b:nth-of-type(7){transform:translateZ(3.5px)}
.c1{top:-24px;left:-34px;translate:0 0 150px}
.c2{width:54px;height:54px;bottom:36px;left:-58px;translate:0 0 50px;animation-duration:9s;animation-direction:reverse}
.c3{width:62px;height:62px;top:330px;right:-58px;translate:0 0 180px;animation-duration:8s;animation-delay:-3s}

/* Pain */
.pain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px}
.pain-card{display:grid;gap:12px;align-content:start;padding:28px;border-radius:28px;background:var(--elev-1);box-shadow:var(--shadow)}
.pain-n{font-family:var(--mono);font-size:13px;color:var(--negative)}
.pain-card p{color:var(--text-2);line-height:1.55}
.pain-turn{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:48px;font-size:17px;font-weight:600}
.pain-turn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:nudge 1.8s var(--ease) infinite}

/* How it works */
.how-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.steps{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:6px}
.steps button{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;width:100%;padding:18px 18px 20px;border:0;border-radius:22px;background:none;text-align:left;color:var(--text-2);overflow:hidden;transition:background .3s var(--ease),color .3s}
.steps button[aria-pressed=true]{background:var(--elev-1);color:var(--text);box-shadow:var(--shadow)}
.step-n{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--elev-2);font-size:15px;font-weight:660;color:var(--text)}
.steps button[aria-pressed=true] .step-n{background:var(--text);color:var(--bg)}
.step-t{display:grid;gap:6px}.step-t b{font-size:18px;font-weight:630;letter-spacing:-.02em;color:var(--text)}
.step-t span{font-size:15px;line-height:1.5;display:none}
.steps button[aria-pressed=true] .step-t span{display:block;animation:fade .4s var(--ease) both}
.step-bar{position:absolute;left:18px;right:18px;bottom:0;height:2px;border-radius:2px;background:var(--line);opacity:0}
.step-bar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--text)}
.steps button[aria-pressed=true] .step-bar{opacity:1}
.steps.auto button[aria-pressed=true] .step-bar i{animation:grow 7s linear both}
.steps.hold .step-bar i{animation-play-state:paused!important}

.how-stage{display:grid;place-items:center;perspective:1400px}
.tg{position:relative;width:min(380px,100%);height:620px;border-radius:38px;background:var(--lp-chat);overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 0 0 1px var(--line-strong),0 50px 100px -40px rgba(0,0,0,.55);transform:rotateY(-8deg) rotateX(4deg);transition:transform .8s var(--ease)}
.how-stage:hover .tg{transform:none}
.tg-head{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;background:var(--elev-1);box-shadow:0 1px 0 var(--line)}
.tg-head b{display:block;font-size:15px;font-weight:620}.tg-head small{font-size:12px;color:var(--positive)}
.tg-back{font-size:28px;line-height:1;color:var(--text-2);margin-right:2px}
.tg-body{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:14px;background-image:radial-gradient(var(--lp-dot) 1.2px,transparent 1.3px);background-size:18px 18px;transition:filter .5s,opacity .5s}
.tg[data-step="3"] .tg-body,.tg[data-step="3"] .tg-input{opacity:.35;filter:blur(1.5px)}
.msg{position:relative;max-width:80%;padding:9px 12px 8px;border-radius:18px;font-size:14.5px;line-height:1.4}
.msg time{font-size:11px;color:var(--text-3);margin-left:8px;float:right;margin-top:5px}
.msg.in{align-self:flex-start;background:var(--elev-1);border-bottom-left-radius:6px}
.msg.out{align-self:flex-end;background:var(--primary);color:var(--on-primary);border-bottom-right-radius:6px;font-weight:600}
.msg.out time{color:inherit;opacity:.55;font-weight:400}
.msg.out q{display:block;quotes:none;font-weight:400;font-size:12.5px;opacity:.7;padding-left:8px;border-left:2px solid currentColor;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.msg.card{align-self:flex-end;width:80%;max-width:290px;background:var(--elev-1);display:grid;gap:4px;padding:12px;box-shadow:0 0 0 1px var(--line)}
.msg.card>small{font-size:11.5px;color:var(--text-3)}.msg.card>b{font-size:15px}
.card-row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:center;margin-top:6px}
.card-row>div:last-child{display:grid;gap:6px;justify-items:start}
.chip{display:inline-flex;padding:3px 8px;border-radius:99px;background:var(--elev-2);font-size:11.5px;font-weight:600;color:var(--text-2)}
.card-note{font-size:12px;color:var(--text-3)}
.msg.bot{align-self:flex-start;display:flex;gap:10px;align-items:flex-start;background:var(--elev-1);box-shadow:0 0 0 1px var(--line);max-width:88%}
.msg.bot b{display:block;font-size:14.5px}.msg.bot div span{display:block;font-weight:600;color:var(--positive)}.msg.bot small{font-size:12px;color:var(--text-3)}
.tg .s2{display:none}.tg[data-step="2"] .s2,.tg[data-step="3"] .s2{display:flex}
.tg.play[data-step="1"] .s1{animation:pop .55s var(--spring) both}
.tg.play[data-step="1"] .s1:nth-child(2){animation-delay:.9s}.tg.play[data-step="1"] .s1:nth-child(3){animation-delay:1.8s}
.tg.play[data-step="2"] .s2{animation:pop .55s var(--spring) both}.tg.play[data-step="2"] .s2:nth-child(5){animation-delay:1.1s}
.tg-input{display:flex;align-items:center;gap:10px;margin:0 12px 14px;padding:0 6px 0 16px;height:44px;border-radius:22px;background:var(--elev-1);color:var(--text-3);font-size:14px;transition:opacity .5s,filter .5s}
.tg-input i{margin-left:auto;width:32px;height:32px;border-radius:50%;background:var(--elev-2)}
.tg-sheet{position:absolute;left:0;right:0;bottom:0;display:grid;gap:12px;padding:12px 20px calc(22px);border-radius:28px 28px 0 0;background:var(--elev-1);box-shadow:0 -20px 60px -20px rgba(0,0,0,.5);transform:translateY(105%);transition:transform .7s var(--spring)}
.tg[data-step="3"] .tg-sheet{transform:none}
.grab{justify-self:center;width:38px;height:5px;border-radius:9px;background:var(--elev-3)}
.tg-sheet>small{font-size:12.5px;color:var(--text-3);margin-top:4px}
.sheet-amt{font-size:36px;font-weight:670;letter-spacing:-.045em;line-height:1}.sheet-amt i{font-style:normal;font-size:16px;color:var(--text-2);letter-spacing:0}
.sheet-to,.sheet-src{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:16px;background:var(--elev-2);font-size:13px;color:var(--text-2)}
.sheet-to code{color:var(--text)}
.src{display:flex}.src .av{width:26px;height:26px;font-size:9.5px;box-shadow:0 0 0 2px var(--elev-2)}.src .av+.av{margin-left:-7px}
.sheet-progress{height:6px;border-radius:9px;background:var(--elev-3);overflow:hidden}
.sheet-progress i{display:block;height:100%;width:0;border-radius:inherit;background:var(--positive)}
.tg.play[data-step="3"] .sheet-progress i{animation:grow 2.4s .7s var(--ease) both}
.sheet-done{display:flex;align-items:center;gap:10px;font-weight:620;font-size:15px;opacity:0}
.sheet-done .tick{width:26px;height:26px;font-size:13px}
.tg.play[data-step="3"] .sheet-done{animation:pop .5s 3.2s var(--spring) both}

/* Features */
.sec-head{margin-bottom:44px}
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.tile{position:relative;display:flex;flex-direction:column;gap:24px;min-height:320px;padding:28px;border-radius:30px;background:var(--elev-1);box-shadow:var(--shadow);overflow:hidden;isolation:isolate;
  transform:perspective(1000px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));transition:transform .6s var(--ease)}
.tile:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),var(--lp-hl),transparent 60%);opacity:0;transition:opacity .4s}
.tile:hover:before{opacity:1}
.tile-copy{display:grid;gap:10px;align-content:start}
.tile-copy p{font-size:15px;line-height:1.55;color:var(--text-2);max-width:48ch}
.tag{justify-self:start;padding:4px 10px;border-radius:99px;background:var(--elev-2);font-size:12px;font-weight:600;color:var(--text-2)}
.viz{position:relative}
.t-secretary{grid-column:span 4;flex-direction:row;align-items:center}
.t-secretary .tile-copy{flex:1}
.t-speed{grid-column:span 2;justify-content:space-between}
.t-ledger{grid-column:span 2}
.t-payout{grid-column:span 4;flex-direction:row;align-items:center}.t-payout .tile-copy{flex:1}
.t-group,.t-faceid,.t-inline{grid-column:span 2}
.t-receipt{grid-column:span 6;order:1;flex-direction:row-reverse;align-items:center;justify-content:space-between;min-height:300px}
.t-receipt .tile-copy{max-width:440px}
.t-receipt .tile-copy h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.035em}

.sec-viz{flex:none;width:280px;display:flex;flex-direction:column;gap:8px}
.sv-msg{max-width:85%;padding:9px 12px;border-radius:16px;font-size:13.5px}
.sv-msg.in{align-self:flex-start;background:var(--elev-2);border-bottom-left-radius:5px}
.sv-msg.out{align-self:flex-end;background:var(--primary);color:var(--on-primary);font-weight:620;border-bottom-right-radius:5px;min-width:76px;min-height:37px}
.sv-type{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;width:0;animation:type 6s steps(6) infinite}
.sv-card{align-self:flex-end;display:flex;gap:10px;align-items:center;width:88%;padding:10px;border-radius:16px;background:var(--elev-2);box-shadow:0 0 0 1px var(--line);animation:card-in 6s var(--spring) infinite}
.sv-card .mini-qr{width:54px;padding:5px;border-radius:8px;flex:none}
.sv-card b{display:block;font-size:13px}.sv-card code{font-size:11.5px;color:var(--text-2)}

.speed-num{display:flex;align-items:baseline;gap:8px}
.speed-num b{font-size:96px;font-weight:700;letter-spacing:-.07em;line-height:.85}
.speed-num span{font-size:20px;font-weight:600;color:var(--text-2)}
.ring{position:absolute;top:34px;right:34px;width:18px;height:18px;border-radius:50%;background:var(--positive);animation:ping 2.4s var(--ease) infinite}
.ring.r2{animation-delay:1.2s;background:transparent;box-shadow:0 0 0 2px var(--positive)}

.ledger{display:grid;gap:14px;padding:16px;border-radius:20px;background:var(--elev-2)}
.lg-top{display:flex;gap:10px;align-items:center}.lg-top b{display:block;font-size:14px}.lg-top small{font-size:12px;color:var(--text-3)}
.lg-bars{display:flex;align-items:flex-end;gap:6px;height:64px}
.lg-bars i{flex:1;border-radius:6px 6px 3px 3px;background:var(--elev-3);height:var(--h);transform-origin:bottom;transform:scaleY(.08);transition:transform .9s var(--spring)}
.lg-bars i:nth-child(1){--h:30%}.lg-bars i:nth-child(2){--h:55%}.lg-bars i:nth-child(3){--h:40%}.lg-bars i:nth-child(4){--h:72%}
.lg-bars i:nth-child(5){--h:48%}.lg-bars i:nth-child(6){--h:88%}.lg-bars i:nth-child(7){--h:62%}.lg-bars i:nth-child(8){--h:100%;background:var(--positive)}
.lg-bars i:nth-child(2){transition-delay:.05s}.lg-bars i:nth-child(3){transition-delay:.1s}.lg-bars i:nth-child(4){transition-delay:.15s}.lg-bars i:nth-child(5){transition-delay:.2s}.lg-bars i:nth-child(6){transition-delay:.25s}.lg-bars i:nth-child(7){transition-delay:.3s}.lg-bars i:nth-child(8){transition-delay:.35s}
.in .lg-bars i{transform:none}
.lg-sum{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--text-2)}.lg-sum b{font-size:18px;color:var(--text);letter-spacing:-.02em}

.flow{flex:none;width:320px;max-width:100%;aspect-ratio:320/170}
.flow svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fl{fill:none;stroke:var(--line-strong);stroke-width:2;stroke-dasharray:4 6;animation:dash 1.2s linear infinite}
.dot{fill:var(--positive)}
.fn{position:absolute;transform:translate(-50%,-50%);width:38px;height:38px;font-size:12px;box-shadow:0 0 0 4px var(--elev-1)}
.n1{left:12.5%;top:17.6%}.n2{left:12.5%;top:50%}.n3{left:12.5%;top:82.4%}
.fn-to{position:absolute;left:78%;top:50%;transform:translate(-10%,-50%);display:grid;justify-items:center;padding:12px 16px;border-radius:18px;background:var(--text);color:var(--bg)}
.fn-to b{white-space:nowrap;font-size:20px;letter-spacing:-.03em;line-height:1}.fn-to small{font-size:11px;opacity:.7}

.pin{display:grid;gap:14px}
.pin-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--elev-2);box-shadow:inset 3px 0 0 var(--text)}
.pin-bar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;flex:none}
.pin-roll{height:20px;overflow:hidden;font-size:13px;font-weight:560;min-width:0;flex:1}
.pin-roll span{display:block;height:20px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:roll 7s var(--ease) infinite}
.pin-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pin-chips i{display:grid;place-items:center;min-width:34px;height:30px;padding:0 8px;border-radius:99px;background:var(--elev-2);font-style:normal;font-size:12.5px;font-weight:600;color:var(--text-2)}
.pin-chips i.on{background:var(--text);color:var(--bg)}.pin-chips span{font-size:12.5px;color:var(--text-3);margin-left:3px}

.face{display:grid;place-items:center;height:132px}
.face svg{width:96px;height:96px;fill:none;stroke:var(--text);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.f-smile{animation:smile 4s var(--ease) infinite}
.scan{position:absolute;left:50%;top:18px;width:110px;height:2px;margin-left:-55px;border-radius:2px;background:var(--positive);box-shadow:0 0 18px 2px var(--positive);animation:scan 4s var(--ease) infinite}

.receipt{flex:none;perspective:900px}
.rc{position:relative;width:300px;max-width:100%;display:grid;gap:8px;padding:20px;border-radius:24px;background:var(--elev-2);box-shadow:0 0 0 1px var(--line-strong),0 40px 70px -30px rgba(0,0,0,.55);overflow:hidden;
  transform:rotateX(var(--tx,10deg)) rotateY(var(--ty,-16deg));transition:transform .6s var(--ease)}
.rc-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--text-2)}
.rc>small{margin-top:10px;font-size:12px;color:var(--text-3)}
.rc>b{font-size:38px;font-weight:680;letter-spacing:-.05em;line-height:1}.rc>b i{font-style:normal;font-size:16px;color:var(--text-2);letter-spacing:0}
.rc-to{display:flex;justify-content:space-between;padding:11px 13px;border-radius:14px;background:var(--elev-3);font-size:12.5px;color:var(--text-2);margin-top:6px}.rc-to code{color:var(--text)}
.rc-ok{font-size:13px;font-weight:600;color:var(--positive)}
.shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,var(--lp-hl) 48%,transparent 60%);background-size:250% 100%;animation:shine 5s var(--ease) infinite}

.inline{display:grid;gap:8px}
.il-field{display:flex;align-items:center;height:44px;padding:0 16px;border-radius:22px;background:var(--elev-2);font-size:14px;font-weight:560}
.caret{width:2px;height:18px;margin-left:2px;background:var(--text);animation:blink 1s steps(1) infinite}
.il-pop{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:16px;background:var(--elev-2);box-shadow:0 0 0 1px var(--line);animation:card-in 5s var(--spring) infinite}
.il-pop b{display:block;font-size:13px}.il-pop small{font-size:11.5px;color:var(--text-3)}
.il-pop .av{width:32px;height:32px}

/* Who */
.who-list{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.who-list li{display:grid;gap:6px;padding:22px 24px;border-radius:22px;background:var(--elev-1);box-shadow:var(--shadow);transition:transform .3s var(--spring)}
.who-list li:hover{transform:translateY(-3px)}
.who-list b{font-size:17px;font-weight:630;letter-spacing:-.02em}.who-list span{font-size:14.5px;color:var(--text-2);line-height:1.45}

/* Price */
.price-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.price-big{display:flex;align-items:flex-start;gap:12px;margin:4px 0 6px}
.price-big b{font-size:clamp(130px,17vw,230px);font-weight:720;letter-spacing:-.08em;line-height:.78;background:linear-gradient(180deg,var(--text) 30%,var(--text-3));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
.price-big span{font-size:30px;font-weight:650;letter-spacing:-.03em;margin-top:10px}
.checks{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:14px}
.checks li{position:relative;padding-left:34px;font-size:16px;line-height:1.5;color:var(--text-2)}
.checks li:before{content:'✓';position:absolute;left:0;top:1px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--positive-soft);color:var(--positive);font-size:12px;font-weight:800}
.price-side{display:grid;gap:16px;min-width:0}
.fee-card{display:grid;gap:16px;padding:24px;border-radius:28px;background:var(--elev-1);box-shadow:var(--shadow)}
.fee-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;color:var(--text-2)}
.fee-amt{display:flex;align-items:baseline;gap:8px}.fee-amt b{font-size:44px;font-weight:680;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}.fee-amt span{font-size:16px;color:var(--text-2);font-weight:600}
.fee-seg{grid-template-columns:repeat(4,1fr)}
.fee-meter{height:8px;border-radius:9px;background:var(--elev-3);overflow:hidden}
.fee-meter i{display:block;height:100%;width:25%;border-radius:inherit;background:var(--positive);transition:width .7s var(--spring)}
.fee-out{font-size:15px;color:var(--text-2)}.fee-out b{color:var(--text);font-size:17px}
.cmp{border-radius:24px;background:var(--elev-1);box-shadow:var(--shadow);overflow:hidden}
.cmp-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.85fr);gap:14px;align-items:center;padding:14px 20px;border-top:1px solid var(--line);font-size:14px;color:var(--text-2)}
.cmp-row>:last-child{color:var(--text)}
.cmp-row b{font-weight:620}
.cmp-row [role=rowheader]{color:var(--text);font-weight:560}
.cmp-h .brand-word{text-transform:none;letter-spacing:0}
.cmp-h{border-top:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);padding-block:16px 10px}
.cmp-h>:last-child{color:var(--positive)}
.fine{font-size:12.5px;line-height:1.5;color:var(--text-3);padding:0 6px}

/* Security */
.security{background:linear-gradient(180deg,transparent,var(--elev-1) 18%,var(--elev-1) 82%,transparent)}
.sec-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.stack-stage{display:grid;place-items:center;height:520px;perspective:1600px}
.stack{position:relative;width:270px;height:270px;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-38deg);--gap:58px}
.js .stack-stage:not(.in) .plate{transform:none}
.p3{transition-delay:.1s}.p2{transition-delay:.2s}.p1{transition-delay:.3s}
.plate{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;border-radius:30px;background:var(--elev-2);box-shadow:0 0 0 1px var(--line-strong),0 30px 50px -20px rgba(0,0,0,.45);transition:transform .8s var(--ease)}
.plate span{font-size:18px;font-weight:650;letter-spacing:-.02em}.plate small{font-size:13px;color:var(--text-2)}
.p4{transform:translateZ(0);background:var(--bg)}
.p3{transform:translateZ(var(--gap));box-shadow:0 0 0 1.5px var(--positive),0 30px 50px -20px rgba(0,0,0,.45)}
.p3 small{color:var(--positive)}
.p2{transform:translateZ(calc(var(--gap)*2))}
.p1{transform:translateZ(calc(var(--gap)*3));background:var(--elev-3)}
.stack-stage:hover .stack{--gap:76px}
.packet{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px;border-radius:50%;background:var(--positive);box-shadow:0 0 24px 4px var(--positive);animation:packet 3.2s var(--ease) infinite}
.sec-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px;margin-top:36px}
.sec-list>div{display:grid;gap:8px;align-content:start;padding-top:18px;border-top:1px solid var(--line-strong)}
.sec-list h3{font-size:17px}.sec-list p{font-size:15px;line-height:1.55;color:var(--text-2)}
.sec-list a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}

/* FAQ */
.faq-in{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:56px;align-items:start}
.faq-side{margin-top:18px;font-size:15px;color:var(--text-2);max-width:32ch}.faq-side a{color:var(--text);font-weight:600}
.faq-list{display:grid;gap:8px}
.faq-list details{border-radius:20px;background:var(--elev-1);box-shadow:var(--shadow);transition:background .3s}
.faq-list summary{display:flex;align-items:center;gap:16px;padding:20px 22px;list-style:none;cursor:pointer;font-size:16.5px;font-weight:600;letter-spacing:-.01em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'';margin-left:auto;flex:none;width:12px;height:12px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:translateY(-3px) rotate(45deg);transition:transform .3s var(--spring)}
.faq-list details[open] summary:after{transform:translateY(2px) rotate(-135deg)}
.faq-list details p{padding:0 22px 22px;font-size:15.5px;line-height:1.6;color:var(--text-2);max-width:62ch;animation:fade .35s var(--ease) both}

/* Final CTA */
.final-in{display:grid;justify-items:center;text-align:center;gap:22px}
.mono3d{width:150px;height:150px;perspective:700px;margin-bottom:12px}
.mono-rig{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:sway 7s ease-in-out infinite}
.mono-rig i,.mono-rig svg{position:absolute;inset:0;border-radius:46px}
.mono-rig i{background:var(--elev-3);box-shadow:0 0 0 1px var(--line-strong)}
.mono-rig i:nth-child(1){transform:translateZ(-16px);box-shadow:0 40px 60px -20px rgba(0,0,0,.5)}.mono-rig i:nth-child(2){transform:translateZ(-14px)}.mono-rig i:nth-child(3){transform:translateZ(-12px)}.mono-rig i:nth-child(4){transform:translateZ(-10px)}
.mono-rig i:nth-child(5){transform:translateZ(-8px)}.mono-rig i:nth-child(6){transform:translateZ(-6px)}.mono-rig i:nth-child(7){transform:translateZ(-4px)}.mono-rig i:nth-child(8){transform:translateZ(-2px)}
.mono-rig svg{background:var(--text);padding:18%}
.mono-rig path{stroke:var(--bg)}
.final-title{font-size:clamp(34px,5.4vw,68px);line-height:1;letter-spacing:-.05em;font-weight:680;text-wrap:balance;max-width:16ch}
.final-lede{font-size:18px;line-height:1.55;color:var(--text-2);max-width:46ch}

/* Footer + dock */
.lp-footer{border-top:1px solid var(--line)}
.lp-footer-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-block:24px calc(28px + env(safe-area-inset-bottom,0px));font-size:13.5px;color:var(--text-3)}
.lp-footer nav{display:flex;gap:18px}.lp-footer a{color:var(--text-2)}
.dock{display:none}

/* Reveal (only when the script runs) */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .9s var(--ease)}
.js [data-reveal].in{opacity:1;transform:none}
.js .tile[data-reveal].in{transform:perspective(1000px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg))}
.bento .tile:nth-child(2){transition-delay:.06s}.bento .tile:nth-child(3){transition-delay:.04s}.bento .tile:nth-child(4){transition-delay:.1s}
.paused,.paused *{animation-play-state:paused!important}

@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes coin{to{transform:rotateY(360deg)}}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}
@keyframes grow{from{width:0}to{width:100%}}
@keyframes nudge{0%,100%{transform:none}50%{transform:translateY(4px)}}
@keyframes type{0%,8%{width:0}30%,100%{width:6ch}}
@keyframes card-in{0%,32%{opacity:0;transform:translateY(10px) scale(.95)}42%,90%{opacity:1;transform:none}100%{opacity:0}}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(3.4);opacity:0}}
@keyframes dash{to{stroke-dashoffset:-20}}
@keyframes roll{0%,40%{transform:none}50%,90%{transform:translateY(-20px)}100%{transform:translateY(-40px)}}
@keyframes scan{0%{transform:translateY(0);opacity:0}10%{opacity:1}50%{transform:translateY(96px);opacity:1}60%,100%{transform:translateY(96px);opacity:0}}
@keyframes smile{0%,55%{stroke:var(--text)}65%,92%{stroke:var(--positive)}100%{stroke:var(--text)}}
@keyframes shine{0%,40%{background-position:120% 0}80%,100%{background-position:-60% 0}}
@keyframes blink{50%{opacity:0}}
@keyframes packet{0%{transform:translateZ(200px);opacity:0}12%{opacity:1}85%{transform:translateZ(6px);opacity:1}100%{transform:translateZ(0);opacity:0}}
@keyframes sway{0%,100%{transform:rotateY(-24deg) rotateX(10deg)}50%{transform:rotateY(24deg) rotateX(-6deg)}}

/* Responsive */
@media(max-width:1080px){
  .lp-nav{display:none}.lp-header-in>.header-actions{margin-left:auto}
  .hero-in{grid-template-columns:1fr;gap:8px}
  .hero-stage{height:560px;margin-inline:-20px}
  .rig{transform:scale(.86) rotateX(var(--rx,7deg)) rotateY(var(--ry,-20deg)) rotateZ(var(--rz,2deg))}
  .how-in,.price-in,.sec-in,.faq-in{grid-template-columns:1fr;gap:40px}
  .stack-stage{height:440px;order:2}
  .t-secretary,.t-payout{grid-column:span 6}.t-speed,.t-ledger{grid-column:span 3}
}
@media(max-width:760px){
  .lp section{padding-block:72px}
  .hero{min-height:0;padding-top:calc(100px + env(safe-area-inset-top,0px))!important;padding-bottom:24px!important}
  .hero-stage{height:450px;margin-top:4px}
  .rig{transform:scale(.7) rotateX(var(--rx,7deg)) rotateY(var(--ry,-20deg)) rotateZ(var(--rz,2deg))}
  .f-toast{left:-40px}.f-chat{right:-48px}.f-card{right:-40px}
  .hero-title{font-size:clamp(34px,9.4vw,46px)}
  .hero-actions{width:100%}.hero-actions a{flex:1 1 auto}
  .hero-stats{grid-template-columns:1fr;gap:14px}
  .hero-stats div{display:flex;align-items:baseline;gap:14px}.hero-stats dt{min-width:84px;font-size:24px}.hero-stats dd{margin:0}
  .pain-grid,.who-list,.sec-list{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .tile,.t-secretary,.t-payout,.t-receipt,.t-speed,.t-ledger,.t-group,.t-faceid,.t-inline{grid-column:auto;flex-direction:column;align-items:stretch;min-height:0}
  .t-receipt{flex-direction:column-reverse}
  .sec-viz,.flow{width:100%}.receipt{align-self:center}
  .t-speed{gap:16px}.speed-num b{font-size:80px}
  .tg{height:560px;transform:none}
  .steps button{padding:16px}
  .cmp-row{grid-template-columns:1fr 1fr;gap:4px 14px;padding:14px 16px;font-size:13.5px}
  .cmp-row [role=rowheader]{grid-column:1/-1}
  .cmp-h span:first-child{display:none}
  .stack-stage{height:380px}.stack{scale:.82}
  .lp-cta-sm{height:36px;padding:0 14px;font-size:13px}.lp .language-control{height:36px;padding:0 10px 0 12px}.lp-header-in>.header-actions{margin-right:-12px}
  .final-lede{font-size:16.5px}
  .dock{display:block;position:fixed;inset:auto 0 0;z-index:45;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
    background:var(--lp-header);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 -1px 0 var(--line);transform:translateY(110%);transition:transform .45s var(--spring)}
  .dock.show{transform:none}
  .dock .primary{width:100%;min-height:52px}
  .lp-footer-in{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:400px){.hero-stage{height:430px}.rig{transform:scale(.62) rotateX(var(--rx,7deg)) rotateY(var(--ry,-20deg)) rotateZ(var(--rz,2deg))}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .js [data-reveal]{opacity:1;transform:none}
  .sv-type{width:6ch}.sv-card,.il-pop{opacity:1;transform:none}
  .f-toast{opacity:1;scale:1}
}
