:root{
  --cream:#f2f1ea; --card:rgba(255,255,255,.72); --ink:#1c1f1b; --mute:#6d716a; --soft:#9a9e96; --line:rgba(28,31,27,.07);
  --y1:#fff27a; --y2:#f3dc2d; --green:#7fb069; --deep:#1d2621; --back:#4b524c;
  --f:'Heebo',system-ui,Arial,sans-serif; --d:'Sora',system-ui,Arial,sans-serif; --r:30px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--f);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
img{display:block}
sup{font-size:.42em;vertical-align:.9em;margin-inline-start:2px;font-weight:400;color:var(--mute)}

.side{display:none}
.app{position:relative;max-width:480px;margin:0 auto;background:var(--cream);background-image:radial-gradient(rgba(28,31,27,.09) 1px,transparent 1.2px);background-size:18px 18px;overflow:clip}

/* ---------------- hero */
.hero{position:relative;height:100svh;min-height:640px;max-height:940px;overflow:hidden;color:#fff;border-radius:0 0 var(--r) var(--r);background:var(--deep)}
.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.06);will-change:transform}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(242,241,234,.92) 0%,rgba(242,241,234,0) 16%),linear-gradient(0deg,#121a15 0%,rgba(22,32,26,.92) 26%,rgba(30,44,35,.35) 48%,rgba(30,44,35,0) 62%)}
.bar{position:absolute;z-index:3;top:0;inset-inline:0;display:flex;align-items:center;justify-content:space-between;padding:calc(18px + env(safe-area-inset-top)) 22px 0;color:var(--ink)}
.logo{display:flex;align-items:center;gap:8px;font-family:var(--d);font-weight:500;font-size:22px;letter-spacing:-.02em;direction:ltr}
.logo svg{width:24px;height:24px;fill:var(--ink);stroke:none}
.bell{position:relative;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bell i{position:absolute;top:11px;right:12px;width:7px;height:7px;border-radius:50%;background:#e8673a}
.bubble{position:absolute;z-index:3;left:var(--x);top:var(--y);transform:translate(-50%,-100%);padding:10px 18px;border-radius:22px;background:rgba(48,54,50,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.28);font-size:15px;white-space:nowrap;animation:bob 4s ease-in-out infinite}
.bubble::after{content:"";position:absolute;left:50%;bottom:-14px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}
@keyframes bob{50%{transform:translate(-50%,calc(-100% - 6px))}}
.htxt{position:absolute;z-index:3;inset-inline:0;bottom:0;padding:0 22px calc(26px + env(safe-area-inset-bottom))}
.for{font-size:13px;opacity:.7;margin-bottom:8px}
h1{font-weight:500;font-size:clamp(36px,10.4vw,46px);line-height:1.02;letter-spacing:-.03em}
.lead{margin-top:14px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.75);max-width:30ch}
.slide{margin-top:24px;display:flex;align-items:center;gap:14px;width:100%;height:66px;padding:0 9px;border-radius:40px;background:#fff;color:var(--ink);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.knob{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 70%);box-shadow:0 6px 18px -6px rgba(214,190,20,.9),inset 0 1px 1px rgba(255,255,255,.8);flex:none}
.knob svg{width:20px;height:20px;stroke-width:2}
.slide b{flex:1;text-align:center;font-weight:500;font-size:17px}
.slide em{font-style:normal;font-size:20px;letter-spacing:-4px;color:var(--soft);padding-inline-end:16px;animation:chev 1.8s ease-in-out infinite}
@keyframes chev{50%{opacity:.35;transform:translateX(-4px)}}

/* ---------------- sheets */
.sheet{padding:30px 18px 10px}
.shead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.pick{display:flex;align-items:center;gap:6px;font-size:24px;font-weight:500;letter-spacing:-.02em}
.pick svg{width:18px;height:18px;color:var(--mute)}
.round{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 8px 20px -14px rgba(0,0,0,.4)}
.card{background:var(--card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:26px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 14px 34px -26px rgba(40,50,30,.45);border:1px solid var(--line)}
.wide{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}
.wide small,.tile small,.mh small{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--mute)}
.wide b{display:block;margin-top:3px;font-family:var(--d);font-weight:300;font-size:22px;letter-spacing:-.02em}
.arrow{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 6px 16px -10px rgba(0,0,0,.45)}
.arrow svg{width:18px;height:18px}
.sh{margin:30px 4px 14px;font-weight:500;font-size:26px;letter-spacing:-.025em;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.sh em{font-style:normal;font-weight:400;font-size:15px;color:var(--mute)}
.sh .ok{display:inline-flex;align-items:center;gap:6px;color:#4c8a3a}
.sh .ok::before{content:"";width:8px;height:8px;border-radius:50%;background:#5eae45;box-shadow:0 0 0 4px rgba(94,174,69,.18)}

/* flow diagram */
.flow{position:relative;height:540px}
.wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wires path{fill:none;stroke:var(--green);stroke-width:2;stroke-dasharray:3 6;stroke-linecap:round;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-18}}
.node{position:absolute;width:44%;padding:12px 12px 16px;border-radius:26px;text-align:center;background:var(--card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 16px 36px -24px rgba(40,50,30,.5)}
.node img{width:74%;aspect-ratio:1;object-fit:contain;margin:0 auto;filter:drop-shadow(0 10px 12px rgba(40,40,30,.18))}
.node small{display:block;font-size:13.5px;color:var(--mute)}
.node b{display:block;margin-top:2px;font-family:var(--d);font-weight:300;font-size:30px;letter-spacing:-.03em;line-height:1.1}
.node sup{font-family:var(--f);font-size:13px;vertical-align:.5em}
.n1{top:0;right:0}.n2{top:0;left:0}
.n3{top:240px;left:50%;transform:translateX(-50%);width:50%;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 0 0 6px rgba(127,176,105,.08),0 24px 50px -24px rgba(60,110,40,.55)}
.n3 img{width:68%}
.n3 b{font-size:38px}
.n4{top:450px;right:0;padding-top:10px}.n5{top:450px;left:0;padding-top:10px}
.n4 img,.n5 img{width:46%;}
.flow .node{opacity:0;translate:0 24px;transition:opacity .7s,translate .7s}
.flow.in .node{opacity:1;translate:0 0}
.flow.in .n2{transition-delay:.1s}.flow.in .n3{transition-delay:.25s}.flow.in .n4{transition-delay:.4s}.flow.in .n5{transition-delay:.5s}

/* live model */
.live{position:relative;height:440px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(240,240,232,.6))}
#gl{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
.tag{position:absolute;padding:7px 12px;border-radius:14px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:12.5px;color:var(--mute);box-shadow:0 8px 20px -12px rgba(0,0,0,.35);pointer-events:none;transform:translate(-50%,-100%);white-space:nowrap;transition:opacity .3s}
.tag b{display:block;font-family:var(--d);font-weight:400;font-size:15px;color:var(--ink)}
.hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;background:rgba(255,255,255,.8);font-size:13px;color:var(--mute);transition:opacity .4s}
.hint svg{width:16px;height:16px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.tile{padding:16px 16px 18px}
.tile svg{width:16px;height:16px}
.tile b{display:block;margin-top:8px;font-family:var(--d);font-weight:300;font-size:40px;letter-spacing:-.04em;line-height:1}
.up{display:inline-block;margin-top:8px;font-size:12.5px;color:#4c8a3a;background:rgba(94,174,69,.12);padding:3px 9px;border-radius:12px}
.meter{margin-top:12px;padding:16px 18px 18px}
.mh{display:flex;align-items:center;gap:12px}
.mh img{width:54px;height:54px;object-fit:contain}
.mh div{flex:1}
.mh b{display:block;font-family:var(--d);font-weight:300;font-size:30px;letter-spacing:-.03em}
.mh sup{font-family:var(--f);font-size:13px;vertical-align:.4em}
.bar2{margin-top:14px;height:10px;border-radius:10px;background:rgba(28,31,27,.07);overflow:hidden}
.bar2 i{display:block;height:100%;width:0;border-radius:10px;background:linear-gradient(90deg,var(--y1),var(--y2));transition:width 1.6s cubic-bezier(.2,.7,.2,1)}
.meter.in .bar2 i{width:100%}
.mf{display:flex;justify-content:space-between;margin-top:8px;font-size:12.5px;color:var(--soft)}

/* features rail */
.rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:4px 18px 16px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.feat{flex:0 0 74%;scroll-snap-align:center;padding:10px 10px 18px}
.feat img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.feat b{display:block;margin:14px 6px 0;font-weight:500;font-size:18px}
.feat p{margin:4px 6px 0;font-size:14.5px;line-height:1.5;color:var(--mute)}

/* steps */
.steps{list-style:none;display:grid;gap:10px}
.steps li{display:flex;align-items:center;gap:14px;padding:14px 16px}
.steps i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-style:normal;font-family:var(--d);font-size:17px;background:#fff;box-shadow:0 6px 14px -10px rgba(0,0,0,.4);flex:none}
.steps li:first-child i{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 70%)}
.steps b{font-weight:500;font-size:16.5px}
.steps p{font-size:14px;color:var(--mute);margin-top:2px}

/* pricing */
.plans{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:22px 18px 16px;scrollbar-width:none}
.plans::-webkit-scrollbar{display:none}
.plan{position:relative;flex:0 0 80%;scroll-snap-align:center;padding:22px 20px 20px;display:flex;flex-direction:column}
.plan small{font-size:15px;color:var(--mute)}
.pr{display:block;margin-top:6px;font-family:var(--d);font-weight:300;font-size:44px;letter-spacing:-.04em;line-height:1}
.plan > p{margin-top:8px;font-size:14px;color:var(--mute);line-height:1.5}
.plan ul{list-style:none;margin:16px 0 18px;display:grid;gap:9px;flex:1}
.plan li{display:flex;align-items:center;gap:9px;font-size:14.5px}
.plan li::before{content:"";width:18px;height:18px;border-radius:50%;flex:none;background:rgba(94,174,69,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234c8a3a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/11px no-repeat}
.btn{display:grid;place-items:center;height:50px;border-radius:30px;background:#fff;font-weight:500;font-size:15.5px;box-shadow:0 6px 16px -12px rgba(0,0,0,.4)}
.plan.hot{background:rgba(255,255,255,.92);border-color:rgba(243,220,45,.6);box-shadow:0 0 0 5px rgba(243,220,45,.14),0 24px 50px -28px rgba(140,120,10,.5)}
.plan.hot .btn{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);box-shadow:0 10px 22px -10px rgba(214,190,20,.9)}
.badge{position:absolute;top:-12px;right:18px;padding:5px 12px;border-radius:14px;background:var(--ink);color:#fff;font-size:12.5px}
.note{margin:4px 4px 0;font-size:13px;color:var(--soft)}
.pilot{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px}
.pilot img{width:56px;height:56px;object-fit:contain}
.pilot b{font-weight:500;font-size:16.5px}.pilot p{font-size:14px;color:var(--mute);margin-top:2px}

/* faq */
.qa{display:grid;gap:10px}
.qa details{padding:0 18px}
.qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;font-weight:500;font-size:16px;cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";width:30px;height:30px;border-radius:50%;flex:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1f1b' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .3s}
.qa details[open] summary::after{transform:rotate(45deg)}
.qa p{padding:0 0 18px;font-size:14.5px;line-height:1.6;color:var(--mute)}

/* contact */
.dark{margin-top:30px;padding:34px 22px calc(120px + env(safe-area-inset-bottom));background:var(--deep);color:#fff;border-radius:var(--r) var(--r) 0 0;background-image:radial-gradient(80% 50% at 50% 0%,rgba(127,176,105,.22),transparent 70%)}
.dark .sh{margin-top:0;font-size:30px}
.cl{margin:-4px 4px 22px;color:rgba(255,255,255,.65);font-size:16px}
form{display:grid;gap:10px}
form input{height:56px;border-radius:20px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#fff;font:inherit;font-size:16px;padding:0 18px}
form input::placeholder{color:rgba(255,255,255,.5)}
form input:focus{outline:none;border-color:rgba(255,255,255,.5)}
form .slide{margin-top:6px}
.msg{min-height:1.3em;font-size:14px;color:rgba(255,255,255,.7);padding:0 4px}
.foot{margin-top:30px;font-size:13px;color:rgba(255,255,255,.4);text-align:center}

/* tab bar */
.tabs{position:fixed;z-index:20;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%,160%);opacity:0;width:min(440px,calc(100vw - 28px));height:66px;display:flex;align-items:center;justify-content:space-around;padding:0 10px;border-radius:40px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 40px -20px rgba(0,0,0,.45),0 0 0 1px rgba(28,31,27,.06);transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s}
.tabs.on{transform:translate(-50%,0);opacity:1}
.tabs a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--mute)}
.tabs a.on{color:var(--ink)}
.tabs .plus{width:78px;height:50px;border-radius:30px;background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);color:var(--ink);box-shadow:0 10px 22px -8px rgba(214,190,20,.9),inset 0 1px 1px rgba(255,255,255,.8)}
.tabs .plus svg{width:24px;height:24px;stroke-width:2}

/* desktop: the app floats on a dark sage backdrop, like the poster reference */
@media (min-width:900px){
  body{background:var(--back);background-image:radial-gradient(60% 70% at 70% 20%,#6a716a,transparent 70%)}
  .side{display:block;position:fixed;inset:0;pointer-events:none;color:#fff}
  .side .big{position:absolute;right:6vw;top:10vh;font-weight:400;font-family:var(--d);font-size:min(11vw,170px);line-height:.9;letter-spacing:-.05em;direction:ltr;text-align:left}
  .side .cap{position:absolute;left:6vw;top:12vh;font-family:var(--d);font-size:18px;letter-spacing:.02em;direction:ltr;line-height:1.4}
  .side .cap span{color:rgba(255,255,255,.55)}
  .app{margin:40px auto;border-radius:46px;box-shadow:0 60px 120px -40px rgba(0,0,0,.6),0 0 0 10px #2a2e2b,0 0 0 11px #555a55}
  .hero{height:860px;max-height:none}
  .tabs{bottom:60px}
}
@media (prefers-reduced-motion:reduce){.bubble,.slide em,.wires path{animation:none}.flow .node{opacity:1;translate:none}}

/* ================= pinned scroll scenes ================= */
.pin{position:relative}
#model{height:560svh}#how{height:460svh}
.stick{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;padding:18px 18px 96px;overflow:hidden}
.phead{display:flex;align-items:center;justify-content:space-between}
.phead .sh{margin:0 4px 12px}
.dots{display:flex;gap:5px}
.dots i{width:7px;height:7px;border-radius:6px;background:rgba(28,31,27,.15);transition:width .4s,background .4s}
.dots i.on{width:22px;background:var(--ink)}
.pin .live{flex:1;height:auto;min-height:0}
.dnav,.dcta{display:none}

/* feature deck under the model */
.deck{position:relative;height:118px;margin-top:12px;perspective:900px}
.dcard{position:absolute;inset:0;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:26px;background:rgba(255,255,255,.9);border:1px solid var(--line);box-shadow:0 18px 40px -26px rgba(40,50,30,.5);transform-origin:50% 100%;will-change:transform,opacity}
.dcard > *{opacity:var(--c,1)}
.di{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;flex:none;background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);box-shadow:0 8px 18px -8px rgba(214,190,20,.8),inset 0 1px 1px rgba(255,255,255,.8)}
.di svg{width:24px;height:24px}
.dcard small{font-family:var(--d);font-size:12px;color:var(--soft)}
.dcard b{display:block;font-weight:500;font-size:18px;margin-top:1px}
.dcard p{font-size:14px;color:var(--mute);line-height:1.45;margin-top:2px}

/* voice chat */
#voice .stick{gap:12px}
.vtxt .sh{margin:6px 4px 4px}
.vp{margin:0 4px;font-size:15px;color:var(--mute);line-height:1.5}
.chat{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:rgba(255,255,255,.8)}
.ctop{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.av{width:42px;height:42px;border-radius:50%;background:#f1f0e8;display:grid;place-items:center;overflow:hidden}
.av img{width:34px;height:34px;object-fit:contain}
.ctop div{flex:1}.ctop b{font-weight:500;font-size:15.5px;display:block}.ctop small{font-size:12.5px;color:#4c8a3a}
.wave{display:flex;align-items:center;gap:3px;height:28px}
.wave i{width:3.5px;height:30%;border-radius:3px;background:var(--y2);animation:wv 1s ease-in-out infinite}
.wave i:nth-child(2){animation-delay:.1s}.wave i:nth-child(3){animation-delay:.25s}.wave i:nth-child(4){animation-delay:.05s}.wave i:nth-child(5){animation-delay:.3s}.wave i:nth-child(6){animation-delay:.15s}.wave i:nth-child(7){animation-delay:.2s}
@keyframes wv{50%{height:100%}}
.wave.off i{animation:none;height:20%}
.msgs{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:14px;overflow:hidden}
.m{max-width:82%;opacity:0;transform:translateY(16px) scale(.96);transition:opacity .45s,transform .45s;transform-origin:100% 100%}
.m.on{opacity:1;transform:none}
.m.gone{display:none}
.m p{padding:10px 14px;border-radius:18px;font-size:14.5px;line-height:1.45}
.bot{align-self:flex-start}.bot p{background:#f1f0e8;border-start-start-radius:6px}
.me{align-self:flex-end;transform-origin:0 100%}.me p{background:var(--ink);color:#fff;border-start-end-radius:6px}
.bot.img{width:78%}.bot.img img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px 16px 6px 6px}
.bot.img p{border-radius:6px 6px 16px 16px}
.audio{display:flex!important;align-items:center;gap:8px;margin-bottom:4px}
.pl{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;flex:none}
.pl svg{width:12px;height:12px;fill:currentColor;stroke:none}
.sw{display:flex;align-items:center;gap:2px;height:22px;flex:1}
.sw i{flex:1;max-width:3px;border-radius:2px;background:#b9b8ad;height:40%}
.sw i:nth-child(3n){height:80%}.sw i:nth-child(4n+1){height:60%}.sw i:nth-child(5n){height:95%}
.m.on .sw i{animation:wv 1.2s ease-in-out infinite}
.audio small{font-size:12px;color:var(--soft)}
.chips{display:flex!important;gap:6px;flex-wrap:wrap;background:none!important;padding:4px 0 0!important}
.chips span{padding:7px 12px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:13.5px}
.chips span:first-child{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);border-color:transparent}

/* how it works stage */
#how .stick{gap:12px}
#how .sh{margin:6px 4px 4px}
.hstage{position:relative;flex:1;min-height:0;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(244,243,236,.7))}
.hs{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:translateY(30px) scale(.97);transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1)}
.hs.on{opacity:1;transform:none}
.drop{position:relative;width:62%;display:grid;justify-items:center}
.drop img{width:80%;filter:drop-shadow(0 18px 20px rgba(0,0,0,.18));animation:fall 3s cubic-bezier(.3,.7,.3,1) infinite}
@keyframes fall{0%{transform:translateY(-40px) rotate(-6deg);opacity:0}25%,100%{transform:none;opacity:1}}
.file{margin-top:10px;width:100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-radius:16px;background:#fff;box-shadow:0 10px 24px -16px rgba(0,0,0,.4);font-size:14px;direction:ltr;justify-content:flex-end}
.pbar{flex-basis:100%;height:6px;border-radius:6px;background:rgba(28,31,27,.08);overflow:hidden}
.pbar i{display:block;height:100%;width:calc(var(--k,0)*100%);background:linear-gradient(90deg,var(--y1),var(--y2));border-radius:6px}
.build{position:relative;width:64%;aspect-ratio:1}
.build img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.build .ghost{filter:grayscale(1) contrast(.6) brightness(1.15);opacity:.35}
.build .solid{clip-path:inset(calc((1 - var(--k,0))*100%) 0 0 0);filter:drop-shadow(0 16px 18px rgba(0,0,0,.16))}
.scan{position:absolute;inset-inline:-6%;top:calc((1 - var(--k,0))*100%);height:2px;background:var(--green);box-shadow:0 0 18px 4px rgba(127,176,105,.6)}
.cap{position:absolute;bottom:16px;font-size:13.5px;color:var(--mute);background:#fff;padding:6px 12px;border-radius:14px}
.review{position:relative;width:86%}
.review img{width:100%;border-radius:18px}
.pinx{position:absolute;display:flex;align-items:center;gap:6px;padding:7px 12px 7px 8px;border-radius:16px;background:#fff;font-size:13px;box-shadow:0 10px 20px -12px rgba(0,0,0,.45);transition:opacity .4s,transform .4s}
.pinx b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:11px;font-weight:500}
.p1{top:18%;right:8%}.p2{bottom:16%;left:8%;opacity:0;transform:translateY(8px)}
.p2 b{background:#5eae45}
.hs.on.k .p2{opacity:1;transform:none}
.live2{position:relative;width:60%;display:grid;justify-items:center}
.live2 img{width:78%;filter:drop-shadow(0 20px 22px rgba(0,0,0,.2))}
.wa{position:absolute;bottom:4%;left:-12%;display:flex;flex-direction:column;padding:10px 14px 8px;border-radius:16px 16px 16px 4px;background:#dcf8c6;font-size:13.5px;direction:ltr;box-shadow:0 12px 24px -14px rgba(0,0,0,.4);animation:pop 2.4s ease-out infinite}
.wa svg{width:16px;height:16px;color:#2c8a4e}
.wa small{font-size:11px;color:#5a7a63;text-align:right}
@keyframes pop{0%{transform:scale(.6);opacity:0}15%,100%{transform:none;opacity:1}}
.hsteps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.hsteps li{padding:10px 8px;border-radius:16px;background:rgba(255,255,255,.55);text-align:center;transition:background .4s,box-shadow .4s}
.hsteps i{width:26px;height:26px;margin:0 auto 4px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--d);font-size:12.5px;background:#fff;transition:background .4s}
.hsteps b{display:block;font-weight:500;font-size:12.5px;line-height:1.25}
.hsteps p{display:none;font-size:13px;color:var(--mute)}
.hsteps li.on{background:#fff;box-shadow:0 10px 24px -16px rgba(0,0,0,.4)}
.hsteps li.on i{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%)}
#specs{padding-top:6px}
#meter{padding-top:6px}

/* ================= desktop: full page, same language ================= */
@media (min-width:900px){
  body{background:var(--cream);background-image:radial-gradient(rgba(28,31,27,.08) 1px,transparent 1.2px);background-size:18px 18px}
  .side{display:none!important}
  .app{max-width:none;margin:0;border-radius:0;box-shadow:none;background:none}
  .hero{height:100vh;min-height:680px;max-height:none;border-radius:0 0 44px 44px;margin:0}
  .photo{object-position:50% 40%}
  .hero::after{background:linear-gradient(180deg,rgba(18,26,21,.55) 0%,rgba(18,26,21,0) 22%),linear-gradient(270deg,rgba(14,22,17,.92) 0%,rgba(18,28,22,.7) 34%,rgba(18,28,22,0) 60%)}
  .bar{padding:26px 56px 0;color:#fff}
  .logo svg{fill:#fff}
  .dnav{display:flex;gap:6px;padding:5px;border-radius:40px;background:rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin-inline:auto}
  .dnav a{padding:9px 18px;border-radius:30px;font-size:14.5px;color:rgba(255,255,255,.85)}
  .dnav a:hover{background:rgba(255,255,255,.16)}
  .dcta{display:inline-flex;align-items:center;height:44px;padding:0 22px;border-radius:30px;background:#fff;color:var(--ink);font-weight:500;font-size:14.5px;margin-inline-end:10px}
  .bell{display:none}
  .bubble{--x:62%!important;--y:30%!important;font-size:16px}
  .htxt{inset-inline:auto;right:56px;bottom:56px;width:560px;padding:0}
  h1{font-size:64px}
  .lead{font-size:18px}
  .slide{width:420px}
  .sheet{max-width:1180px;margin:0 auto;padding:60px 40px 10px}
  .sh{font-size:40px;margin:20px 4px 22px}
  .shead{max-width:520px}
  #flow{display:grid;grid-template-columns:420px 1fr;column-gap:60px;align-items:start}
  #flow .shead,#flow .wide,#flow .sh{grid-column:1}
  #flow .flow{grid-column:2;grid-row:1/5;width:400px;justify-self:center}
  /* pinned scenes become two columns: visual + cards */
  .stick{max-width:1180px;margin:0 auto;padding:90px 40px 40px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:40px;row-gap:20px}
  #model .phead{grid-column:1/-1}
  #model .live{grid-column:1;grid-row:2}
  #model .deck{grid-column:2;grid-row:2;height:auto;margin:0;align-self:center;height:360px}
  .dcard{flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:30px;gap:18px}
  .dcard b{font-size:30px;letter-spacing:-.02em}
  .dcard p{font-size:17px}
  .di{width:68px;height:68px;border-radius:22px}.di svg{width:30px;height:30px}
  #voice .stick{grid-template-rows:1fr}
  #voice .vtxt{grid-column:2;align-self:center}
  #voice .chat{grid-column:1;grid-row:1;max-width:520px;width:100%;justify-self:center}
  .vp{font-size:18px;max-width:30ch}
  #how .sh{grid-column:1/-1}
  #how .hstage{grid-column:1;grid-row:2}
  .hsteps{grid-column:2;grid-row:2;grid-template-columns:1fr;align-content:center;gap:10px}
  .hsteps li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;text-align:right;padding:16px 18px;align-items:center}
  .hsteps i{grid-row:1/3;width:40px;height:40px;margin:0;font-size:15px}
  .hsteps b{font-size:18px}.hsteps p{display:block}
  .tiles{max-width:1180px}
  #specs .tiles{grid-template-columns:repeat(2,1fr)}
  .plans{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;margin:0;padding:26px 0 10px}
  .plan.hot{transform:translateY(-14px)}
  .qa{grid-template-columns:1fr 1fr}
  .dark{max-width:none;padding:80px max(40px,calc(50vw - 560px)) 140px;display:grid;grid-template-columns:1fr 1fr;column-gap:60px}
  .dark .sh{font-size:46px}
  .dark form{grid-column:2;grid-row:1/4}
  .foot{grid-column:1/-1}
  .tabs{display:none}
}
@media (prefers-reduced-motion:reduce){.wave i,.m.on .sw i,.drop img,.wa{animation:none}}

/* ================= narrated tour player ================= */
#voice .vp{margin:-6px 4px 14px}
.player{position:relative;overflow:hidden;aspect-ratio:3/4;background:#1b1d1a;border:0}
.player video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.player::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 48%,rgba(10,14,11,.88) 100%)}
.ptop,.pbot{position:absolute;z-index:2;inset-inline:0;color:#fff}
.ptop{top:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px}
.live{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:20px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:13px}
.live i{width:8px;height:8px;border-radius:50%;background:var(--y2);box-shadow:0 0 0 4px rgba(243,220,45,.25);animation:blink 1.4s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.stop{font-size:12.5px;opacity:.8}
.pbot{bottom:0;padding:0 16px 16px}
.sub2{font-size:16px;line-height:1.5;margin-bottom:12px;min-height:4.5em}
.sub2 span{color:rgba(255,255,255,.38);transition:color .25s}
.sub2 span.on{color:#fff}
.prow{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;border-radius:40px;background:rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.snd{width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);color:var(--ink);box-shadow:0 8px 20px -8px rgba(214,190,20,.9);animation:ring 2s ease-out infinite}
.snd[aria-pressed=true]{animation:none}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(243,220,45,.6)}70%,100%{box-shadow:0 0 0 14px rgba(243,220,45,0)}}
.snd svg{width:22px;height:22px}
.snd .on{display:none}.snd[aria-pressed=true] .on{display:block}.snd[aria-pressed=true] .off{display:none}
.vwave{flex:1;height:34px;min-width:0}
.vt{font-family:var(--d);font-size:12.5px;opacity:.8;direction:ltr}
.tapme{margin-top:8px;font-size:12.5px;opacity:.7;text-align:center;transition:opacity .4s}
.stops{display:flex;gap:6px;overflow-x:auto;margin:12px -18px 0;padding:0 18px 4px;scrollbar-width:none}
.stops::-webkit-scrollbar{display:none}
.stops span{flex:none;padding:8px 14px;border-radius:18px;background:rgba(255,255,255,.7);border:1px solid var(--line);font-size:13.5px;color:var(--mute)}
.stops .done{color:var(--soft);text-decoration:line-through}
.stops .cur{background:var(--ink);color:#fff}

/* ================= benefits ================= */
.chartc{padding:18px 18px 16px}
.chd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.chd small{font-size:13px;color:var(--mute)}
.chd b{display:block;font-family:var(--d);font-weight:300;font-size:24px;letter-spacing:-.02em;margin-top:2px}
.illu{flex:none;font-size:11.5px;color:var(--soft);border:1px solid var(--line);padding:3px 9px;border-radius:12px}
.chart{display:block;width:100%;height:170px;margin-top:12px;overflow:visible}
.chart .grid path{stroke:rgba(28,31,27,.07);stroke-dasharray:3 5}
.chart .flat{fill:none;stroke:#b9b8ad;stroke-width:2;stroke-dasharray:5 6}
.chart .rise{fill:none;stroke:#1c1f1b;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 2.2s cubic-bezier(.3,.7,.2,1)}
.chart .area{fill:url(#ga);opacity:0;transition:opacity 1.2s .9s}
.chart .dotc{fill:var(--y2);stroke:#fff;stroke-width:3;opacity:0;transform-origin:340px 18px;transition:opacity .4s 2s}
.chartc.in .rise{stroke-dashoffset:0}.chartc.in .area{opacity:1}.chartc.in .dotc{opacity:1;animation:pulse 1.8s 2.2s ease-out infinite}
@keyframes pulse{0%{r:6}50%{r:9}100%{r:6}}
.xl{display:flex;justify-content:space-between;margin-top:8px;font-size:11.5px;color:var(--soft);direction:ltr;flex-direction:row}
.legend{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--mute)}
.legend span{width:16px;height:3px;border-radius:3px}
.ly{background:var(--ink)}.lg{background:#b9b8ad;margin-inline-start:10px}
.bens{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.ben{padding:16px 14px 16px;opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}
.bens.in .ben{opacity:1;transform:none}
.bens.in .ben:nth-child(2){transition-delay:.1s}.bens.in .ben:nth-child(3){transition-delay:.2s}.bens.in .ben:nth-child(4){transition-delay:.3s}
.bi{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);margin-bottom:12px}
.ben b{display:block;font-weight:500;font-size:15.5px;line-height:1.3}
.ben p{margin-top:6px;font-size:13.5px;line-height:1.5;color:var(--mute)}

@media (min-width:900px){
  #voice{display:grid;grid-template-columns:1fr 1.25fr;column-gap:50px;align-items:center}
  #voice .sh,#voice .vp,#voice .stops{grid-column:1}
  #voice .player{grid-column:2;grid-row:1/5;aspect-ratio:16/11}
  #voice .vp{font-size:18px}
  #voice .stops{flex-wrap:wrap;margin:10px 0 0;padding:0}
  .sub2{font-size:19px}
  #why{display:grid;grid-template-columns:1.2fr 1fr;column-gap:24px;align-items:start}
  #why .sh{grid-column:1/-1}
  .bens{margin-top:0}
  .chart{height:230px}
}

/* ================= round 3 fixes ================= */
/* fixed top bar */
.bar{position:fixed;z-index:40;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;color:var(--ink);transition:background .35s,box-shadow .35s,padding .35s}
.bar.solid{background:rgba(242,241,234,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line)}
.bends{display:flex;align-items:center;gap:8px}
.dcta{display:inline-flex!important;align-items:center;height:44px;padding:0 18px;border-radius:30px;background:var(--ink);color:#fff;font-weight:500;font-size:14.5px;box-shadow:0 10px 24px -14px rgba(0,0,0,.6)}
.burger{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 8px 20px -14px rgba(0,0,0,.5)}
.burger i{width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .35s}
.burger i:last-child{width:12px;margin-inline-start:6px}
.burger[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded=true] i:last-child{width:18px;margin:0;transform:translateY(-3.5px) rotate(-45deg)}
body.mopen .bar{background:none;box-shadow:none;backdrop-filter:none;color:#fff}
body.mopen .logo svg{fill:#fff}
body.mopen .dcta{background:#fff;color:var(--ink)}
body.mopen .burger{background:rgba(255,255,255,.15)}body.mopen .burger i{background:#fff}

/* menu overlay */
.menu{position:fixed;z-index:35;inset:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:var(--deep);background-image:radial-gradient(90% 60% at 80% 0%,rgba(127,176,105,.28),transparent 70%);color:#fff;display:flex;flex-direction:column;padding:96px 26px calc(26px + env(safe-area-inset-bottom));clip-path:circle(0 at 38px 34px);transition:clip-path .7s cubic-bezier(.7,0,.2,1);overflow:hidden}
body.mopen .menu{clip-path:circle(150% at 38px 34px)}
.mmodel{position:absolute;width:300px;left:-90px;bottom:120px;opacity:.16;filter:grayscale(.3);transform:rotate(-12deg);animation:mfloat 9s ease-in-out infinite}
@keyframes mfloat{50%{transform:rotate(-6deg) translateY(-14px)}}
.mlist{position:relative;display:grid;gap:2px}
.mlist a{display:flex;align-items:baseline;gap:14px;padding:11px 0;font-size:28px;font-weight:400;letter-spacing:-.02em;border-bottom:1px solid rgba(255,255,255,.08);opacity:0;transform:translateX(-30px);transition:opacity .45s,transform .45s,color .3s}
.mlist a small{font-family:var(--d);font-size:12px;color:var(--y2);width:22px}
.mlist a:active,.mlist a:hover{color:var(--y1)}
body.mopen .mlist a{opacity:1;transform:none}
body.mopen .mlist a:nth-child(1){transition-delay:.18s}body.mopen .mlist a:nth-child(2){transition-delay:.22s}body.mopen .mlist a:nth-child(3){transition-delay:.26s}body.mopen .mlist a:nth-child(4){transition-delay:.3s}body.mopen .mlist a:nth-child(5){transition-delay:.34s}body.mopen .mlist a:nth-child(6){transition-delay:.38s}body.mopen .mlist a:nth-child(7){transition-delay:.42s}body.mopen .mlist a:nth-child(8){transition-delay:.46s}
.mfoot{position:relative;margin-top:auto;opacity:0;transform:translateY(20px);transition:opacity .5s .5s,transform .5s .5s}
body.mopen .mfoot{opacity:1;transform:none}
.mfoot p{margin-top:12px;text-align:center;font-size:13px;color:rgba(255,255,255,.55)}
body.mopen{overflow:hidden}
body.mopen .tabs{opacity:0;pointer-events:none}

/* hero spacing under fixed bar */
.hero .bubble{top:calc(var(--y) + 20px)}

/* section intros */
.sh.big{font-size:30px;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.1}
.sh.big em{font-size:17px;color:var(--mute);font-weight:400}
.intro{margin:-4px 4px 18px;font-size:16px;line-height:1.55;color:var(--mute);max-width:40ch}
.psub{margin:-8px 4px 12px;font-size:14.5px;color:var(--mute)}
.phead{align-items:flex-start}
.phead .dots{margin-top:14px}

/* flow as a grid (no overlaps at any width) */
.flow{height:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"a b" "c c" "d e";gap:36px 14px;padding:4px 0 8px}
.flow .node{position:relative;inset:auto;transform:none;width:auto;top:auto;left:auto;right:auto}
.n1{grid-area:a}.n2{grid-area:b}.n3{grid-area:c;justify-self:center;width:58%!important}.n4{grid-area:d}.n5{grid-area:e}
.node b{white-space:nowrap;font-size:22px;letter-spacing:-.02em;font-family:var(--f);font-weight:500}
.n3 b{font-family:var(--d);font-weight:300;font-size:38px}
.wires{z-index:0}.wires path{vector-effect:non-scaling-stroke}
.node{z-index:1}

/* player pill */
.lv{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:20px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:13px}
.lv i{width:8px;height:8px;border-radius:50%;background:var(--y2);box-shadow:0 0 0 4px rgba(243,220,45,.25);animation:blink 1.4s ease-in-out infinite}

/* chart reads right-to-left */
.chart{transform:scaleX(-1)}
.xl{direction:rtl}

/* features accordion, dark */
.feats2{position:relative;margin-top:60px;padding:0 18px 40px;background:var(--deep);color:#fff;border-radius:var(--r);background-image:radial-gradient(80% 40% at 30% 0%,rgba(127,176,105,.25),transparent 70%)}
.fvis{position:relative;height:300px;margin:0 -18px;transform:translateY(-60px);margin-bottom:-40px}
.ring{position:absolute;left:50%;top:52%;width:270px;height:270px;margin:-135px 0 0 -135px;border-radius:50%;border:1px dashed rgba(243,220,45,.4);animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.fimg{position:absolute;left:50%;top:48%;width:240px;aspect-ratio:4/3;object-fit:cover;border-radius:24px;transform:translate(-62%,-50%) rotate(-5deg);box-shadow:0 40px 70px -30px rgba(0,0,0,.8);transition:opacity .35s}
.ffloat{position:absolute;width:170px;left:50%;top:44%;transform:translate(8%,-40%);filter:drop-shadow(0 30px 30px rgba(0,0,0,.5));animation:fl 6s ease-in-out infinite}
@keyframes fl{50%{transform:translate(8%,-48%) rotate(3deg)}}
.fcount{position:absolute;right:26px;bottom:8px;display:flex;align-items:baseline;gap:6px;font-size:13px;color:rgba(255,255,255,.7)}
.fcount b{font-family:var(--d);font-weight:300;font-size:34px;color:var(--y1)}
.feats2 .sh em{color:rgba(255,255,255,.6)}
.acc{display:grid;gap:8px}
.fi{border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);transition:background .3s}
.fi[open]{background:rgba(255,255,255,.11)}
.fi summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer}
.fi summary::-webkit-details-marker{display:none}
.fic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.08);flex:none;transition:background .3s,color .3s}
.fi[open] .fic{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);color:var(--ink)}
.fi b{flex:1;font-weight:500;font-size:16px}
.pm{width:22px;height:22px;position:relative;flex:none}
.pm::before,.pm::after{content:"";position:absolute;left:5px;right:5px;top:10px;height:2px;border-radius:2px;background:rgba(255,255,255,.7);transition:transform .3s}
.pm::after{transform:rotate(90deg)}
.fi[open] .pm::after{transform:rotate(0)}
.fi p{padding:0 66px 16px 16px;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.7)}

/* footer model */
.fmodel{position:relative;height:260px;margin:40px -22px 0}
.word{position:absolute;inset:auto 0 40px;text-align:center;font-family:var(--d);font-weight:500;font-size:clamp(54px,14vw,96px);letter-spacing:-.06em;color:rgba(255,255,255,.07);direction:ltr;line-height:1}
#gl2{position:absolute;inset:0;width:100%;height:100%}
.fnote{position:absolute;bottom:0;inset-inline:0;text-align:center;font-size:15px;color:var(--y1)}
.foot{text-align:start;display:grid;grid-template-columns:1fr 1fr;gap:28px 20px;border-top:1px solid rgba(255,255,255,.1);padding-top:30px;margin-top:10px}
.fbrand{grid-column:1/-1;display:grid;gap:10px;justify-items:start}
.fbrand b{font-family:var(--d);font-weight:500;font-size:26px;letter-spacing:-.03em;color:#fff}
.fbrand p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.62);max-width:34ch}
.fcta{margin-top:4px;padding:10px 18px;border-radius:30px;background:var(--y1);color:var(--ink);font-weight:500;font-size:14px}
.fcol{display:grid;gap:9px;align-content:start;justify-items:start}
.fcol h3{font-size:12.5px;font-weight:500;color:rgba(255,255,255,.4);margin-bottom:2px}
.fcol a{font-size:15px;color:rgba(255,255,255,.82);transition:color .2s}
.fcol a:hover,.fbot a:hover{color:var(--y1)}
.fbot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);padding-top:16px;font-size:13px;color:rgba(255,255,255,.45)}
.fbot a{color:rgba(255,255,255,.6)}
.fbot span{margin-inline-end:auto}
@media (min-width:900px){.foot{grid-template-columns:1.4fr 1fr 1fr;gap:30px 60px}.fbrand{grid-column:auto}}

@media (max-width:899px){.dnav{display:none!important}}
@media (min-width:900px){
  .bar{max-width:none;padding:18px 48px}
  .bar:not(.solid){color:#fff}.bar:not(.solid) .logo svg{fill:#fff}
  .bar.solid .dnav{background:rgba(28,31,27,.05)}.bar.solid .dnav a{color:var(--mute)}
  .bar:not(.solid) .dcta{background:#fff;color:var(--ink)}
  .burger{display:none}
  .menu{display:none}
  .sh.big{font-size:44px}.sh.big em{font-size:20px}
  .intro{font-size:18px}
  #flow{display:grid;grid-template-columns:1fr 1.1fr;column-gap:60px;align-items:center}
  #flow .sh,#flow .intro{grid-column:1}
  #flow .flow{grid-column:2;grid-row:1/4;width:auto}
  .node b{font-size:24px}
  .phead{grid-column:1/-1}
  .feats2{max-width:1240px;margin:100px auto 40px;padding:60px 60px 60px}
  .fwrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
  .fvis{position:sticky;top:120px;height:520px;margin:0;transform:none}
  .fimg{width:400px;transform:translate(-60%,-50%) rotate(-5deg)}
  .ffloat{width:260px}
  .ring{width:440px;height:440px;margin:-220px 0 0 -220px}
  .acc{grid-template-columns:1fr}
  .fmodel{height:360px}
  .word{font-size:min(200px,13vw)}
  .dark .foot{grid-column:1/-1}
  .dark .fmodel{grid-column:1/-1}
}
.bar{inset-inline:auto;right:auto;left:50%}
.menu{inset:0 auto 0 50%;right:auto}
@media (min-width:900px){.bar{left:0;transform:none;width:100%}}
section{scroll-margin-top:70px}
/* mobile: the feature picture stays pinned while the list scrolls under it */
@media (max-width:899px){
  .feats2{padding-top:0;overflow:clip}
  .fvis{position:sticky;top:64px;z-index:3;height:230px;margin:0 -18px 10px;transform:none;background:linear-gradient(180deg,var(--deep) 80%,rgba(29,38,33,0));padding-top:10px}
  .fimg{width:190px;top:52%}
  .ffloat{width:130px;top:46%}
  .ring{width:210px;height:210px;margin:-105px 0 0 -105px}
  .fcount{bottom:14px}.fcount b{font-size:26px}
  .feats2 .sh{margin-top:4px}
  .acc{padding-bottom:30vh}
}
.fmodel{height:440px;margin:30px -22px 0}
.word{font-size:120px;bottom:90px}
@media (min-width:900px){.fmodel{height:560px}.word{font-size:260px;bottom:110px}}

.feats2 > .sh{padding-top:26px;margin-bottom:6px}
@media (max-width:899px){.feats2 > .sh{padding-top:28px}}
/* journey card (benefits) */
.jcard{position:relative;margin-top:12px;padding:20px 20px 18px;background:var(--deep);color:#fff;overflow:hidden;border:0}
.jcard .illu{position:absolute;top:16px;left:16px;color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.15)}
.jimg{position:absolute;width:190px;left:-30px;bottom:-30px;opacity:.9;filter:drop-shadow(0 20px 30px rgba(0,0,0,.5));transform:rotate(-8deg)}
.jt{font-size:13px;color:rgba(255,255,255,.6)}
.jl{list-style:none;margin-top:10px;display:grid;gap:9px;position:relative;max-width:68%}
.jl li{display:flex;align-items:center;gap:10px;font-size:14.5px;opacity:0;transform:translateX(16px);transition:opacity .5s,transform .5s}
.jl i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;background:rgba(127,176,105,.3);color:#cfe8c2;flex:none}
.jl .y i{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);color:var(--ink)}
.jcard.in .jl li{opacity:1;transform:none}
.jcard.in .jl li:nth-child(2){transition-delay:.25s}.jcard.in .jl li:nth-child(3){transition-delay:.5s}.jcard.in .jl li:nth-child(4){transition-delay:.75s}.jcard.in .jl li:nth-child(5){transition-delay:1s}

@media (min-width:900px){
  /* 1 · flow as a horizontal pipeline */
  #flow{display:block;text-align:center;max-width:1280px}
  #flow .sh.big{align-items:center}
  #flow .intro{margin:0 auto 40px;max-width:52ch}
  #flow .flow{display:grid;grid-template-columns:1fr 1fr 1.35fr 1fr 1fr;grid-template-areas:"a b c d e";align-items:center;gap:34px;width:auto}
  #flow .n3{width:auto!important}
  #flow .node{padding:18px 14px 22px}
  #flow .wires{display:none}
  #flow .node:not(.n5)::after{content:"";position:absolute;top:50%;left:-34px;width:34px;border-top:2px dashed var(--green);animation:dash2 1.4s linear infinite}
  @keyframes dash2{to{background-position:0}}
  #flow .node:not(.n5)::before{content:"";position:absolute;top:calc(50% - 4px);left:-38px;width:8px;height:8px;border-radius:50%;background:var(--green);z-index:2}
  /* 2 · model: sticky model + all cards listed */
  #model .stick{grid-template-columns:1.25fr 1fr;grid-template-rows:auto 1fr}
  #model .deck{height:auto;display:grid;gap:12px;perspective:none;align-self:center}
  .dcard{position:relative;inset:auto;flex-direction:row;align-items:center;justify-content:flex-start;padding:18px 20px;gap:16px;opacity:.55;transform:none!important;transition:opacity .4s,box-shadow .4s,background .4s}
  .dcard > *{opacity:1!important}
  .dcard.on{opacity:1;background:#fff;box-shadow:0 0 0 2px rgba(243,220,45,.7),0 24px 50px -28px rgba(40,50,30,.55)}
  .dcard.done{opacity:.75}
  .dcard b{font-size:20px}.dcard p{font-size:15px}
  .di{width:54px;height:54px;border-radius:17px;background:rgba(28,31,27,.06);box-shadow:none}
  .dcard.on .di{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);box-shadow:0 8px 18px -8px rgba(214,190,20,.8)}
  .di svg{width:24px;height:24px}
  /* 3 · benefits as a dashboard */
  #why{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:stretch}
  #why .sh,#why .intro{grid-column:1/-1}
  #why .intro{margin-bottom:10px}
  .chartc{grid-column:1}
  .jcard{grid-column:2;margin:0;padding:28px}
  .jimg{width:280px;left:-40px;bottom:-40px}
  .jl li{font-size:16px}
  .bens{grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin:0}
  /* 4 · how: wide stage on top, steps as a timeline below */
  #how .stick{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;row-gap:18px}
  #how .hstage{grid-column:1;grid-row:2}
  #how .hsteps{grid-column:1;grid-row:3;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}
  .hsteps li{grid-template-columns:40px 1fr;padding:14px 16px}
  .drop{width:300px}.build{width:360px}.review{width:min(560px,80%)}.live2{width:280px}
  .hs{grid-template-columns:1fr}
}
.fmodel{margin-bottom:34px}.fnote{bottom:-26px}
/* tab bar with labels */
.tabs{height:70px}
.tabs a{width:auto;min-width:54px;height:58px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11.5px;font-weight:500}
.tabs a svg{width:21px;height:21px}
.tabs a.on{background:rgba(28,31,27,.06)}
.tabs .plus{width:76px;height:56px;border-radius:24px;gap:1px}
.tabs .plus svg{width:20px;height:20px}
/* ===== desktop hero: wide photo + apartment availability overlay ===== */
.apts,.aptag,.aplegend{display:none}
.hero picture{position:absolute;inset:0}
.sn{display:none}
.flow .track{display:none}
@media (min-width:900px){
  .hero .photo{object-position:50% 50%;transform:none!important}
  .hero::after{background:linear-gradient(180deg,rgba(18,26,21,.45) 0%,rgba(18,26,21,0) 18%),linear-gradient(270deg,rgba(14,22,17,.78) 0%,rgba(18,28,22,.45) 30%,rgba(18,28,22,0) 50%),linear-gradient(0deg,rgba(14,22,17,.55),rgba(14,22,17,0) 30%)}
  .hero .bubble{display:none}
  .apts{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
  .ap{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.55);stroke-width:2.5;stroke-dasharray:3000;stroke-dashoffset:3000;animation:draw 2.4s cubic-bezier(.4,.1,.2,1) forwards}
  .ap.av{fill:rgba(243,220,45,.16);stroke:rgba(243,220,45,.85)}
  .ap.sold{fill:rgba(20,26,22,.35);stroke:rgba(255,255,255,.35)}
  .ap.on{fill:rgba(243,220,45,.42);stroke:#fff27a;stroke-width:4;filter:drop-shadow(0 0 18px rgba(243,220,45,.8))}
  .ap{transition:fill .5s,stroke .5s,stroke-width .5s}
  @keyframes draw{to{stroke-dashoffset:0}}
  .ap:nth-of-type(2){animation-delay:.15s}.ap:nth-of-type(3){animation-delay:.3s}.ap:nth-of-type(4){animation-delay:.45s}.ap:nth-of-type(5){animation-delay:.6s}.ap:nth-of-type(6){animation-delay:.75s}.ap:nth-of-type(7){animation-delay:.9s}.ap:nth-of-type(8){animation-delay:1.05s}
  .apin line{stroke:#fff;stroke-width:2;stroke-dasharray:6 6}
  .apin circle{fill:#fff27a;stroke:#fff;stroke-width:3}
  .aptag{display:flex;flex-direction:column;position:absolute;z-index:3;left:0;top:0;min-width:210px;padding:14px 18px 14px;border-radius:20px;background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 24px 50px -20px rgba(0,0,0,.6);transform:translate(-50%,-100%);transition:left .7s cubic-bezier(.4,.1,.2,1),top .7s cubic-bezier(.4,.1,.2,1),opacity .4s;opacity:0}
  .aptag.on{opacity:1}
  .aptag small{font-size:12.5px;color:var(--mute)}
  .aptag b{font-size:18px;font-weight:600;margin-top:2px}
  .aptag .st{align-self:flex-start;margin-top:8px;padding:3px 10px;border-radius:12px;font-size:12.5px;background:rgba(94,174,69,.15);color:#3f7d2f}
  .aplegend{display:flex;gap:16px;position:absolute;z-index:3;left:56px;bottom:56px;padding:10px 16px;border-radius:30px;background:rgba(20,26,22,.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:13px}
  .aplegend span{display:flex;align-items:center;gap:7px}
  .aplegend i{width:12px;height:12px;border-radius:3px}
  .l-av{background:rgba(243,220,45,.5);border:1.5px solid #f3dc2d}.l-sold{background:rgba(20,26,22,.6);border:1.5px solid rgba(255,255,255,.4)}.l-sel{background:#fff27a;box-shadow:0 0 10px #f3dc2d}

  /* ===== flow pipeline: bigger + a pulse that travels through the steps ===== */
  #flow .flow{gap:40px;position:relative;padding:30px 0 20px}
  #flow .node{padding:26px 18px 28px;border-radius:30px;animation:lit 7.5s ease-in-out infinite}
  #flow .node img{width:84%}
  #flow .node b{font-size:26px}
  #flow .node small{font-size:15px}
  #flow .n3 b{font-size:46px}
  #flow .n1{animation-delay:0s}#flow .n2{animation-delay:1.5s}#flow .n3{animation-delay:3s}#flow .n4{animation-delay:4.5s}#flow .n5{animation-delay:6s}
  @keyframes lit{0%,22%,100%{transform:translateY(0);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 16px 36px -24px rgba(40,50,30,.5)}6%,14%{transform:translateY(-12px);box-shadow:0 0 0 2px rgba(243,220,45,.85),0 30px 60px -26px rgba(140,120,10,.55)}}
  #flow .node img{transition:transform .6s}
  .sn{display:grid;position:absolute;top:-16px;right:50%;transform:translateX(50%);width:34px;height:34px;border-radius:50%;place-items:center;background:#fff;font-family:var(--d);font-size:14px;box-shadow:0 6px 16px -8px rgba(0,0,0,.4);z-index:2}
  #flow .node .sn{animation:snl 7.5s ease-in-out infinite;animation-delay:inherit}
  @keyframes snl{0%,22%,100%{background:#fff}6%,14%{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%)}}
  #flow .node:not(.n5)::after,#flow .node:not(.n5)::before{display:none}
  .flow .track{display:block;position:absolute;inset-inline:6%;top:50%;height:3px;border-radius:3px;background:repeating-linear-gradient(90deg,rgba(127,176,105,.6) 0 6px,transparent 6px 12px);z-index:0}
  .flow .track i{position:absolute;top:50%;right:0;width:16px;height:16px;margin:-8px -8px 0 0;border-radius:50%;background:var(--y2);box-shadow:0 0 0 6px rgba(243,220,45,.25),0 0 24px 6px rgba(243,220,45,.6);animation:travel 7.5s linear infinite}
  @keyframes travel{from{right:0}to{right:100%}}

  /* ===== model section: centred title, big unframed model ===== */
  #model .phead{grid-column:1/-1;justify-content:center;text-align:center}
  #model .phead .sh.big{align-items:center;font-size:52px}
  #model .dots{display:none}
  #model .stick{max-width:1440px;grid-template-columns:1.55fr 1fr;column-gap:30px;padding-top:96px}
  #model .live{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible}
  #model .live::before{content:"";position:absolute;inset:6% 4%;border-radius:50%;background:radial-gradient(closest-side,rgba(243,220,45,.16),transparent 70%);pointer-events:none}
}
/* ===== hero tag sits beside the apartment ===== */
@media (min-width:900px){.aptag{transform:translate(0,-50%)}}

/* ===== dashboard ===== */
.dash{display:grid;gap:10px}
.dtop{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kpi{padding:14px 16px}
.kpi small{font-size:12.5px;color:var(--mute)}
.kpi b{display:block;margin:4px 0 6px;font-family:var(--d);font-weight:300;font-size:30px;letter-spacing:-.03em}
.kpi.y{background:radial-gradient(circle at 30% 20%,#fff7b0,#f6e45a 80%);border:0}
.kpi.y .up{background:rgba(255,255,255,.55);color:var(--ink)}
.dmodel{position:relative;padding:14px;overflow:hidden}
.dmh{display:flex;justify-content:space-between;align-items:center}
.dmh b{font-weight:500;font-size:15px}
.live2{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#3f7d2f}
.live2 i{width:7px;height:7px;border-radius:50%;background:#5eae45;animation:blink 1.4s infinite}
.dmodel img{width:100%;margin-top:8px;border-radius:16px}
.hot{position:absolute;padding:6px 10px;border-radius:12px;background:rgba(255,255,255,.92);font-size:11.5px;color:var(--mute);box-shadow:0 8px 18px -10px rgba(0,0,0,.4)}
.hot b{display:block;font-size:13.5px;color:var(--ink)}
.hot::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--y2);box-shadow:0 0 0 6px rgba(243,220,45,.3);left:-14px;top:50%;margin-top:-5px;animation:blink 1.6s infinite}
.h1{top:40%;right:12%}.h2{top:62%;left:30%}.h3{top:28%;left:12%}
.bars{width:100%;height:150px;margin-top:10px;display:block}
.bars rect{transition:height 1.2s cubic-bezier(.3,.7,.2,1),y 1.2s cubic-bezier(.3,.7,.2,1)}
.lg2{background:var(--y2);margin-inline-start:10px}
.rooms2,.feed{padding:16px}
.rooms2 > b,.feed > b{display:block;font-weight:500;font-size:15px;margin-bottom:10px}
.rooms2 p{display:grid;grid-template-columns:86px 1fr 38px;align-items:center;gap:10px;font-size:13.5px;margin-top:8px}
.rooms2 i{height:10px;border-radius:10px;background:rgba(28,31,27,.07);position:relative;overflow:hidden}
.rooms2 i::after{content:"";position:absolute;inset:0;width:0;border-radius:10px;background:linear-gradient(90deg,var(--y1),var(--y2));transition:width 1.4s cubic-bezier(.3,.7,.2,1)}
.dash.in .rooms2 i::after{width:var(--w)}
.rooms2 em{font-style:normal;font-family:var(--d);font-size:12.5px;color:var(--mute);text-align:left}
.feed p{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}
.dash.in .feed p{opacity:1;transform:none}.dash.in .feed p:nth-of-type(2){transition-delay:.3s}.dash.in .feed p:nth-of-type(3){transition-delay:.6s}
.feed i{width:8px;height:8px;border-radius:50%;background:#b9b8ad}.feed i.g{background:#5eae45}.feed i.y{background:var(--y2)}
.feed small{margin-inline-start:auto;color:var(--soft);font-size:12px}
.note2{margin:10px 4px 0;font-size:12.5px;color:var(--soft)}

@media (min-width:900px){
  #why{max-width:1380px}
  #why .sh.big{align-items:center;text-align:center}
  .dash{grid-template-columns:1.3fr 1fr 1fr;grid-template-areas:"top top top" "model chart chart" "model rooms feed"}
  .dtop{grid-area:top;grid-template-columns:repeat(4,1fr);gap:10px}
  .kpi{padding:20px 22px}.kpi b{font-size:44px}
  .dmodel{grid-area:model}.dmodel img{height:calc(100% - 34px);object-fit:cover}
  .chartc{grid-area:chart}.rooms2{grid-area:rooms}.feed{grid-area:feed}
  .bars{height:190px}

  /* ===== voice: cinematic wide player ===== */
  #voice{display:block;max-width:1380px;text-align:center}
  #voice .sh.big{align-items:center}
  #voice .vp{display:none}
  #voice .player{aspect-ratio:21/9;width:100%;margin-top:6px;border-radius:34px}
  #voice .ptop{padding:24px 28px}
  #voice .pbot{padding:0 40px 30px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;text-align:right}
  #voice .sub2{font-size:24px;line-height:1.45;margin:0;min-height:0}
  #voice .prow{padding:10px 18px 10px 10px}
  #voice .snd{width:58px;height:58px}
  #voice .vwave{height:46px}
  #voice .tapme{grid-column:2;margin-top:-18px}
  #voice .stops{justify-content:center;margin-top:16px}

  /* ===== features: big visual + tile grid ===== */
  .feats2{max-width:1380px;padding:60px 56px}
  .fwrap{grid-template-columns:1.15fr 1fr;gap:40px}
  .fvis{height:640px;top:100px}
  .fimg{width:560px;border-radius:30px}
  .ffloat{width:340px}
  .ring{width:600px;height:600px;margin:-300px 0 0 -300px}
  .fcount b{font-size:52px}
  .acc{grid-template-columns:1fr 1fr;gap:10px}
  .fi{border-radius:22px;transition:background .3s,transform .3s}
  .fi:hover{transform:translateY(-3px);background:rgba(255,255,255,.1)}
  .fi summary{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}
  .fi .pm{display:none}
  .fi b{font-size:15.5px}
  .fic{width:46px;height:46px}
  .fi[open]{grid-column:1/-1;background:linear-gradient(135deg,rgba(243,220,45,.2),rgba(255,255,255,.06));border-color:rgba(243,220,45,.45)}
  .fi[open] summary{flex-direction:row;align-items:center}
  .fi[open] b{font-size:20px}
  .fi p{padding:0 18px 18px;font-size:15.5px}
}
.bento-sec{display:none}
@media (min-width:900px){
  #how,#meter{display:none}
  .bento-sec{display:block;max-width:1380px}
  .bento-sec .sh.big{align-items:center;text-align:center}
  .bento{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:330px 330px 150px;gap:14px}
  .bx{position:relative;overflow:hidden;border-radius:30px;background:rgba(255,255,255,.75);border:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 20px 44px -30px rgba(40,50,30,.5);display:flex;flex-direction:column}
  .b1{grid-row:1/3;background:linear-gradient(170deg,#fff,#f4f2ea)}
  .b2{grid-column:2/4;flex-direction:row-reverse}
  .b3{grid-column:2}.b4{grid-column:3;background:var(--deep);color:#fff}
  .b5{grid-column:1/4;flex-direction:row;align-items:center;gap:20px;padding:0 30px;background:radial-gradient(circle at 20% 30%,#fff7b0,#f3dc2d 85%);border:0}
  .bn{position:absolute;top:22px;right:22px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;font-family:var(--d);font-size:16px;box-shadow:0 6px 16px -8px rgba(0,0,0,.4);z-index:2}
  .b4 .bn{background:var(--y2);color:var(--ink)}
  .bt{padding:80px 28px 0;position:relative;z-index:1}
  .bt b{font-weight:500;font-size:26px;letter-spacing:-.02em}
  .bt p{margin-top:8px;font-size:15.5px;line-height:1.55;color:var(--mute);max-width:34ch}
  .b4 .bt p{color:rgba(255,255,255,.65)}
  .b2 .bt{flex:0 0 40%}
  .bv{position:relative;flex:1;display:grid;place-items:center;min-height:0}
  .b1 .bv{padding:20px}
  .fly{width:72%;filter:drop-shadow(0 30px 30px rgba(0,0,0,.2));animation:fall 3.4s cubic-bezier(.3,.7,.3,1) infinite}
  .b1 .file{position:absolute;bottom:40px;width:70%}
  .pbar i.loop{animation:load 3.4s ease-in-out infinite}
  @keyframes load{0%{width:0}60%,100%{width:100%}}
  .build2{position:relative}
  .build2 img{position:absolute;height:88%;width:auto;left:50%;top:50%;transform:translate(-50%,-50%)}
  .build2 .ghost{filter:grayscale(1) contrast(.6) brightness(1.15);opacity:.35}
  .build2 .solid{animation:rise 4s cubic-bezier(.4,.1,.2,1) infinite;filter:drop-shadow(0 20px 20px rgba(0,0,0,.18))}
  @keyframes rise{0%{clip-path:inset(100% 0 0 0)}70%,100%{clip-path:inset(0 0 0 0)}}
  .build2 .scan{position:absolute;left:15%;right:15%;height:2px;background:var(--green);box-shadow:0 0 18px 4px rgba(127,176,105,.6);animation:scan 4s cubic-bezier(.4,.1,.2,1) infinite}
  @keyframes scan{0%{top:94%}70%{top:6%;opacity:1}75%,100%{top:6%;opacity:0}}
  .rev2{padding:0 20px 20px}
  .rev2 img{width:100%;height:100%;object-fit:cover;border-radius:20px}
  .rev2 .p1{top:14%;right:10%}.rev2 .p2{bottom:16%;left:10%;animation:pop2 4s ease-in-out infinite}
  @keyframes pop2{0%,40%{opacity:0;transform:translateY(8px)}55%,100%{opacity:1;transform:none}}
  .ph2{height:82%;filter:drop-shadow(0 20px 22px rgba(0,0,0,.5))}
  .b4 .wa{left:12%;bottom:14%}
  .b5 img{width:90px}
  .b5 small{font-size:14px;color:rgba(28,31,27,.7)}
  .b5 b{display:block;font-family:var(--d);font-weight:300;font-size:40px;letter-spacing:-.03em}
  .cta2{margin-inline-start:auto;display:inline-flex;align-items:center;height:54px;padding:0 28px;border-radius:30px;background:var(--ink);color:#fff;font-weight:500}
  /* dashboard grid fix */
  #why{display:block}
  #why .chartc{grid-column:auto}
}
/* ===== pricing calculator ===== */
.calc{display:grid;gap:12px}
.cfg{display:grid;gap:10px}
.base{display:flex;gap:14px;padding:16px 18px;background:var(--deep);color:#fff;border:0}
.bi2{width:44px;height:44px;border-radius:14px;flex:none;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);color:var(--ink)}
.base b{font-weight:500;font-size:17px}.base p{margin-top:4px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.7)}
.types{padding:16px 18px}
.th{display:flex;align-items:center;justify-content:space-between;gap:12px}
.th b{font-weight:500;font-size:17px}.th p{font-size:13px;color:var(--mute);margin-top:2px}
.step{display:flex;align-items:center;gap:6px;background:#fff;border-radius:30px;padding:5px;box-shadow:0 6px 16px -10px rgba(0,0,0,.4)}
.step button{width:38px;height:38px;border-radius:50%;font-size:20px;background:var(--cream)}
.step output{min-width:36px;text-align:center;font-family:var(--d);font-size:22px}
#range{width:100%;margin:16px 0 12px;accent-color:#e6c919;height:6px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.tiers span{padding:8px 6px;border-radius:14px;background:rgba(28,31,27,.04);font-size:12px;color:var(--mute);text-align:center;transition:background .3s,color .3s}
.tiers b{display:block;font-size:14px;color:var(--ink)}
.tiers span.on{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);color:var(--ink)}
.adds{display:grid;gap:8px}
.add{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;transition:background .3s,box-shadow .3s}
.add input{position:absolute;opacity:0;pointer-events:none}
.ai{width:40px;height:40px;border-radius:13px;flex:none;display:grid;place-items:center;background:rgba(28,31,27,.06);transition:background .3s}
.at{flex:1}.at b{display:block;font-weight:500;font-size:15px}.at small{font-size:12.5px;color:var(--mute)}
.add em{font-style:normal;font-size:13.5px;color:var(--mute);white-space:nowrap}
.add::after{content:"";width:24px;height:24px;border-radius:50%;flex:none;border:1.5px solid rgba(28,31,27,.2);transition:all .3s}
.add:has(input:checked){background:#fff;box-shadow:0 0 0 2px rgba(243,220,45,.8),0 14px 30px -20px rgba(140,120,10,.6)}
.add:has(input:checked) .ai{background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%)}
.add:has(input:checked)::after{border-color:var(--ink);background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/13px no-repeat}
.add:focus-within{outline:2px solid var(--ink);outline-offset:2px}
.sum{padding:20px 20px 18px;background:rgba(255,255,255,.92)}
.sk{font-size:13.5px;color:var(--mute)}
.tot span{display:block;font-family:var(--d);font-weight:300;font-size:52px;letter-spacing:-.04em;line-height:1.05;margin-top:4px}
.tot small{font-size:12.5px;color:var(--soft)}
.per{margin-top:12px;font-size:14.5px;color:var(--mute)}.per b{color:var(--ink);font-weight:600}
.perbar{margin-top:8px;height:8px;border-radius:8px;background:rgba(28,31,27,.06);overflow:hidden}
.perbar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--y1),var(--y2));transition:width .6s cubic-bezier(.3,.7,.2,1)}
#lines,.incl{list-style:none;margin-top:14px;display:grid;gap:7px;font-size:13.5px}
#lines li{display:flex;justify-content:space-between;gap:10px;color:var(--mute)}
#lines li b{color:var(--ink);font-weight:500;font-family:var(--d);font-size:13px}
.incl{padding-top:12px;border-top:1px solid var(--line)}
.incl li{display:flex;align-items:center;gap:8px;color:var(--mute)}
.incl li::before{content:"";width:16px;height:16px;border-radius:50%;flex:none;background:rgba(94,174,69,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234c8a3a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/10px no-repeat}
.sum .slide{margin-top:16px}
.pil{margin-top:12px;font-size:12.5px;color:var(--soft);text-align:center}
@media (min-width:900px){
  #pricing{max-width:1280px}
  #pricing .sh.big{align-items:center;text-align:center}
  .calc{grid-template-columns:1.5fr 1fr;gap:18px;align-items:start}
  .adds{grid-template-columns:1fr 1fr}
  .sum{position:sticky;top:100px;padding:28px}
  .tot span{font-size:68px}
}
/* ===== FAQ: topic tabs + stacked card deck ===== */
#faq{max-width:1180px}
#faq .sh.big{align-items:center;text-align:center}
.qtabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -18px 18px;padding:4px 18px}
.qtabs::-webkit-scrollbar{display:none}
.qtabs button{flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:30px;background:rgba(255,255,255,.7);border:1px solid var(--line);font-size:14.5px;font-weight:500;color:var(--mute);transition:background .3s,color .3s}
.qtabs button i{font-style:normal;font-family:var(--d);font-size:11.5px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(28,31,27,.06)}
.qtabs button[aria-selected=true]{background:var(--ink);color:#fff}
.qtabs button[aria-selected=true] i{background:var(--y2);color:var(--ink)}
.qstage{position:relative;height:440px}
.qdeck{position:absolute;inset:0}
.qc{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:var(--deep);color:#fff;box-shadow:0 30px 60px -34px rgba(20,30,20,.7);transition:transform .6s cubic-bezier(.3,.7,.2,1),opacity .5s,filter .5s;transform-origin:left center;cursor:pointer}
.qv{height:150px;flex:none;display:grid;place-items:center;background:radial-gradient(circle at 50% 60%,rgba(243,220,45,.35),transparent 65%),#26312b}
.qv img{height:84%;filter:drop-shadow(0 20px 20px rgba(0,0,0,.5))}
.qb{position:relative;padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.qn{position:absolute;top:18px;left:22px;font-family:var(--d);font-weight:300;font-size:26px;color:var(--y1)}
.qc h3{font-weight:500;font-size:22px;line-height:1.25;max-width:80%}
.qc p{margin-top:auto;font-size:15px;line-height:1.6;color:rgba(255,255,255,.75)}
.qnav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}
.qnav button{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);box-shadow:0 10px 22px -10px rgba(214,190,20,.9)}
.qnav span{font-family:var(--d);font-size:14px;color:var(--mute);min-width:44px;text-align:center}
@media (min-width:900px){
  .qtabs{justify-content:center;margin:0 0 26px}
  .qstage{height:420px}
  .qc{inset:0 0 0 22%;flex-direction:row}
  .qv{width:38%;height:auto}
  .qb{padding:44px 40px}
  .qn{font-size:40px;top:36px;left:40px}
  .qc h3{font-size:32px;max-width:85%}
  .qc p{font-size:17px}
}

.qv img{max-height:130px}
@media (min-width:900px){.qv img{max-height:none}}
/* traffic sources donut */
.src{padding:16px}
.src > b{display:block;font-weight:500;font-size:15px}
.donut{position:relative;width:150px;margin:12px auto 6px}
.donut svg{width:100%;transform:rotate(-90deg)}
.donut circle{fill:none;stroke-width:5.5}
.dbg{stroke:rgba(28,31,27,.06)}
.seg{stroke-dasharray:0 100;stroke-dashoffset:calc(var(--o) * -1);transition:stroke-dasharray 1.4s cubic-bezier(.3,.7,.2,1)}
.dash.in .seg{stroke-dasharray:calc(var(--v) - .8) calc(100 - var(--v) + .8)}
.s1{stroke:#1c1f1b}.s2{stroke:#f3dc2d}.s3{stroke:#7fb069}.s4{stroke:#c9c6bb}
.s2{transition-delay:.25s}.s3{transition-delay:.5s}.s4{transition-delay:.75s}
.donut p{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.donut p b{font-family:var(--d);font-weight:300;font-size:28px;line-height:1}.donut p small{font-size:12px;color:var(--mute)}
.dl{list-style:none;display:grid;gap:6px;font-size:13px}
.dl li{display:flex;align-items:center;gap:8px}.dl em{margin-inline-start:auto;font-style:normal;font-family:var(--d);color:var(--mute)}
.dl i{width:10px;height:10px;border-radius:3px}.c1{background:#1c1f1b}.c2{background:#f3dc2d}.c3{background:#7fb069}.c4{background:#c9c6bb}
@media (min-width:900px){
  .dash{grid-template-areas:"top top top" "model chart src" "model rooms feed"!important}
  #why .chartc{grid-area:chart}
  .src{grid-area:src}
}
.donut svg{width:150px!important;height:150px!important;display:block}

.aptag .atop{display:flex;align-items:center;gap:12px}
.av2{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:600;font-size:16px;background:radial-gradient(circle at 35% 30%,var(--y1),var(--y2) 75%);color:var(--ink)}
.aptag b{font-size:16.5px}.aptag small{display:block;font-size:13.5px;color:var(--mute);margin-top:1px}
.aptag .st{display:inline-flex;align-items:center;gap:6px;margin-top:10px}
.aptag .st i{width:7px;height:7px;border-radius:50%;background:#5eae45;animation:blink 1.4s infinite}
.aptag{transition:left .7s cubic-bezier(.4,.1,.2,1),top .7s cubic-bezier(.4,.1,.2,1),opacity .35s}
.aptag.swap{opacity:0}
@media (min-width:900px){.ap.av{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.45);stroke-width:2}.ap.on{fill:rgba(243,220,45,.4);stroke:#fff27a;stroke-width:4}.apin line{stroke-width:2.5}}

/* ---- nav v3: no logo icon, stronger desktop nav ---- */
.logo svg{display:none!important}
.logo{font-weight:600;font-size:24px;letter-spacing:-.03em}
@media (min-width:900px){
  .bar{padding:16px 48px}
  .logo{font-size:26px}
  .dnav{gap:4px;padding:6px;border-radius:40px;background:rgba(18,24,20,.42);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 14px 40px -18px rgba(0,0,0,.55)}
  .dnav a{padding:11px 20px;font-size:15.5px;font-weight:500;color:#fff;transition:background .25s,color .25s}
  .dnav a:hover{background:rgba(255,255,255,.16)}
  .dnav a.on{background:#fff;color:var(--ink)}
  .bar.solid{background:rgba(247,246,240,.9);box-shadow:0 1px 0 var(--line),0 10px 30px -22px rgba(0,0,0,.35)}
  .bar.solid .dnav{background:#fff;border-color:rgba(28,31,27,.08);box-shadow:0 8px 24px -14px rgba(0,0,0,.25)}
  .bar.solid .dnav a{color:var(--ink)}
  .bar.solid .dnav a:hover{background:rgba(28,31,27,.06)}
  .bar.solid .dnav a.on{background:var(--ink);color:#fff}
  .dcta{height:48px;padding:0 24px;font-size:15.5px;font-weight:600}
}

/* ===== mobile hero: same buyer-activity overlay as desktop ===== */
@media (max-width:899px){
  .hero .photo{transform:none!important}
  .hero::after{background:linear-gradient(180deg,rgba(14,22,17,.6) 0%,rgba(14,22,17,0) 16%),linear-gradient(0deg,#121a15 0%,rgba(22,32,26,.92) 26%,rgba(30,44,35,.35) 44%,rgba(30,44,35,0) 56%)}
  .bar:not(.solid){color:#fff}
  .bar:not(.solid) .burger{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3)}
  .bar:not(.solid) .burger i{background:#fff}
  .apts{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
  .ap{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.5);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 2.4s cubic-bezier(.4,.1,.2,1) forwards;transition:fill .5s,stroke .5s}
  .ap.on{fill:rgba(243,220,45,.42);stroke:#fff27a;stroke-width:3;filter:drop-shadow(0 0 12px rgba(243,220,45,.8))}
  @keyframes draw{to{stroke-dashoffset:0}}
  .ap:nth-of-type(2){animation-delay:.15s}.ap:nth-of-type(3){animation-delay:.3s}.ap:nth-of-type(4){animation-delay:.45s}.ap:nth-of-type(5){animation-delay:.6s}.ap:nth-of-type(6){animation-delay:.75s}.ap:nth-of-type(7){animation-delay:.9s}.ap:nth-of-type(8){animation-delay:1.05s}
  .apin line{stroke:#fff;stroke-width:1.5;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
  .apin circle{r:22px;fill:#fff27a;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
  .aptag{display:flex;flex-direction:column;position:absolute;z-index:3;left:0;top:0;width:250px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:0 20px 40px -18px rgba(0,0,0,.65);transform:none;opacity:0}
  .aptag.on{opacity:1}.aptag.swap{opacity:0}
  .aptag b{font-size:15px}.aptag small{font-size:12.5px;line-height:1.35}
  .aptag .av2{width:36px;height:36px;font-size:15px}
  .aptag .st{margin-top:8px;padding:3px 10px;border-radius:12px;font-size:12px;background:rgba(94,174,69,.15);color:#3f7d2f;align-self:flex-start}
}

/* ===== story sections (problem → solution): full-bleed, one live graphic per point ===== */
.story{position:relative;padding:70px 18px 60px}
.sin{max-width:1360px;margin:0 auto}
.shd{text-align:center;margin-bottom:36px}
.shd h2{font-weight:500;font-size:clamp(32px,5vw,64px);line-height:1.08;letter-spacing:-.035em}
.shd p{margin:16px auto 0;max-width:52ch;font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:var(--mute)}
/* problem: dark, quiet, a little stale */
.pain-s{background:var(--deep);color:#fff;margin-top:30px;border-radius:var(--r);background-image:radial-gradient(70% 60% at 50% 0%,rgba(217,83,79,.14),transparent 70%)}
.pain-s .shd p{color:rgba(255,255,255,.62)}
.pgrid{display:grid;gap:16px}
.pp{border-radius:26px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:12px 12px 24px;opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}
.pgrid.in .pp{opacity:1;transform:none}.pgrid.in .pp:nth-child(2){transition-delay:.15s}.pgrid.in .pp:nth-child(3){transition-delay:.3s}
.pp h3{margin:18px 12px 6px;font-weight:500;font-size:22px;letter-spacing:-.02em}
.pp p{margin:0 12px;font-size:15px;line-height:1.55;color:rgba(255,255,255,.6)}
.pg{position:relative;height:250px;border-radius:18px;background:rgba(255,255,255,.04);overflow:hidden;display:grid;place-items:center}
/* 1 · a plan nobody can read */
.pg .fp{width:auto;height:66%;max-width:80%;margin-top:20px;fill:none;stroke:rgba(255,255,255,.75);stroke-width:2.2;stroke-linecap:round}
.fp rect,.fp path{stroke-dasharray:700;stroke-dashoffset:700}
.pgrid.in .fp rect,.pgrid.in .fp path{animation:draw 2.4s .3s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.dim{position:absolute;top:24px;left:11%;right:46%;display:flex;align-items:center;justify-content:center}
.dim i{position:absolute;inset:50% 0 auto;border-top:1.5px solid var(--y1);transform:scaleX(0);transform-origin:right}
.dim i::before,.dim i::after{content:"";position:absolute;top:-6px;width:1.5px;height:11px;background:var(--y1)}.dim i::before{right:0}.dim i::after{left:0}
.dim b{position:relative;background:var(--deep);padding:0 6px;font:500 13px var(--d);color:var(--y1);opacity:0}
.pgrid.in .dim i{animation:grow 1s 1.8s ease forwards}.pgrid.in .dim b{animation:fin .5s 2.6s forwards}
@keyframes grow{to{transform:scaleX(1)}}@keyframes fin{to{opacity:1}}
.qm{position:absolute;width:34px;height:34px;border-radius:50%;background:#d9534f;color:#fff;font:600 18px var(--d);display:grid;place-items:center;opacity:0;box-shadow:0 0 0 0 rgba(217,83,79,.5)}
.q1{top:42%;right:30%}.q2{top:30%;left:26%}.q3{bottom:16%;left:44%}
.pgrid.in .qm{animation:qpop .5s 2.9s forwards,qping 2.4s 3.4s infinite}.pgrid.in .q2{animation-delay:3.2s,3.7s}.pgrid.in .q3{animation-delay:3.5s,4s}
@keyframes qpop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
@keyframes qping{0%{box-shadow:0 0 0 0 rgba(217,83,79,.55)}70%,100%{box-shadow:0 0 0 14px rgba(217,83,79,0)}}
/* 2 · every project looks the same */
.docs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:88%}
.doc{background:#f4f2ea;border-radius:8px;padding:8px 7px 7px;display:grid;gap:5px;color:var(--ink);opacity:.9}
.doc i{height:52px;border-radius:4px;background:repeating-linear-gradient(0deg,transparent 0 11px,rgba(28,31,27,.18) 11px 12.5px),repeating-linear-gradient(90deg,transparent 0 14px,rgba(28,31,27,.18) 14px 15.5px),#e4e1d6}
.doc s{height:4px;border-radius:2px;background:rgba(28,31,27,.14)}.doc s+s{width:60%}
.doc small{font-size:10px;color:var(--mute);text-align:center}
.pgrid.in .doc{animation:scan 6s infinite}.pgrid.in .doc:nth-child(2){animation-delay:1.5s}.pgrid.in .doc:nth-child(3){animation-delay:3s}.pgrid.in .doc:nth-child(4){animation-delay:4.5s}
@keyframes scan{0%,20%,100%{transform:none;box-shadow:none}6%,14%{transform:translateY(-8px);box-shadow:0 0 0 2px var(--y1),0 16px 24px -12px rgba(0,0,0,.6)}}
.stamp{position:absolute;bottom:26px;padding:6px 16px;border:2px solid #d9534f;border-radius:10px;color:#ff8a84;font-weight:600;font-size:17px;transform:rotate(-8deg) scale(1.6);opacity:0}
.pgrid.in .stamp{animation:stampin 6s 1s infinite}
@keyframes stampin{0%,55%{opacity:0;transform:rotate(-8deg) scale(1.6)}62%,92%{opacity:1;transform:rotate(-8deg) scale(1)}100%{opacity:0;transform:rotate(-8deg) scale(1)}}
/* 3 · a full virtual tour: slow and expensive */
.pg3{place-items:stretch;align-content:center;gap:16px;padding:22px}
.cal{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.cal i{height:26px;border-radius:6px;background:rgba(255,255,255,.07)}
.pgrid.in .cal i{animation:wk 9s infinite}
.cal i:nth-child(1){animation-delay:.2s!important}.cal i:nth-child(2){animation-delay:.8s!important}.cal i:nth-child(3){animation-delay:1.4s!important}.cal i:nth-child(4){animation-delay:2s!important}.cal i:nth-child(5){animation-delay:2.6s!important}.cal i:nth-child(6){animation-delay:3.2s!important}.cal i:nth-child(7){animation-delay:3.8s!important}.cal i:nth-child(8){animation-delay:4.4s!important}.cal i:nth-child(9){animation-delay:5s!important}.cal i:nth-child(10){animation-delay:5.6s!important}.cal i:nth-child(11){animation-delay:6.2s!important}.cal i:nth-child(12){animation-delay:6.8s!important}
@keyframes wk{0%{background:rgba(255,255,255,.07)}4%,92%{background:rgba(217,83,79,.55)}100%{background:rgba(255,255,255,.07)}}
.prog,.cost{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:13px;color:rgba(255,255,255,.65)}
.prog b{font:500 13px var(--d);color:#fff}
.prog>div,.cost>div{grid-column:1/-1;height:10px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.prog i,.cost i{display:block;height:100%;width:0;border-radius:6px}
.prog i{background:#b9bcb3}.cost i{background:linear-gradient(90deg,#d9534f,#ff8a84)}
.pgrid.in .prog i{animation:crawl 8.5s ease-out infinite}.pgrid.in .cost i{animation:climb 8.5s ease-in infinite}
@keyframes crawl{0%{width:0}85%,100%{width:18%}}@keyframes climb{0%{width:4%}85%,100%{width:92%}}
.pq{margin:56px 0 0;display:grid;gap:8px;justify-items:center;text-align:center}
.pq b{font-weight:300;font-size:clamp(38px,6vw,84px);letter-spacing:-.03em;line-height:1}
.pq span{font-size:14px;color:rgba(255,255,255,.5)}
.bridge{margin:34px auto 0;max-width:720px;padding:20px 26px;border-radius:24px;background:var(--y1);color:var(--ink);font-size:clamp(17px,1.6vw,21px);line-height:1.5;text-align:center;font-weight:500}

/* solution bands */
.sol-s{background:radial-gradient(60% 30% at 50% 0%,rgba(255,242,122,.35),transparent 70%)}
.band{margin-top:56px;padding:26px 16px 18px;border-radius:32px}
.b-buy{background:linear-gradient(180deg,#eef4e8,#f7f9f3)}
.b-dev{background:linear-gradient(180deg,#fbf5d6,#fcfaee)}
.b-sale{background:linear-gradient(180deg,#f4ece4,#faf6f1)}
.bhd{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
.bno{font:300 52px/0.9 var(--d);letter-spacing:-.05em;color:rgba(28,31,27,.18);flex:none}
.bhd .who{display:inline-block;font-size:13px;font-weight:500;padding:5px 12px;border-radius:20px;background:var(--ink);color:var(--y1)}
.bhd h3{margin:10px 0 8px;font-weight:500;font-size:clamp(26px,3vw,40px);letter-spacing:-.03em;line-height:1.1}
.bhd p{font-size:clamp(15px,1.3vw,18px);line-height:1.6;color:var(--mute);max-width:60ch}
.fgrid{display:grid;gap:14px;opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}
.fgrid.in{opacity:1;transform:none}
.fc{display:flex;flex-direction:column;border-radius:26px;background:#fff;box-shadow:0 20px 44px -32px rgba(40,50,30,.6);overflow:hidden;transition:transform .35s,box-shadow .35s}
.fc:hover{transform:translateY(-4px);box-shadow:0 30px 54px -30px rgba(40,50,30,.6)}
.sbx{position:relative;overflow:hidden;height:220px;background:#f6f5ef}
.ftx{padding:18px 20px 22px;display:grid;gap:6px}
.ftx b{font-weight:500;font-size:19px;letter-spacing:-.01em}
.ftx p{font-size:14.5px;line-height:1.6;color:var(--mute)}
/* buyer · walked route on the real plan */
.t-route>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.25)}
.t-route svg{transform:scale(1.25)}
.t-route svg{position:absolute;inset:0;width:100%;height:100%}
.t-route .route{fill:none;stroke:var(--green);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14 14;animation:dashmove 1s linear infinite}
.t-route .vdot2{fill:var(--y2);stroke:rgba(243,220,45,.45);stroke-width:16}
.t-route .vcap{inset:auto 10px 10px}
.t-route .vtx{height:18px}.t-route .vtx i{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:cap 10s infinite}
.t-route .vtx i:nth-child(2){animation-delay:2.5s}.t-route .vtx i:nth-child(3){animation-delay:5s}.t-route .vtx i:nth-child(4){animation-delay:7.5s}
/* sales · heat over the real plan */
.t-heat>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.35)}
.blob{position:absolute;border-radius:50%;mix-blend-mode:multiply;filter:blur(14px);animation:hb 3s ease-in-out infinite}
.bl1{width:30%;aspect-ratio:1;left:26%;top:44%;background:rgba(240,90,40,.75)}
.bl2{width:22%;aspect-ratio:1;left:56%;top:50%;background:rgba(245,150,40,.6);animation-delay:.8s}
.bl3{width:18%;aspect-ratio:1;left:42%;top:30%;background:rgba(250,210,50,.55);animation-delay:1.6s}
@keyframes hb{50%{transform:scale(1.12)}}
.hl{position:absolute;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 9px;border-radius:10px;background:#fff;box-shadow:0 6px 14px -8px rgba(0,0,0,.4);white-space:nowrap;opacity:0}
.hl i{width:8px;height:8px;border-radius:50%}
.hl1{left:6%;bottom:14%}.hl1 i{background:#f05a28}
.hl2{right:6%;bottom:28%}.hl2 i{background:#f59628}
.hl3{left:6%;top:12%}.hl3 i{background:#f5c832}
.brow.in .hl{animation:fin .5s 1s forwards}.brow.in .hl2{animation-delay:1.4s}.brow.in .hl3{animation-delay:1.8s}
/* buyer · model */
.t-model{display:grid;place-items:center;background:radial-gradient(60% 70% at 50% 60%,#fff,#ece9df)}
.t-model img{width:min(56%,230px);filter:drop-shadow(0 26px 22px rgba(0,0,0,.25));animation:spin 9s ease-in-out infinite}
@keyframes spin{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-8px)}}
.t-model .ring{position:absolute;width:70%;aspect-ratio:3/1;border:2px dashed rgba(127,176,105,.6);border-radius:50%;bottom:16%;animation:ringspin 12s linear infinite}
@keyframes ringspin{to{transform:rotate(360deg)}}
.deg{position:absolute;top:14px;right:16px;font:300 34px var(--d)}
.drag{position:absolute;bottom:12px;left:14px;font-size:12px;padding:5px 10px;border-radius:12px;background:var(--ink);color:#fff}
/* buyer · voice tour along a route */
.t-voice{background:#f6f5ef}
.t-voice .vp{position:absolute;inset:12px 12px 64px;width:calc(100% - 24px);height:calc(100% - 76px);fill:none;stroke:rgba(28,31,27,.35);stroke-width:2}
.vp .vdot2{fill:var(--y2);stroke:rgba(243,220,45,.35);stroke-width:8}
.vp .route{stroke:var(--green);stroke-width:3;stroke-dasharray:6 6;animation:dashmove 1s linear infinite}
@keyframes dashmove{to{stroke-dashoffset:-12}}
.vdot{position:absolute;width:16px;height:16px;margin:-8px;border-radius:50%;background:var(--y2);box-shadow:0 0 0 6px rgba(243,220,45,.35);offset-path:path("M30 104 L60 40 L160 26 L170 88");animation:walk 8s ease-in-out infinite;left:12px;top:12px;transform-origin:0 0}
@keyframes walk{0%{offset-distance:0%}30%{offset-distance:30%}55%{offset-distance:62%}80%,100%{offset-distance:100%}}
.vcap{position:absolute;inset:auto 10px 10px;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:#fff;box-shadow:0 8px 20px -12px rgba(0,0,0,.35)}
.vcap .pl{width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--y1);display:grid;place-items:center;font-size:11px}
.vtx{position:relative;flex:1;height:18px}.vtx i{position:absolute;inset:0;font-style:normal;font-weight:500;font-size:14px;opacity:0;animation:cap 8s infinite}
.vtx i:nth-child(2){animation-delay:2s}.vtx i:nth-child(3){animation-delay:4s}.vtx i:nth-child(4){animation-delay:6s}
@keyframes cap{0%,22%{opacity:1}25%,100%{opacity:0}}
.wave{display:flex;align-items:center;gap:3px;height:20px}
.wave i{width:3px;height:30%;border-radius:2px;background:var(--green);animation:wv 1.1s ease-in-out infinite}
.wave i:nth-child(2n){animation-delay:.15s}.wave i:nth-child(3n){animation-delay:.3s}.wave i:nth-child(4n){animation-delay:.45s}
@keyframes wv{50%{height:100%}}
/* buyer · renders per room */
.t-gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:gal 9s infinite}
.t-gal img:nth-child(2){animation-delay:3s}.t-gal img:nth-child(3){animation-delay:6s}
@keyframes gal{0%{opacity:0;transform:scale(1.08)}6%,33%{opacity:1}40%,100%{opacity:0;transform:scale(1)}}
.glab{position:absolute;top:12px;right:12px;height:28px;min-width:90px}
.glab i{position:absolute;right:0;font-style:normal;font-size:13px;font-weight:500;padding:5px 11px;border-radius:14px;background:rgba(255,255,255,.92);white-space:nowrap;opacity:0;animation:cap 9s infinite}
.glab i:nth-child(1){animation-name:cap3}.glab i:nth-child(2){animation:cap3 9s 3s infinite}.glab i:nth-child(3){animation:cap3 9s 6s infinite}
@keyframes cap3{0%,30%{opacity:1}34%,100%{opacity:0}}
/* developer · gantt */
.t-gantt{padding:20px 22px;display:grid;align-content:center;gap:14px;background:#fbfaf6}
.gw,.gr{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:10px;font-size:13px;color:var(--mute)}
.gw{grid-template-columns:84px repeat(8,1fr);text-align:center;font:500 12px var(--d)}.gw span{text-align:start;font-family:var(--f);font-weight:400}
.gr>div{position:relative;height:22px;border-radius:8px;background:repeating-linear-gradient(90deg,rgba(28,31,27,.05) 0 calc(12.5% - 2px),transparent calc(12.5% - 2px) 12.5%)}
.gr b{position:absolute;inset:0 0 0 auto;width:0;border-radius:8px}
.slow{background:linear-gradient(90deg,#c9ccc3,#b2b6ac)}.fast{background:linear-gradient(90deg,var(--y2),var(--y1))}
.gr.me span{color:var(--ink);font-weight:500}
.gr em{position:absolute;top:50%;right:calc(13% + 8px);transform:translateY(-50%);font-style:normal;font-size:12.5px;font-weight:500;color:#4c8a3a;opacity:0}
.brow.in .slow{animation:gs 7s ease-in-out infinite}.brow.in .fast{animation:gf 7s ease-out infinite}.brow.in .gr em{animation:ge 7s infinite}
@keyframes gs{0%{width:0}90%,100%{width:100%}}@keyframes gf{0%{width:0}12%,100%{width:11%}}@keyframes ge{0%,12%{opacity:0}16%,100%{opacity:1}}
/* developer · race */
.t-race{padding:22px 20px;display:grid;align-content:center;gap:18px;background:#fbfaf6}
.lane{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:10px;font-size:13px;color:var(--mute)}
.lane>div{position:relative;height:6px;border-radius:4px;background:rgba(28,31,27,.08)}
.lane.me span{color:var(--ink);font-weight:500}
.car{position:absolute;top:50%;right:0;width:22px;height:22px;margin-top:-11px;border-radius:50%}
.car.them{background:#b2b6ac}.car.us{background:var(--y2);box-shadow:0 0 0 6px rgba(243,220,45,.3)}
.brow.in .car.us{animation:race 5s cubic-bezier(.3,.9,.3,1) infinite}.brow.in .car.them{animation:race2 5s linear infinite}
@keyframes race{0%{right:0}35%,100%{right:calc(100% - 22px)}}@keyframes race2{0%{right:0}100%{right:38%}}
.flag{position:absolute;left:12px;top:12px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:12px;background:var(--ink);color:#fff}
/* developer · time on page */
.t-time{padding:18px 20px;display:grid;align-content:center;gap:8px;background:#fbfaf6}
.tl{font-size:13px;color:var(--mute)}
.tnum{font:300 46px var(--d);letter-spacing:-.04em;direction:ltr;text-align:right}
.tb2{display:flex;gap:12px;align-items:stretch;height:64px}
.tb2>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;height:100%}
.tb2 i{display:block;border-radius:6px 6px 2px 2px;height:0;transition:height 2.4s cubic-bezier(.2,.8,.2,1) .2s}
.tb2 small{font-size:11.5px;color:var(--mute);text-align:center}
.b1{background:#c9ccc3}.b2{background:linear-gradient(0deg,var(--y2),var(--y1))}
.brow.in .b1{height:12px}.brow.in .b2{height:42px}
/* sales · heatmap */
.t-heat{background:#fbfaf6}
.t-heat svg{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px)}
.h{fill:rgba(127,176,105,.08);stroke:rgba(28,31,27,.4);stroke-width:1.5}
.brow.in .h1{animation:heat1 3s ease-in-out infinite}.brow.in .h3{animation:heat2 3s .6s ease-in-out infinite}.brow.in .h2{animation:heat3 3s 1.2s ease-in-out infinite}
@keyframes heat1{50%{fill:rgba(243,120,45,.55)}0%,100%{fill:rgba(243,140,45,.38)}}
@keyframes heat2{50%{fill:rgba(243,180,45,.45)}0%,100%{fill:rgba(243,200,45,.25)}}
@keyframes heat3{50%{fill:rgba(243,220,45,.32)}0%,100%{fill:rgba(243,220,45,.14)}}
.hts text{font:500 9px var(--f);fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;opacity:0}
.brow.in .hts text{animation:fin .5s 1s forwards}.brow.in .hts text:nth-child(2){animation-delay:1.4s}.brow.in .hts text:nth-child(3){animation-delay:1.8s}
.ht{position:absolute;font-size:12.5px;font-weight:500;padding:4px 9px;border-radius:10px;background:#fff;box-shadow:0 6px 14px -8px rgba(0,0,0,.4);opacity:0}
.ht1{top:28%;left:24%}.ht2{top:14%;right:9%}.ht3{bottom:24%;right:12%}
.brow.in .ht{animation:fin .5s 1s forwards}.brow.in .ht2{animation-delay:1.4s}.brow.in .ht3{animation-delay:1.8s}
/* sales · personal link */
.t-link{padding:18px;display:grid;align-content:center;gap:14px;background:#fbfaf6}
.url{display:flex;align-items:center;direction:ltr;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);font:500 15px var(--d)}
.typ{display:inline-block;overflow:hidden;white-space:nowrap;width:0;animation:type 6s steps(16) infinite}
.caret{width:2px;height:18px;background:var(--ink);margin-left:2px;animation:blink .8s steps(1) infinite}
@keyframes type{0%{width:0}35%,100%{width:16ch}}@keyframes blink{50%{opacity:0}}
.wmsg{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#e7f6dc;opacity:0;animation:waIn 6s infinite}
.wi{width:30px;height:30px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:15px}
.wmsg b{display:block;font-size:13.5px;font-weight:500}.wmsg small{font-size:12px;color:var(--mute)}.wmsg>div{flex:1;text-align:start}
.ticks{color:#34b7f1;font-size:13px;letter-spacing:-3px}
@keyframes waIn{0%,40%{opacity:0;transform:translateY(10px)}48%,95%{opacity:1;transform:none}100%{opacity:0}}
/* sales · incoming lead */
.t-lead{padding:16px 18px;display:grid;align-content:center;gap:2px;background:#fbfaf6}
.nt{display:flex;align-items:center;gap:10px;margin-bottom:6px;padding:10px;border-radius:14px;background:#fff;box-shadow:0 10px 22px -14px rgba(0,0,0,.4);animation:drop 7s infinite}
.lav{flex:none;width:34px;height:34px;border-radius:50%;background:var(--deep);color:var(--y1);display:grid;place-items:center;font-weight:500}
.nt b{display:block;font-size:13.5px;font-weight:500}.nt small{font-size:11.5px;color:var(--mute)}
.t-lead .ll{display:flex;justify-content:space-between;padding:6px 4px;border-top:1px solid rgba(28,31,27,.06);font-size:12.5px;opacity:0;animation:row 7s infinite}
.t-lead .ll span{color:var(--mute)}.t-lead .ll b{font-weight:500}
.t-lead .ll:nth-of-type(2){animation-delay:.25s}.t-lead .ll:nth-of-type(3){animation-delay:.5s}.t-lead .ll:nth-of-type(4){animation-delay:.75s}
@keyframes drop{0%{opacity:0;transform:translateY(-16px)}8%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes row{0%,10%{opacity:0;transform:translateX(-8px)}16%,92%{opacity:1;transform:none}100%{opacity:0}}

@media (min-width:900px){
  .story{padding:110px 4vw 100px}
  .pain-s{margin:40px 0 0;border-radius:0}
  .shd{margin-bottom:60px}
  .pgrid{grid-template-columns:repeat(3,1fr);gap:22px}
  .pg{height:300px}
  .band{margin-top:70px;padding:44px 44px 40px;border-radius:40px}
  .bhd{gap:26px;margin-bottom:32px}.bno{font-size:84px}
  .fgrid{grid-template-columns:repeat(3,1fr);gap:20px}
  .sbx{height:250px}
}
@media (prefers-reduced-motion:reduce){.pp,.brow{opacity:1!important;transform:none!important}}
@media (max-width:899px){.fgrid{opacity:1;transform:none}}

/* ===== add-on "how it looks" ===== */
.peek{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 10px 4px 9px;border-radius:14px;background:rgba(28,31,27,.06);font-size:12.5px;font-weight:500;color:var(--ink);transition:background .2s}
.peek svg{width:14px;height:14px}
.peek:hover{background:var(--y1)}
.at small{display:block}
.pv{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px}
.pv[hidden]{display:none}
.pvbg{position:absolute;inset:0;background:rgba(18,22,19,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.pvbox{position:relative;width:min(980px,100%);max-height:calc(100vh - 32px);overflow:auto;display:grid;background:#fff;border-radius:30px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);opacity:0;transform:translateY(20px) scale(.97);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
.pv.in .pvbg{opacity:1}.pv.in .pvbox{opacity:1;transform:none}
.pvx{position:absolute;top:14px;left:14px;z-index:3;width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
.pvvis{position:relative;height:300px;background:#f1f0ea;overflow:hidden}
.pvvis img,.pvvis video{display:block;width:100%;height:100%;object-fit:cover}
.pvtx{padding:24px 26px 26px;display:grid;gap:10px;align-content:start}
.pvtag{justify-self:start;font-size:12.5px;font-weight:500;padding:4px 10px;border-radius:14px;background:var(--y1)}
.pvtx h3{font-weight:500;font-size:28px;letter-spacing:-.025em}
.pvtx p{font-size:15.5px;line-height:1.6;color:var(--mute)}
.pvtx ul{list-style:none;display:grid;gap:8px;margin:4px 0 8px}
.pvtx li{position:relative;padding-inline-start:26px;font-size:15px}
.pvtx li::before{content:"✓";position:absolute;right:0;top:0;width:18px;height:18px;border-radius:50%;background:#e4f0dc;color:#4c8a3a;font-size:11px;display:grid;place-items:center;font-weight:700}
.pvact{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.pvadd{padding:13px 22px;border-radius:30px;background:var(--ink);color:#fff;font-weight:500;font-size:15px;transition:background .2s}
.pvadd.on{background:#e4f0dc;color:#2e6a1f}
.pvprice{font:500 18px var(--d)}
/* realistic: before/after */
.ba{position:absolute;inset:0;--x:50%}
.ba .bb{position:absolute;inset:0;clip-path:inset(0 0 0 var(--x))}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.bh{position:absolute;top:0;bottom:0;left:var(--x);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.3);pointer-events:none}
.bh b{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:14px;box-shadow:0 6px 16px -6px rgba(0,0,0,.5)}
.bl{position:absolute;bottom:14px;padding:5px 12px;border-radius:14px;background:rgba(255,255,255,.92);font-size:13px;font-weight:500;pointer-events:none}
.bl.l1{right:14px}.bl.l2{left:14px}
.ba{animation:baHint 2.6s .5s ease-in-out}
@keyframes baHint{30%{--x:30%}70%{--x:70%}}
@property --x{syntax:'<percentage>';inherits:true;initial-value:50%}
/* tour */
.pvsub{position:absolute;inset:auto 14px 14px;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:rgba(255,255,255,.94)}
.pvsub .pl{width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--y1);display:grid;place-items:center;font-size:12px;flex:none}
.pvsub .vtx{position:relative;flex:1;height:20px}.pvsub .vtx i{position:absolute;inset:0;font-style:normal;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;animation:cap3 9s infinite}
.pvsub .vtx i:nth-child(2){animation-delay:3s}.pvsub .vtx i:nth-child(3){animation-delay:6s}
/* building */
.pvbld img{object-position:50% 40%}
.fband{position:absolute;left:43%;width:16%;top:40%;height:5%;background:rgba(255,242,122,.45);border:2px solid #fff;border-radius:3px;animation:fb 6s ease-in-out infinite}
@keyframes fb{0%,100%{top:40%}33%{top:30%}66%{top:52%}}
.ftip{position:absolute;left:61%;top:36%;display:grid;gap:4px;padding:10px 14px;border-radius:14px;background:#fff;box-shadow:0 12px 26px -12px rgba(0,0,0,.5);font-size:12.5px;animation:ft 6s ease-in-out infinite}
.ftip b{font-size:15px;font-weight:500}.ftip span{display:flex;align-items:center;gap:6px;color:var(--mute)}
.ftip i{width:8px;height:8px;border-radius:50%}.ftip .g{background:#5eae45}.ftip .r{background:#d9534f}
@keyframes ft{0%,100%{top:36%}33%{top:26%}66%{top:48%}}
/* language */
.lsw{position:absolute;top:14px;right:14px;display:flex;padding:4px;border-radius:20px;background:rgba(255,255,255,.94);font:600 12.5px var(--d)}
.lsw span{position:relative;z-index:1;width:40px;text-align:center;padding:6px 0}
.lsw i{position:absolute;top:4px;right:4px;width:40px;height:calc(100% - 8px);border-radius:16px;background:var(--y1);animation:lsw 12s steps(1) infinite}
@keyframes lsw{0%{transform:none}25%{transform:translateX(-40px)}50%{transform:translateX(-80px)}75%{transform:translateX(-120px)}}
.lcap{position:absolute;inset:auto 14px 14px;height:46px;border-radius:16px;background:rgba(18,22,19,.78)}
.lcap i{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;color:#fff;font-size:15px;opacity:0;animation:lc 12s infinite}
.lcap i:nth-child(2){animation-delay:3s}.lcap i:nth-child(3){animation-delay:6s}.lcap i:nth-child(4){animation-delay:9s}
@keyframes lc{0%,23%{opacity:1}25%,100%{opacity:0}}
/* crm */
.pvcrm{position:absolute;inset:0;padding:22px 26px;display:grid;align-content:center;gap:8px;background:linear-gradient(180deg,#f6f5ef,#ecebe3)}
.cw{display:flex;justify-content:space-between;font-size:13px;color:var(--mute);margin-bottom:4px}.cw b{font:600 13px var(--d);color:var(--ink)}
.crow{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:16px;background:#fff;box-shadow:0 8px 20px -14px rgba(0,0,0,.4)}
.crow b{display:block;font-size:14.5px;font-weight:500}.crow small{font-size:12.5px;color:var(--mute)}.crow>div{flex:1}
.crow em{font-style:normal;font-size:12px;font-weight:500;padding:4px 10px;border-radius:12px;background:var(--y1)}.crow em.o{background:rgba(28,31,27,.07);color:var(--mute)}
.crow.new{animation:cnew 4s cubic-bezier(.2,.8,.2,1) infinite;box-shadow:0 0 0 2px var(--y2),0 14px 26px -14px rgba(0,0,0,.45)}
@keyframes cnew{0%{opacity:0;transform:translateY(-30px) scale(.96)}12%,88%{opacity:1;transform:none}100%{opacity:1}}
@media (min-width:900px){
  .pvbox{grid-template-columns:1.25fr 1fr}
  .pvvis{height:auto;min-height:480px}
  .pvtx{padding:40px 34px 34px;align-content:center}
  .pvx{left:auto;right:14px}
}
@media (prefers-reduced-motion:reduce){.pvbox,.pvbg{transition:none}.ba,.fband,.ftip,.lsw i,.crow.new{animation:none}}
.pvvis>div{position:absolute;inset:0}
.lsw{right:auto;left:14px;direction:ltr}.lsw i{right:auto;left:4px}
@keyframes lsw{0%{transform:none}25%{transform:translateX(40px)}50%{transform:translateX(80px)}75%{transform:translateX(120px)}}

/* ===== contact: bold copy + a light form card that pops off the green ===== */
.ctx{display:grid;gap:14px;align-content:start;margin-bottom:24px}
.ceb{justify-self:start;font-size:13px;font-weight:500;padding:6px 13px;border-radius:20px;background:rgba(255,242,122,.16);color:var(--y1);border:1px solid rgba(255,242,122,.35)}
.ch{font-weight:500;font-size:clamp(32px,4.4vw,58px);line-height:1.06;letter-spacing:-.035em}
.ch em{font-style:normal;color:var(--y1)}
.dark .cl{margin:0;font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:rgba(255,255,255,.72);max-width:44ch}
.cpts{list-style:none;display:grid;gap:10px;margin-top:6px}
.cpts li{display:flex;align-items:center;gap:10px;font-size:16px;color:rgba(255,255,255,.9)}
.cpts svg{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--y1);color:var(--ink);stroke-width:2.6}
.lform{display:grid;gap:12px;padding:24px 22px 20px;border-radius:30px;background:#fbfaf5;color:var(--ink);box-shadow:0 40px 80px -30px rgba(0,0,0,.65),0 0 0 6px rgba(255,242,122,.12)}
.lfh{display:grid;gap:2px;margin-bottom:4px}.lfh b{font-weight:500;font-size:22px;letter-spacing:-.02em}.lfh span{font-size:14px;color:var(--mute)}
.fld{display:grid;gap:5px}.fld>span{font-size:13px;font-weight:500;color:var(--back)}.fld i{font-style:normal;font-weight:400;color:var(--soft)}
.lform input{height:52px;border-radius:16px;border:1.5px solid rgba(28,31,27,.12);background:#fff;color:var(--ink);font:inherit;font-size:16px;padding:0 16px;transition:border-color .2s,box-shadow .2s}
.lform input[dir=ltr]{text-align:right}
.lform input::placeholder{color:#b4b7af}
.lform input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(243,220,45,.35)}
.lbtn{margin-top:6px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:10px;background:radial-gradient(circle at 30% 20%,var(--y1),var(--y2) 80%);color:var(--ink);font-weight:600;font-size:17px;box-shadow:0 14px 30px -14px rgba(180,150,10,.8);transition:transform .2s,box-shadow .2s}
.lbtn:hover{transform:translateY(-2px);box-shadow:0 20px 36px -14px rgba(180,150,10,.9)}
.lbtn svg{width:18px;height:18px;stroke-width:2.4}
.lform .msg{color:var(--back);min-height:0}.lform .msg:empty{display:none}.lform .msg.err{color:#c4463f}
.lsafe{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--soft)}.lsafe svg{width:14px;height:14px}
@media (min-width:900px){
  .dark{align-items:center;row-gap:20px}
  .ctx{grid-column:1;grid-row:1;margin:0}
  .dark form.lform{grid-column:2;grid-row:1;padding:34px 32px 26px}
}
/* lead modal with the package */
.ldbox{grid-template-columns:1fr}
.ldsum{padding:28px 26px 22px;background:var(--deep);color:#fff;display:grid;gap:4px;align-content:start;background-image:radial-gradient(80% 60% at 50% 0%,rgba(127,176,105,.25),transparent 70%)}
.ldsum .pvtag{margin-bottom:8px}
.ldtot{font:300 52px/1 var(--d);letter-spacing:-.04em}
.ldsum small{font-size:13px;color:rgba(255,255,255,.55)}
.ldsum ul{list-style:none;display:grid;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
.ldsum li{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:rgba(255,255,255,.75)}.ldsum li b{font-weight:500;color:#fff;white-space:nowrap}
.ldform{border-radius:0;box-shadow:none;background:#fff;padding:26px}
.ldm .pvx{background:rgba(255,255,255,.95)}
@media (min-width:900px){.ldbox{grid-template-columns:.9fr 1.1fr;width:min(900px,100%)}.ldsum{padding:40px 34px}.ldform{padding:38px 34px 30px}.ldm .pvx{right:auto;left:14px}}
.ldsum .pvtag{color:var(--ink)}

.lform .msg.ok{color:#2e6a1f;background:#e4f0dc;padding:10px 12px;border-radius:12px}
.lbtn:disabled{opacity:.6;cursor:wait}

/* language switch */
.lang{display:inline-grid;place-items:center;height:40px;padding:0 14px;border-radius:30px;font-size:14px;font-weight:600;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 0 1px rgba(255,255,255,.25) inset;margin-inline-end:8px}
.lang+.lang{margin-inline-start:-2px}
.dcta{white-space:nowrap}
@media(max-width:560px){.bends{gap:5px}.lang{height:34px;padding:0 9px;font-size:12.5px;margin-inline-end:0}.dcta{height:40px!important;padding:0 13px!important;font-size:13.5px!important}.burger{width:40px;height:40px;flex:none}}
.bar.solid .lang{background:rgba(28,31,27,.06);box-shadow:none}

/* ---------- live assist section: rep app + buyer phone ---------- */
.live-s{--lg:#3ddc84;position:relative;margin:50px 10px 0;padding:44px 18px 56px;border-radius:var(--r);background:var(--deep);color:#fff;overflow:hidden;background-image:radial-gradient(60% 50% at 20% 30%,rgba(61,220,132,.16),transparent 70%),radial-gradient(50% 50% at 90% 100%,rgba(243,220,45,.12),transparent 70%)}
.lvx{display:flex;flex-direction:column}
.lvtext{display:contents}
.lv-new{order:1;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:30px;background:rgba(61,220,132,.14);color:#bff3d5;font-size:13px}
.lv-new i{width:8px;height:8px;border-radius:50%;background:var(--lg);box-shadow:0 0 0 4px rgba(61,220,132,.25);animation:lpulse 1.6s infinite}
@keyframes lpulse{50%{opacity:.35}}
.lv-h{order:2;margin-top:14px;font-weight:500;font-size:31px;line-height:1.12;letter-spacing:-.025em;max-width:16ch}
.lv-p{order:3;margin-top:12px;font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.68);max-width:52ch}
.lvdev{order:4;position:relative;margin-top:28px;padding-bottom:30px}
.lx-segs{order:5;display:flex;gap:6px;margin-top:22px}
.lx-segs i{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.15);position:relative;overflow:hidden}
.lx-segs i::after{content:"";position:absolute;inset:0;width:0;background:var(--y2)}
.lx-segs i.done::after{width:100%}
.lx-segs i.cur::after{animation:lseg var(--d,4s) linear both}
.lvx.held .lx-segs i.cur::after{animation:none;width:100%}
@keyframes lseg{to{width:100%}}
.lx-steps{order:6;list-style:none;position:relative;min-height:96px;margin-top:12px}
.lx-steps li{position:absolute;inset:0;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;pointer-events:none}
.lx-steps li.on{opacity:1;transform:none;pointer-events:auto}
.lx-steps button{display:block;width:100%;text-align:start;color:#fff}
.lx-steps b{display:block;font-weight:500;font-size:19px;line-height:1.3}
.lx-steps span{display:block;margin-top:4px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.6)}
.lx-steps i{display:none}
.lvcta{order:7;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:8px;padding:13px 22px;border-radius:40px;background:var(--y2);color:var(--ink);font-weight:500;font-size:15px}
.lvcta::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--deep)}

/* --- the rep's app window --- */
.lapp{position:relative;border-radius:20px;background:#f6f5f0;color:var(--ink);box-shadow:0 50px 90px -40px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.08);overflow:hidden;transition:filter .6s,transform .6s}
.la-top{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#fff;border-bottom:1px solid var(--line)}
.la-dots{display:none;gap:6px}.la-dots i{width:10px;height:10px;border-radius:50%;background:#e2e0d9}
.la-brand{display:none;font-family:var(--d);font-weight:500;font-size:15px;letter-spacing:-.02em}
.la-proj{display:flex;align-items:center;gap:8px;min-width:0}
.la-proj img{width:30px;height:30px;border-radius:9px;object-fit:cover;background:#eee}
.la-proj b{display:block;font-size:12.5px;font-weight:500;white-space:nowrap}.la-proj small{font-size:10.5px;color:var(--mute)}
.la-live{display:flex;align-items:center;gap:6px;margin-inline-start:auto;padding:5px 10px;border-radius:20px;background:var(--deep);color:#fff;font-size:11px;white-space:nowrap}
.la-live i{width:7px;height:7px;border-radius:50%;background:#ff5a5a;animation:lpulse 1.2s infinite}
.la-me{display:none;align-items:center;gap:8px}
.la-me b{display:block;font-size:12.5px;font-weight:500}.la-me small{font-size:10.5px;color:#2f9a5c}
.lvav{position:relative;flex:none;width:34px;height:34px;border-radius:50%;padding:2px;background:var(--lg)}
.lvav img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid #fff}
.lvav::after{content:"";position:absolute;inset-inline-end:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:var(--lg);border:2px solid #fff}
.la-body{display:flex;flex-direction:column}
.la-main{position:relative;padding:12px}
.la-mh{display:flex;align-items:center;justify-content:space-between;gap:10px}
.la-mh b{font-size:15px;font-weight:500;margin-inline-end:8px}.la-mh small{font-size:11.5px;color:var(--mute)}
.la-tabs{display:flex;padding:3px;border-radius:20px;background:#ebe9e2}
.la-tabs em{white-space:nowrap;font-style:normal;font-size:11px;padding:4px 10px;border-radius:16px;color:var(--mute)}
.la-tabs .on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.lx-map{position:relative;margin-top:10px;aspect-ratio:16/11;border-radius:14px;overflow:hidden;background:radial-gradient(90% 80% at 50% 45%,#d4d1ca,#c4c1b9)}
.lx-mapin{position:absolute;left:-4%;width:108%;top:50%;aspect-ratio:4/3;transform:translateY(-50%)}
.lx-img{width:100%;height:100%;object-fit:cover;-webkit-mask:radial-gradient(closest-side,#000 75%,transparent);mask:radial-gradient(closest-side,#000 75%,transparent)}
.la-stats{display:none;gap:10px;margin-top:10px}
.la-stats span{flex:1;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.la-stats small{display:block;font-size:11px;color:var(--mute)}.la-stats b{font-family:var(--d);font-weight:500;font-size:20px}
.lx-calls{display:inline-block;transition:transform .3s}
.la-side{padding:0 12px 12px}
.la-sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.la-sh b{font-size:13px;font-weight:500}
.la-sh span{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 9px;border-radius:12px;background:#e8f7ee;color:#1d7a46}
.la-sh span i,.la-side li>i{width:7px;height:7px;border-radius:50%;background:var(--lg)}
.la-side ul{list-style:none;display:grid;gap:5px}
.la-side li{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid var(--line);transition:border-color .3s,box-shadow .3s}
.la-side li span{flex:1;min-width:0}
.la-side li b{display:block;font-size:12px;font-weight:500}.la-side li small{font-size:10.5px;color:var(--mute)}
.la-side li:nth-child(3){display:none}
.la-side em{display:none;font-style:normal;font-size:10.5px;padding:4px 8px;border-radius:14px;white-space:nowrap;background:#efeee8;color:var(--mute)}
.la-side em.ea{display:block}
.lvx[data-p="0"] .e0,.lvx[data-p="1"] .e1,.lvx[data-p="2"] .e1,.lvx[data-p="3"] .e3,.lvx[data-p="4"] .e4{display:block}
.lvx[data-p="1"] .e1{background:var(--y2);color:var(--ink);animation:lbeat 1.2s infinite}
.lvx[data-p="2"] .e1{background:#fff5bf;color:#7a6a00}
.lvx[data-p="3"] .e3{background:#ffe1e1;color:#b42323;animation:lbeat 1s infinite}
.lvx[data-p="4"] .e4{background:var(--lg);color:var(--ink)}
@keyframes lbeat{50%{transform:scale(1.07)}}
.lvx:not([data-p="0"]) .lhot{border-color:var(--y2);box-shadow:0 0 0 3px rgba(243,220,45,.25)}
.lring,.lcall{display:none}

/* buyers as moving dots */
.lx-dot{position:absolute;z-index:2;width:0;height:0}
.lx-dot>i{position:absolute;left:-8px;top:-8px;width:16px;height:16px;border-radius:50%;background:var(--lg);border:3px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.25)}
.lx-dot>i::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid var(--lg);animation:lring 1.8s ease-out infinite}
@keyframes lring{from{transform:scale(.4);opacity:1}to{transform:scale(1.5);opacity:0}}
.lx-dot>em{position:absolute;top:11px;left:0;transform:translateX(-50%);white-space:nowrap;font-style:normal;font-size:10.5px;font-weight:500;padding:2px 7px;border-radius:10px;background:rgba(29,38,33,.85);color:#fff;transition:opacity .4s}
.d1{left:40%;top:52%;transition:left .8s,top .8s}
.lvx[data-p="0"] .d1{animation:ld1 4.4s ease-in-out both}
@keyframes ld1{0%{left:66%;top:44%}30%{left:56%;top:42%}62%{left:45%;top:39%}100%{left:40%;top:52%}}
.d2{animation:ld2 7s ease-in-out infinite alternate}
@keyframes ld2{0%{left:62%;top:66%}40%{left:70%;top:58%}100%{left:58%;top:60%}}
.d3{animation:ld3 8s ease-in-out infinite alternate}
@keyframes ld3{0%{left:30%;top:63%}50%{left:41%;top:71%}100%{left:50%;top:77%}}
.lvx:not([data-p="0"]) .d1>i{background:var(--y2)}
.lvx:not([data-p="0"]) .d1>i::after{border-color:var(--y2)}
.lvx:not([data-p="0"]) .d1>em{opacity:0}
.lx-card{position:absolute;bottom:18px;left:0;width:180px;margin-left:-90px;padding:10px;border-radius:14px;background:#fff;box-shadow:0 18px 36px -16px rgba(0,0,0,.45);display:grid;gap:1px;opacity:0;transform:translateY(10px) scale(.9);transform-origin:50% 100%;transition:opacity .35s,transform .35s}
.lx-card b{font-size:12.5px;font-weight:500}.lx-card small{font-size:11px;color:var(--mute)}
.lx-help{position:relative;margin-top:7px;padding:7px;border-radius:18px;background:var(--y2);text-align:center;font-size:12px;font-weight:500}
.lvx[data-p="1"] .lx-card{opacity:1;transform:none}
.lvx[data-p="1"] .lx-help{animation:lpress .3s 2.1s both}
@keyframes lpress{50%{transform:scale(.92);filter:brightness(.92)}}
.lx-cur{position:absolute;left:58%;top:55%;width:22px;height:22px;fill:var(--ink);stroke:#fff;stroke-width:1.5;opacity:0}
.lvx[data-p="1"] .lx-cur{animation:lcur 2.4s .3s both}
@keyframes lcur{0%{opacity:0;transform:translate(60px,70px)}20%{opacity:1}75%{transform:none}85%{transform:scale(.85)}100%{opacity:1;transform:none}}
.lx-bub{position:absolute;bottom:16px;left:0;display:flex;align-items:center;gap:6px;margin-left:-20px;padding:4px 10px 4px 4px;border-radius:30px;background:#fff;white-space:nowrap;box-shadow:0 14px 30px -14px rgba(0,0,0,.5);opacity:0;transform:scale(.5);transform-origin:20px 100%;transition:opacity .4s,transform .5s cubic-bezier(.3,1.5,.5,1)}
.lx-bub .lvav{width:26px;height:26px}.lx-say{font-size:11.5px;font-weight:500}
.lvx[data-p="2"] .lx-bub{opacity:1;transform:none}

/* --- the buyer's phone --- */
.lx-phone{position:absolute;z-index:5;inset-inline-end:-4px;bottom:-6px;width:40%;max-width:180px;aspect-ratio:9/18.5;transform-origin:0 100%;transition:transform .8s cubic-bezier(.5,0,.2,1)}
[dir=rtl] .lx-phone{transform-origin:0 100%}
.lx-screen{position:absolute;inset:0;border-radius:24px;overflow:hidden;border:5px solid #0f1311;background:#111;box-shadow:0 30px 60px -20px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.12)}
.lx-plabel{position:absolute;top:100%;left:0;right:0;margin-top:8px;text-align:center;font-size:11.5px;color:rgba(255,255,255,.55)}
.lroom{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lp-top{position:absolute;top:9px;inset-inline:8px;display:flex;align-items:baseline;gap:6px;padding:5px 9px;border-radius:11px;background:rgba(255,255,255,.88);font-size:9.5px;color:var(--mute)}
.lp-top b{font-size:10.5px;color:var(--ink);font-weight:500}
.lfab{position:absolute;inset-inline-start:7px;bottom:9px;display:flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border-radius:30px;background:rgba(12,42,35,.92);color:#fff;transition:opacity .3s}
.lfab .lvav{width:26px;height:26px}.lfab b{display:block;font-size:9.5px;font-weight:500}.lfab small{font-size:8px;color:#cfe3c6}
.lvx[data-p="0"] .lfab,.lvx[data-p="1"] .lfab{animation:lglow 2.2s infinite}
@keyframes lglow{50%{box-shadow:0 0 0 7px rgba(61,220,132,.25)}}
.lvx:not([data-p="0"]):not([data-p="1"]) .lfab{opacity:0}
.lpbub{position:absolute;inset-inline:8px;bottom:10px;display:flex;align-items:flex-end;gap:6px;opacity:0;transform:translateY(16px) scale(.9);transform-origin:0 100%;transition:opacity .4s,transform .5s cubic-bezier(.3,1.4,.5,1)}
.lpbub .lvav{width:30px;height:30px}
.lpbub p{padding:8px 10px;border-radius:14px;background:#fff;color:var(--ink);font-size:10px;line-height:1.4;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.lvx[data-p="2"] .lpbub{opacity:1;transform:none;transition-delay:.4s}
.lchat{position:absolute;inset-inline:6px;bottom:6px;padding:8px;border-radius:16px;background:#fff;color:var(--ink);display:grid;gap:6px;opacity:0;transform:translateY(24px);transition:opacity .4s,transform .4s}
.lvx[data-p="3"] .lchat{opacity:1;transform:none;transition-delay:.3s}
.lch-hd{display:flex;align-items:center;gap:6px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.lch-hd .lvav{width:24px;height:24px}.lch-hd b{display:block;font-size:10px;font-weight:500}.lch-hd small{font-size:8.5px;color:var(--mute)}
.lm{max-width:92%;padding:6px 8px;border-radius:11px;font-size:9.5px;line-height:1.4}
.la{background:#eef1ea;border-start-start-radius:3px}
.lu{justify-self:end;background:var(--deep);color:#fff;border-start-end-radius:3px}
.lvx[data-p="3"] .lu{animation:lmsg .4s 1.4s both}
.lvx[data-p="3"] .lvbtn{animation:lmsg .4s 2.1s both,lpress .3s 3s}
@keyframes lmsg{from{opacity:0;transform:translateY(6px)}}
.lvbtn{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px;border-radius:20px;background:var(--y2);font-size:10px;font-weight:500}
.lvbtn svg{width:13px;height:13px}
.ltap{position:absolute;left:50%;bottom:12px;width:26px;height:26px;margin-left:-13px;border-radius:50%;background:rgba(29,38,33,.35);opacity:0}
.lvx[data-p="3"] .ltap{animation:ltap .7s 2.9s both}
@keyframes ltap{0%{opacity:0;transform:scale(.3)}40%{opacity:1}100%{opacity:0;transform:scale(1.8)}}
.lvid{position:absolute;inset:0;background:#0e1411;opacity:0;transition:opacity .5s}
.lvx[data-p="4"] .lvid{opacity:1}
.lbig{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.lvx[data-p="4"] .lbig{animation:lkb 7s ease-in-out both}
@keyframes lkb{from{transform:scale(1.05)}to{transform:scale(1.18) translateY(-2%)}}
.lvid::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.7))}
.lontag{position:absolute;z-index:1;top:9px;inset-inline-start:8px;display:flex;align-items:center;gap:5px;padding:4px 8px;border-radius:14px;background:rgba(0,0,0,.45);color:#fff;font-size:9px}
.lontag i{width:6px;height:6px;border-radius:50%;background:var(--lg)}
.lvcap{position:absolute;z-index:1;bottom:50px;inset-inline:8px;color:#fff;font-size:10px;line-height:1.4;text-align:center}
.lctl{position:absolute;z-index:1;bottom:12px;inset-inline:0;display:flex;justify-content:center;gap:8px}
.lctl i{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.22)}
.lctl .end{background:#e5484d}

/* mobile: phone grows to the front when the buyer takes over */
@media (max-width:1099px){
  .lx-phone{transition:transform .8s cubic-bezier(.5,0,.2,1),opacity .5s}
  .lvx[data-p="0"] .lx-phone,.lvx[data-p="1"] .lx-phone{opacity:0;transform:translateY(40px)}
  .lvx[data-p="3"] .lx-phone,.lvx[data-p="4"] .lx-phone{transform:translate(-8%,-6%) scale(1.55)}
  [dir=rtl] .lvx[data-p="3"] .lx-phone,[dir=rtl] .lvx[data-p="4"] .lx-phone{transform:translate(-8%,-6%) scale(1.55)}
  .lvx[data-p="3"] .lapp,.lvx[data-p="4"] .lapp{filter:brightness(.55)}
  .lvx[data-p="4"] .lapp .e4{display:block}
}
@media (min-width:600px) and (max-width:1099px){.lx-phone{max-width:200px}.la-stats{display:flex}}

@media (min-width:1100px){
  .live-s{max-width:1760px;margin:24px auto 0;padding:60px 56px 70px;border-radius:40px}
  .lx-map{aspect-ratio:16/10}
  .lvx{display:grid;grid-template-columns:330px minmax(0,1fr);column-gap:56px;align-items:center}
  .lvtext{display:block}
  .lv-h{font-size:40px}
  .lx-segs{display:none}
  .lx-steps{min-height:0;margin:24px 0 22px;display:grid;gap:4px}
  .lx-steps li{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto}
  .lx-steps button{position:relative;display:grid;grid-template-columns:30px 1fr;column-gap:12px;padding:11px 12px;border-radius:16px;overflow:hidden;transition:background .3s}
  .lx-steps button::before{content:counter(list-item);grid-row:span 2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:500 13px var(--d);background:rgba(255,255,255,.08);color:rgba(255,255,255,.6)}
  .lx-steps b{font-size:16px;color:rgba(255,255,255,.7)}
  .lx-steps span{max-height:0;opacity:0;overflow:hidden;font-size:13.5px;transition:max-height .4s,opacity .3s}
  .lx-steps li.on button{background:rgba(255,255,255,.07)}
  .lx-steps li.on button::before{background:var(--y2);color:var(--ink)}
  .lx-steps li.on b{color:#fff}
  .lx-steps li.on span{max-height:60px;opacity:1}
  .lx-steps i{display:block;position:absolute;bottom:0;inset-inline-start:0;height:2px;width:0;background:var(--y2)}
  .lx-steps li.on.run i{animation:lseg var(--d,4s) linear both}
  .lvdev{margin:0;padding:0;padding-inline-end:190px}
  .la-dots,.la-brand,.la-me{display:flex}
  .la-brand{display:block}
  .la-top{padding:12px 18px;gap:16px}
  .la-proj{padding-inline-start:16px;border-inline-start:1px solid var(--line)}
  .la-live{margin-inline-start:auto}
  .la-body{display:grid;grid-template-columns:250px minmax(0,1fr)}
  .la-side{order:-1}
  .la-main{padding:16px 18px}
  .la-stats{display:flex}
  .la-side{padding:16px 14px;border-inline-end:1px solid var(--line)}
  .la-side li:nth-child(3){display:flex}
  .lring{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px;border-radius:14px;background:var(--deep);color:#fff;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
  .lvx[data-p="3"] .lring{opacity:1;transform:none;transition-delay:3.2s;animation:lshake .45s 3.4s 3}
  @keyframes lshake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
  .lbuy{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(61,220,132,.2);color:var(--lg)}
  .lbuy svg{width:15px;height:15px}
  .lring>span:nth-child(2){flex:1;min-width:0}.lring b{display:block;font-size:12px;font-weight:500}.lring small{font-size:10.5px;color:rgba(255,255,255,.6)}
  .lacc{padding:6px 11px;border-radius:16px;background:var(--lg);color:var(--ink);font-size:11.5px;font-weight:500}
  .lcall{display:block;position:relative;margin-top:-58px;height:0;aspect-ratio:auto;border-radius:14px;overflow:hidden;opacity:0;transition:opacity .4s,height .5s}
  .lvx[data-p="4"] .lring{display:none}
  .lvx[data-p="4"] .lcall{margin-top:10px;height:130px;opacity:1}
  .lcall>img{width:100%;height:100%;object-fit:cover;filter:brightness(.8)}
  .lcall-t{position:absolute;top:8px;inset-inline-start:8px;display:flex;align-items:center;gap:5px;padding:4px 8px;border-radius:12px;background:rgba(0,0,0,.5);color:#fff;font-size:10.5px}
  .lcall-t i{width:6px;height:6px;border-radius:50%;background:#ff5a5a;animation:lpulse 1.2s infinite}
  .lcall-me{position:absolute;bottom:8px;inset-inline-end:8px;width:44px;height:56px;border-radius:9px;overflow:hidden;border:2px solid #fff}
  .lcall-me img{width:100%;height:100%;object-fit:cover}
  .lx-phone{width:250px;max-width:none;inset-inline-end:0;bottom:-40px}
  .lx-screen{border-radius:32px;border-width:7px}
  .lp-top{top:12px;inset-inline:10px;font-size:11px;padding:7px 11px}.lp-top b{font-size:12px}
  .lfab{inset-inline-start:10px;bottom:12px;padding:4px 13px 4px 4px;gap:8px}.lfab .lvav{width:32px;height:32px}.lfab b{font-size:11.5px}.lfab small{font-size:9.5px}
  .lpbub .lvav{width:38px;height:38px}.lpbub p{font-size:12px;padding:10px 12px}
  .lchat{inset-inline:8px;bottom:8px;padding:10px;gap:7px}
  .lch-hd .lvav{width:30px;height:30px}.lch-hd b{font-size:12px}.lch-hd small{font-size:10px}
  .lm{font-size:11.5px;padding:7px 10px}.lvbtn{font-size:12px;padding:8px}
  .lontag{font-size:10.5px;top:12px}.lvcap{font-size:12.5px;bottom:62px}.lctl i{width:34px;height:34px}
  .lx-dot>i{left:-9px;top:-9px;width:18px;height:18px}
  .lx-dot>em{font-size:11.5px;top:13px}
  .lx-card{width:200px;margin-left:-100px}
}
@media (min-width:1100px) and (max-width:1439px){
  .live-s{padding:50px 36px 60px}
  .lvx{grid-template-columns:290px minmax(0,1fr);column-gap:40px}
  .lv-h{font-size:34px}
  .lvdev{padding-inline-end:150px}
  .lx-phone{width:210px;bottom:-30px}
  .la-me,.la-dots{display:none}
  .la-body{grid-template-columns:210px minmax(0,1fr)}
  .la-tabs em:last-child{display:none}
  .la-stats span{padding:8px 10px}.la-stats b{font-size:17px}
}
@media (prefers-reduced-motion:reduce){.live-s *{animation:none!important;transition:none!important}}
/* live-call link: a quiet live dot, no fill */
.lvl>i{display:inline-block;position:relative;width:6px;height:6px;margin-inline-start:7px;border-radius:50%;background:#3ddc84;vertical-align:.45em}
.lvl>i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid #3ddc84;opacity:0;animation:lvlp 2.4s ease-out infinite}
@keyframes lvlp{0%{transform:scale(.4);opacity:.9}80%,100%{transform:scale(1.4);opacity:0}}
.bar.solid .lvl>i{background:#22a35a}.bar.solid .lvl>i::after{border-color:#22a35a}
.dnav a.lvl.on>i{background:currentColor}
.mlist a.lvl>i{width:8px;height:8px;vertical-align:.6em}
body.mopen .mlist a:nth-child(9){transition-delay:.5s}
@media (prefers-reduced-motion:reduce){.lvl>i::after{animation:none}}
