:root{
  --bg:#0c0a0b;
  --bg-2:#100c0e;
  --surface:#161113;
  --surface-2:#1d171a;
  --line:rgba(255,242,244,.07);
  --line-2:rgba(255,242,244,.13);
  --txt:#f4eeef;
  --txt-dim:rgba(244,238,239,.56);
  --txt-faint:rgba(244,238,239,.5);
  --accent:#d72843;
  --accent-2:#ff6a4d;
  --accent-soft:rgba(215,40,67,.12);
  --accent-line:rgba(215,40,67,.34);
  --accent-ink:#ffc9d1;
  --shadow:0 30px 60px -28px rgba(30,2,8,.85);
  --shadow-glow:0 24px 70px -30px rgba(215,40,67,.45);
  --r-lg:20px;
  --r-md:14px;
  --r-sm:9px;
  --maxw:1160px;
  --fdisp:"Bricolage Grotesque",system-ui,sans-serif;
  --fbody:"Inter",system-ui,sans-serif;
  --fmono:"JetBrains Mono",ui-monospace,monospace;
  --e-out:cubic-bezier(.32,.72,0,1);
  --e-spring:cubic-bezier(.34,1.56,.64,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{background:var(--bg);color:var(--txt);font-family:var(--fbody);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lock{overflow:hidden}

::selection{background:var(--accent);color:#fff}

body::after{content:"";position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.4;
  background-image:
    radial-gradient(1px 1px at 22% 28%, rgba(255,255,255,.30), transparent),
    radial-gradient(1px 1px at 72% 62%, rgba(255,255,255,.20), transparent),
    radial-gradient(1px 1px at 42% 82%, rgba(255,255,255,.24), transparent),
    radial-gradient(1px 1px at 86% 18%, rgba(255,255,255,.18), transparent),
    radial-gradient(1px 1px at 13% 72%, rgba(255,255,255,.16), transparent);
  background-repeat:no-repeat}

.bg-dots{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(244,238,239,.16) 1px,transparent 1px);
  background-size:24px 24px}
.dots-hero{-webkit-mask-image:radial-gradient(130% 92% at 50% 0%,#000 25%,transparent 78%);
  mask-image:radial-gradient(130% 92% at 50% 0%,#000 25%,transparent 78%)}
.dots-final{-webkit-mask-image:radial-gradient(ellipse at center,#000 18%,transparent 72%);
  mask-image:radial-gradient(ellipse at center,#000 18%,transparent 72%)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative;z-index:1}
section{position:relative;z-index:1}
a{color:inherit;text-decoration:none}
svg{display:block}
.accent{color:var(--accent)}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;font-family:var(--fmono);font-size:.8rem}
.skip:focus{left:0}

h1,h2,h3{font-family:var(--fdisp);font-weight:700;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}

.label{font-family:var(--fmono);font-size:.74rem;font-weight:500;letter-spacing:.08em;color:var(--accent);text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.label[data-num]::before{content:attr(data-num);color:var(--txt-faint);font-variant-numeric:tabular-nums}
.label::after{content:"";width:30px;height:1px;background:var(--accent-line)}

.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--fmono);font-weight:500;font-size:.85rem;letter-spacing:.01em;padding:13px 20px;border-radius:10px;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:transform .35s var(--e-out),background .25s var(--e-out),border-color .25s var(--e-out),box-shadow .25s var(--e-out),filter .25s var(--e-out)}
.btn svg{width:14px;height:14px;transition:transform .35s var(--e-out)}
.btn:hover svg{transform:translate(2px,-2px)}

@property --btn-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.btn-fill{position:relative;z-index:0;color:#fff;
  background:
    radial-gradient(rgba(255,255,255,.15) 1px,transparent 1.4px) 0 0/9px 9px,
    linear-gradient(180deg,#e5374f,#c81f39);
  box-shadow:var(--shadow-glow),inset 0 1px 0 rgba(255,255,255,.22)}
.btn-fill::before{content:"";position:absolute;inset:-2px;border-radius:12px;z-index:-1;
  background:conic-gradient(from var(--btn-angle),transparent 0deg,var(--accent-2) 42deg,var(--accent-ink) 78deg,transparent 128deg);
  animation:btn-spin 3.6s linear infinite;opacity:.75;
  transition:opacity .3s var(--e-out)}
.btn-fill::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.25) 48%,transparent 60%) no-repeat;
  background-size:230% 100%;background-position:180% 0;
  animation:btn-shine 4.2s ease-in-out infinite}
@keyframes btn-spin{to{--btn-angle:360deg}}
@keyframes btn-shine{0%{background-position:180% 0}55%,100%{background-position:-80% 0}}
.btn-fill:hover{filter:brightness(1.07);transform:translateY(-2px)}
.btn-fill:hover::before{opacity:1}
.btn-fill:active{transform:translateY(0) scale(.98);filter:brightness(.98)}
.btn-ghost{background:transparent;border-color:var(--line-2);color:var(--txt)}
.btn-ghost:hover{border-color:var(--txt);transform:translateY(-2px)}
.btn-ghost:active{transform:translateY(0) scale(.98)}
.btn-lg{font-size:.95rem;padding:16px 26px}

.btn.magnetic{transition:background .25s var(--e-out),border-color .25s var(--e-out),box-shadow .25s var(--e-out),filter .25s var(--e-out)}

.nav{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:60;width:calc(100% - 32px);max-width:760px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 8px 8px 20px;background:rgba(22,17,19,.6);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--line);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 30px -16px rgba(0,0,0,.7);transition:background .4s var(--e-out),box-shadow .4s var(--e-out),border-color .4s var(--e-out)}
.nav.scrolled{background:rgba(16,12,14,.86);border-color:var(--line-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 40px -18px rgba(0,0,0,.85)}
.nav .brand{font-family:var(--fdisp);font-weight:800;font-size:1.06rem;letter-spacing:-.02em}
.nav .brand b{color:var(--accent)}
.nav .links{display:flex;gap:22px;font-family:var(--fmono);font-size:.76rem;color:var(--txt-dim)}
.nav .links a{position:relative;transition:color .2s var(--e-out)}
.nav .links a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--accent);transition:right .3s var(--e-out)}
.nav .links a:hover,.nav .links a.active{color:var(--txt)}
.nav .links a:hover::after,.nav .links a.active::after{right:0}
.nav .btn{padding:9px 15px}
.nav-right{display:flex;align-items:center;gap:8px}

.burger{display:none;width:40px;height:40px;border:1px solid var(--line-2);border-radius:10px;background:transparent;cursor:pointer;position:relative;flex-shrink:0}
.burger span{position:absolute;left:11px;right:11px;height:2px;border-radius:2px;background:var(--txt);transition:transform .45s var(--e-out),top .45s var(--e-out)}
.burger span:nth-child(1){top:14px}
.burger span:nth-child(2){top:23px}
.burger.open span:nth-child(1){top:18px;transform:rotate(45deg)}
.burger.open span:nth-child(2){top:18px;transform:rotate(-45deg)}
@media(max-width:780px){
  .nav .links{display:none}
  .burger{display:block}
}
@media(max-width:380px){
  .nav .nav-right .btn-fill{display:none}
}

.menu{position:fixed;inset:0;z-index:55;background:rgba(9,7,8,.92);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);display:flex;flex-direction:column;justify-content:center;gap:48px;padding:110px 28px 48px;visibility:hidden;opacity:0}
.menu-links{display:flex;flex-direction:column;gap:6px}
.menu-links a{display:flex;align-items:baseline;gap:16px;font-family:var(--fdisp);font-weight:700;font-size:clamp(1.9rem,8vw,2.6rem);letter-spacing:-.02em;padding:10px 0;border-bottom:1px solid var(--line)}
.menu-links a:active{color:var(--accent)}
.menu-links .mn{font-family:var(--fmono);font-size:.74rem;font-weight:500;color:var(--accent)}
.menu-foot{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.menu-mail{font-family:var(--fmono);font-size:.8rem;color:var(--txt-dim)}

html:not(.js) .menu{transition:opacity .35s ease,visibility .35s ease}
html:not(.js) .menu.open{visibility:visible;opacity:1}

.hero{padding:172px 0 92px;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center}
.glow{position:absolute;z-index:0;width:720px;height:520px;border-radius:50%;top:-140px;left:-160px;filter:blur(120px);opacity:.42;pointer-events:none;background:radial-gradient(circle at 38% 42%,var(--accent),transparent 58%),radial-gradient(circle at 68% 58%,var(--accent-2),transparent 52%)}
.pill{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 11px;border-radius:999px;margin-bottom:26px;background:var(--accent-soft);border:1px solid var(--accent-line);font-family:var(--fmono);font-size:.74rem;letter-spacing:.02em;color:var(--accent-ink)}
.pill .led{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:800;max-width:13ch}
.hero .sub{margin:26px 0 34px;font-size:clamp(1.05rem,1.9vw,1.26rem);color:var(--txt-dim);max-width:46ch;text-wrap:pretty}
.hero .cta-row{display:flex;gap:13px;flex-wrap:wrap;align-items:center}
.hero .micro{margin-top:22px;font-family:var(--fmono);font-size:.76rem;color:var(--txt-faint);letter-spacing:.01em}

.acc{display:flex;gap:10px;height:min(540px,64vh);width:100%;justify-self:stretch}
.acc-item{position:relative;flex:1;min-width:0;border:1px solid var(--line-2);border-radius:18px;overflow:hidden;padding:0;cursor:pointer;background:var(--surface);box-shadow:var(--shadow);transition:flex-grow .8s var(--e-out),border-color .5s var(--e-out)}
.acc-item.active{flex-grow:6;border-color:var(--accent-line)}
.acc-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.03) brightness(.9);transform:scale(1.18);transition:transform .9s var(--e-out),filter .6s var(--e-out)}
.acc-item.active img{transform:scale(1.02);filter:saturate(.95) contrast(1.03) brightness(1)}
.acc-item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,10,11,.82),rgba(12,10,11,.12) 46%,transparent 70%);transition:opacity .5s var(--e-out)}
.acc-item:not(.active)::after{background:rgba(12,10,11,.48)}
.acc-cap{position:absolute;z-index:1;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-family:var(--fmono);font-weight:500;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--txt);transform:rotate(-90deg) translateX(6px);transform-origin:left bottom;transition:transform .6s var(--e-out)}
.acc-cap i{font-style:normal;font-size:.68rem;color:var(--accent)}
.acc-item.active .acc-cap{transform:rotate(0) translateX(0)}
.acc-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:860px){
  .hero{padding:150px 0 70px}
  .hero .grid{grid-template-columns:1fr;gap:44px}
  .acc{height:min(420px,52vh);gap:8px}
  .acc-item{border-radius:14px}
  .acc-item.active{flex-grow:4.5}
  .acc-cap{left:13px;bottom:13px;font-size:.72rem}
}

.logocloud{margin-top:58px}
.lc-marquee{overflow:hidden;padding:14px 0;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.lc-track{display:flex;width:max-content;animation:lc-scroll 34s linear infinite}
.lc-marquee:hover .lc-track{animation-play-state:paused}
.lc-set{display:flex;align-items:center;gap:72px;padding-right:72px}
.lc-set img{height:22px;width:auto;flex-shrink:0;
  filter:brightness(0) invert(1);opacity:.42;
  transition:opacity .35s var(--e-out)}
.lc-set img:hover{opacity:.95}
.lc-set img.lc-md{height:30px}
@keyframes lc-scroll{to{transform:translateX(-50%)}}
@media(max-width:680px){
  .logocloud{margin-top:42px}
  .lc-set{gap:44px;padding-right:44px}
  .lc-set img{height:17px}
  .lc-set img.lc-md{height:23px}
}
@media(prefers-reduced-motion:reduce){
  .lc-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;row-gap:22px}
  .lc-set[aria-hidden]{display:none}
}

.strip{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}
.strip::before{content:"";position:absolute;top:50%;left:-6%;width:440px;height:440px;transform:translateY(-50%);border-radius:50%;pointer-events:none;opacity:.7;background:radial-gradient(circle,var(--accent-soft),transparent 66%)}
.strip .wrap{padding:46px 24px}
.strip-row{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,5vw,60px);align-items:center}
.strip-big{font-family:var(--fdisp);font-weight:800;letter-spacing:-.03em;line-height:.86;font-size:clamp(3.2rem,8vw,5.6rem);color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-block}
.strip-big i{font-style:normal;font-size:.42em;color:var(--accent-ink);margin-left:.04em}
.strip-txt{max-width:42ch}
.strip-claim{font-family:var(--fdisp);font-weight:600;font-size:clamp(1.2rem,2.2vw,1.7rem);line-height:1.14;color:var(--txt);text-wrap:pretty}
.strip-consq{margin-top:12px;color:var(--txt-dim);font-size:1rem;line-height:1.5;text-wrap:pretty}
.strip-meter{position:relative;height:10px;margin-top:34px;border-radius:6px;background:var(--surface);border:1px solid var(--line)}
.sm-fill{position:absolute;top:-1px;bottom:-1px;left:-1px;width:46%;border-radius:6px;background:linear-gradient(90deg,rgba(215,40,67,.5),var(--accent) 72%,var(--accent-2));transform:scaleX(var(--mp,1));transform-origin:left center}
.sm-fill::after{content:"";position:absolute;top:-3px;bottom:-3px;right:-1px;width:3px;border-radius:3px;background:var(--accent-ink);box-shadow:0 0 14px 2px var(--accent)}
.js .sm-fill{--mp:0}
.strip-src{display:block;margin-top:20px;font-family:var(--fmono);font-size:.66rem;color:var(--txt-faint);letter-spacing:.03em}
@media(max-width:720px){
  .strip .wrap{padding:36px 24px}
  .strip-row{grid-template-columns:1fr;gap:16px}
  .strip::before{display:none}
}

.sec{padding:104px 0}
.sec-head{max-width:44ch}
.sec-head h2{font-size:clamp(1.95rem,3.7vw,2.9rem);margin-top:18px}
.sec-head .lead{color:var(--txt-dim);margin-top:16px;font-size:1.06rem;text-wrap:pretty}

.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:start}
.split .head-col{position:sticky;top:120px}

.stack{display:flex;flex-direction:column;gap:150px;padding-bottom:40px}
.stack-card{position:sticky;overflow:hidden;background:linear-gradient(180deg,#211a1d,#151013);border:1px solid rgba(255,242,244,.15);border-radius:var(--r-lg);padding:32px 34px 36px;box-shadow:0 -16px 34px -18px rgba(0,0,0,.9),var(--shadow);will-change:transform}
.stack-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-line) 25%,var(--accent-line) 75%,transparent)}
.stack-card:nth-child(1){top:130px;z-index:1}
.stack-card:nth-child(2){top:160px;z-index:2}
.stack-card:nth-child(3){top:190px;z-index:3}
.sc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}
.sc-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent)}
.sc-ic svg{width:22px;height:22px}
.sc-num{font-family:var(--fdisp);font-weight:800;font-size:2.3rem;line-height:1;letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums}
.stack-card h3{font-size:1.5rem;margin-bottom:10px;max-width:24ch}
.stack-card p{color:var(--txt-dim);font-size:1rem;max-width:52ch;text-wrap:pretty}
@media(max-width:860px){
  .split{grid-template-columns:1fr;gap:30px}
  .split .head-col{position:static}
  .stack{gap:110px}
  .stack-card{padding:24px 22px 28px}
  .sc-ic{width:40px;height:40px}
  .sc-ic svg{width:19px;height:19px}
  .sc-num{font-size:1.9rem}
  .stack-card h3{font-size:1.28rem}
  .stack-card:nth-child(1){top:100px}
  .stack-card:nth-child(2){top:122px}
  .stack-card:nth-child(3){top:144px}
}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative}
.steps::before{content:"";position:absolute;top:34px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--accent-line),transparent);z-index:0;transform:scaleX(var(--line-p,1));transform-origin:left center}
.step{position:relative;z-index:1}
.step .dot{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;margin-bottom:22px;background:var(--surface);border:1px solid var(--accent-line);color:var(--accent);font-family:var(--fmono);font-weight:700;font-size:1.1rem;box-shadow:var(--shadow-glow)}
.step h3{font-size:1.24rem;margin-bottom:9px}
.steps .step p{color:var(--txt-dim);font-size:.98rem;margin-bottom:18px}
.mock{min-height:118px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:10px;transition:border-color .35s var(--e-out),transform .35s var(--e-out)}
.step:hover .mock{border-color:var(--line-2);transform:translateY(-3px)}
.mk-top{display:inline-flex;align-items:center;gap:8px;font-family:var(--fmono);font-size:.68rem;letter-spacing:.03em;color:var(--txt-faint);text-transform:uppercase}
.mk-led{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);flex-shrink:0}

.eq{display:flex;align-items:flex-end;gap:4px;height:46px;margin-top:auto}
.eq span{flex:1;border-radius:3px;background:linear-gradient(var(--accent),var(--accent-line));transform:scaleY(.34);transform-origin:bottom}
.eq span:nth-child(1){height:58%}.eq span:nth-child(2){height:100%}.eq span:nth-child(3){height:44%}
.eq span:nth-child(4){height:82%}.eq span:nth-child(5){height:56%}.eq span:nth-child(6){height:94%}.eq span:nth-child(7){height:40%}

.slot{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);font-family:var(--fmono);font-size:.72rem;color:var(--txt-dim)}
.slot .sd{color:var(--txt-faint)}
.slot .st{color:var(--txt)}
.slot-book{position:relative;border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink)}
.slot-book .st{color:var(--accent-ink)}
.slot-book .chk{width:14px;height:14px;color:var(--accent);margin-left:auto;flex-shrink:0}

.wa-ic{display:grid;place-items:center;width:15px;height:15px;border-radius:4px;background:var(--accent);color:#fff;font-size:.62rem;flex-shrink:0}
.wa-bubble{align-self:flex-start;max-width:94%;padding:9px 12px;border-radius:12px 12px 12px 4px;background:var(--surface-2);border:1px solid var(--line-2);font-size:.78rem;line-height:1.42;color:var(--txt-dim)}
.wa-bubble b{color:var(--txt);font-weight:500}
.wa-typing{display:flex;gap:5px;padding-left:5px;margin-top:2px}
.wa-typing span{width:6px;height:6px;border-radius:50%;background:var(--txt-faint)}

#solution .steps::after{content:"";position:absolute;top:34px;left:8%;width:60px;height:2px;border-radius:2px;z-index:0;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,transparent,var(--accent-ink),var(--accent),transparent);
  filter:drop-shadow(0 0 6px var(--accent))}
#solution .steps.is-flowing::after{animation:flow-run 3.9s linear infinite}
@keyframes flow-run{0%{left:8%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(92% - 60px);opacity:0}}

#solution .step .dot{position:relative}
#solution .step .dot::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1.5px solid var(--accent);opacity:0;pointer-events:none}
#solution .steps.is-flowing .step:nth-child(1) .dot::after{animation:node-ring 3.9s ease-out infinite}
#solution .steps.is-flowing .step:nth-child(2) .dot::after{animation:node-ring 3.9s ease-out infinite;animation-delay:1.3s}
#solution .steps.is-flowing .step:nth-child(3) .dot::after{animation:node-ring 3.9s ease-out infinite;animation-delay:2.6s}
@keyframes node-ring{0%{opacity:0;transform:scale(1)}5%{opacity:.85;transform:scale(1)}36%{opacity:0;transform:scale(1.55)}100%{opacity:0;transform:scale(1.55)}}
#solution .steps.is-flowing .step:nth-child(1) .dot{animation:node-glow 3.9s ease-out infinite}
#solution .steps.is-flowing .step:nth-child(2) .dot{animation:node-glow 3.9s ease-out infinite;animation-delay:1.3s}
#solution .steps.is-flowing .step:nth-child(3) .dot{animation:node-glow 3.9s ease-out infinite;animation-delay:2.6s}
@keyframes node-glow{0%,100%{box-shadow:var(--shadow-glow)}8%{box-shadow:var(--shadow-glow),0 0 22px 2px var(--accent-line)}28%{box-shadow:var(--shadow-glow)}}

#solution .steps.is-flowing .eq span{animation:eq-bounce 1.05s ease-in-out infinite}
#solution .steps.is-flowing .eq span:nth-child(1){animation-delay:-.20s}
#solution .steps.is-flowing .eq span:nth-child(2){animation-delay:-.55s}
#solution .steps.is-flowing .eq span:nth-child(3){animation-delay:-.10s}
#solution .steps.is-flowing .eq span:nth-child(4){animation-delay:-.65s}
#solution .steps.is-flowing .eq span:nth-child(5){animation-delay:-.35s}
#solution .steps.is-flowing .eq span:nth-child(6){animation-delay:-.80s}
#solution .steps.is-flowing .eq span:nth-child(7){animation-delay:-.05s}
@keyframes eq-bounce{0%,100%{transform:scaleY(.28)}50%{transform:scaleY(1)}}
#solution .steps.is-flowing .slot-book{animation:slot-glow 3.9s ease-in-out infinite;animation-delay:1.3s}
@keyframes slot-glow{0%,100%{box-shadow:none}12%{box-shadow:0 0 0 1px var(--accent-line),0 0 18px -4px var(--accent)}32%{box-shadow:none}}
#solution .steps.is-flowing .wa-typing span{animation:wa-type 1.2s ease-in-out infinite}
#solution .steps.is-flowing .wa-typing span:nth-child(2){animation-delay:.15s}
#solution .steps.is-flowing .wa-typing span:nth-child(3){animation-delay:.3s}
@keyframes wa-type{0%,65%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
#solution .steps.is-flowing .wa-bubble{animation:wa-pop 3.9s ease-out infinite;animation-delay:2.6s}
@keyframes wa-pop{0%,100%{box-shadow:none;transform:translateY(0)}8%{box-shadow:0 0 0 1px var(--accent-line),0 0 20px -6px var(--accent);transform:translateY(-2px)}26%{box-shadow:none;transform:translateY(0)}}
@media(max-width:860px){.steps{grid-template-columns:1fr;gap:34px}.steps::before{display:none}#solution .steps::after{display:none}}

.why{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.why .claim{font-family:var(--fdisp);font-weight:700;font-size:clamp(1.4rem,2.6vw,2rem);max-width:26ch;margin:18px 0 10px;line-height:1.12}
.why .sub{color:var(--txt-dim);max-width:60ch;font-size:1.04rem;text-wrap:pretty}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:52px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.pillars article{padding:34px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .4s var(--e-out)}
.pillars article:hover{background:rgba(255,242,244,.02)}
.pillars .px{font-family:var(--fmono);font-size:.74rem;color:var(--accent);letter-spacing:.06em}
.pillars h3{font-size:1.24rem;margin:14px 0 9px}
.pillars p{color:var(--txt-dim);font-size:.97rem;text-wrap:pretty}
@media(max-width:760px){.pillars{grid-template-columns:1fr}}

.roi-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;margin-top:28px}
.roi-card{position:relative;border-radius:var(--r-lg);background:linear-gradient(180deg,#1a1417,#131013);border:1px solid var(--line-2);overflow:hidden;transition:border-color .4s var(--e-out),box-shadow .45s var(--e-out)}
.roi-card.lit{border-color:var(--accent-line);box-shadow:var(--shadow-glow)}
.roi-card-in{position:relative;z-index:2;padding:40px 38px;height:100%;display:flex;flex-direction:column;justify-content:center}

.roi-card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.6px;z-index:1;pointer-events:none;
  background:conic-gradient(from calc(var(--start,0)*1deg),transparent 0deg,var(--accent) 10deg,var(--accent-2) 26deg,var(--accent-ink) 36deg,var(--accent-2) 46deg,var(--accent) 62deg,transparent 72deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  opacity:var(--active,0);transition:opacity .4s var(--e-out)}
.roi .figs{display:flex;flex-direction:column;gap:6px}
.roi .was{position:relative;display:inline-block;align-self:flex-start;font-family:var(--fmono);font-size:1.4rem;color:var(--txt-faint)}
.roi .was::after{content:"";position:absolute;left:-2%;right:-2%;top:52%;height:2px;border-radius:2px;background:var(--accent-line);transform:scaleX(var(--strike,1));transform-origin:left center}
.roi .now{font-family:var(--fdisp);font-weight:800;letter-spacing:-.04em;line-height:.92;font-size:clamp(3rem,7vw,5.2rem);font-variant-numeric:tabular-nums;margin-top:8px}
.roi .now .accent{display:block}
.roi .cap{font-family:var(--fmono);font-size:.76rem;color:var(--txt-faint);letter-spacing:.04em;text-transform:uppercase}
.roi .say{color:var(--txt-dim);font-size:1.2rem;max-width:34ch;text-wrap:pretty}
.roi .say b{color:var(--txt)}
@media(max-width:860px){.roi-grid{grid-template-columns:1fr;gap:16px}.roi-card-in{padding:30px 26px}}

.stepper{list-style:none;margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr)}
.step{position:relative}
.step-rail{display:flex;align-items:center;margin-bottom:24px}
.step-dot{position:relative;width:52px;height:52px;flex-shrink:0;border-radius:16px;display:grid;place-items:center;background:var(--surface);border:1.5px solid var(--accent-line);color:var(--accent);font-family:var(--fmono);font-weight:700;font-size:1rem;box-shadow:var(--shadow-glow);transition:background .45s var(--e-out),border-color .45s var(--e-out),color .45s var(--e-out),box-shadow .45s var(--e-out),transform .5s var(--e-spring)}
.step-dot .si-num{transition:opacity .3s var(--e-out)}
.step-dot .si-check{position:absolute;width:22px;height:22px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .35s var(--e-out),transform .4s var(--e-spring)}
.step-line{position:relative;flex:1;height:2px;margin:0 12px;border-radius:2px;background:var(--line-2);overflow:hidden}
.step-line .fill{position:absolute;inset:0;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(var(--p,1));transform-origin:left center}
.step-body{padding-right:34px}
.step:last-child .step-body{padding-right:0}
.step-body h3{font-size:1.3rem;margin-bottom:10px}
.step-body p{color:var(--txt-dim);font-size:1rem;text-wrap:pretty}
.step-body .tagrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.step-body .tagrow .chip{font-family:var(--fmono);font-size:.74rem;color:var(--txt-dim);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 13px}

html.js .step .step-dot{background:var(--surface);border-color:var(--line-2);color:var(--txt-faint);box-shadow:none;transform:scale(.82)}
html.js .step-line .fill{--p:0}
html.js .step.is-active .step-dot{background:var(--surface);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-glow);transform:scale(1)}
html.js .step.is-done .step-dot{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-glow);transform:scale(1)}
.step.is-done .si-num{opacity:0}
.step.is-done .si-check{opacity:1;transform:scale(1)}
.journey-cta{margin-top:52px}
@media(max-width:760px){
  .stepper{grid-template-columns:1fr}
  .stepper .step{display:grid;grid-template-columns:auto 1fr;gap:22px}
  .step-rail{flex-direction:column;margin-bottom:0}
  .step-dot{width:46px;height:46px;border-radius:14px}
  .step-line{width:2px;height:auto;flex:1;margin:8px 0;min-height:26px}
  .step-line .fill{transform:scaleY(var(--p,1));transform-origin:top center}
  .step-body{padding-right:0;padding-bottom:36px}
  .step:last-child .step-body{padding-bottom:0}
}

.method .inner{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(130% 130% at 100% 0%,rgba(215,40,67,.10),transparent 55%),var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:44px;display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.method .inner>div:not(.bb){position:relative;z-index:1}

.bb{position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;padding:1.6px;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.bb-beam{position:absolute;aspect-ratio:1;width:88px;
  background:linear-gradient(to left,var(--accent-ink),var(--accent) 42%,transparent 80%);
  offset-path:rect(0 auto auto 0 round var(--r-lg));
  offset-distance:0%;animation:bb-run 7s linear infinite}
.bb-beam.b2{animation-delay:-3.5s}
@keyframes bb-run{to{offset-distance:100%}}
.method h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.method p{color:var(--txt-dim);margin-top:14px;font-size:1.05rem;max-width:48ch;text-wrap:pretty}
.method .demo-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;display:flex;align-items:center;gap:16px}
.method .play{width:54px;height:54px;border-radius:50%;border:none;background:var(--accent);display:grid;place-items:center;flex-shrink:0;cursor:pointer;box-shadow:0 0 0 8px var(--accent-soft);transition:transform .35s var(--e-spring)}
.method .play:hover{transform:scale(1.06)}
.method .play:active{transform:scale(.96)}
.method .play svg{width:18px;height:18px;color:#fff}
.method .play .ic-play{margin-left:2px}
.method .play .ic-pause{display:none;margin-left:0}
.method .play.playing .ic-play{display:none}
.method .play.playing .ic-pause{display:block}
.method .demo-card .t{font-family:var(--fdisp);font-weight:600;font-size:.98rem}
.method .demo-card .s{font-family:var(--fmono);font-size:.72rem;color:var(--txt-faint);margin-top:3px}
.method .wave{display:flex;align-items:center;gap:3px;height:26px;margin-top:10px}
.method .wave span{width:3px;border-radius:3px;background:var(--accent-line);transform-origin:center bottom}
@media(max-width:760px){.method .inner{grid-template-columns:1fr;padding:30px}}

.breadth{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:42px;padding-top:30px;border-top:1px solid var(--line)}
.breadth .bl{font-family:var(--fmono);font-size:.74rem;color:var(--txt-faint);letter-spacing:.03em;margin-right:6px}
.breadth .chip{font-family:var(--fmono);font-size:.76rem;color:var(--txt-dim);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 14px;transition:border-color .3s var(--e-out),color .3s var(--e-out),transform .3s var(--e-out)}
.breadth .chip:hover{border-color:var(--accent-line);color:var(--txt);transform:translateY(-2px)}

.rgpd .inner{display:flex;gap:44px;align-items:center;justify-content:flex-start;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 44px;max-width:780px;margin:0 auto}
.rgpd .shield{width:64px;height:64px;color:var(--accent);flex-shrink:0}
.rgpd p{color:var(--txt-dim);max-width:56ch;font-size:.96rem}
.rgpd b{color:var(--txt)}

.faq-wrap{margin-top:34px}
.faq-tabs{position:relative;display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.faq-tabs::-webkit-scrollbar{display:none}
.faq-tab{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:14px 18px;font-family:var(--fmono);font-weight:500;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--txt-dim);transition:color .25s var(--e-out)}
.faq-tab:hover{color:var(--txt)}
.faq-tab[aria-selected="true"]{color:var(--accent)}
.faq-tab .tn{font-size:.7rem;color:var(--txt-faint);transition:color .25s var(--e-out)}
.faq-tab[aria-selected="true"] .tn{color:var(--accent)}
.faq-ind{position:absolute;bottom:-1px;left:0;width:0;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 12px var(--accent);pointer-events:none;transition:left .4s var(--e-out),width .4s var(--e-out)}
.faq-panels{margin-top:6px}
.faq-panel{display:block}
.faq-tabbed .faq-panel{display:none}
.faq-tabbed .faq-panel.active{display:block}
@media(max-width:560px){
  .faq-tab{padding:12px 10px;font-size:.7rem;gap:5px}
  .faq-tab .tn{display:none}
}

.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:24px 0;font-family:var(--fdisp);font-weight:600;font-size:1.14rem;display:flex;justify-content:space-between;gap:18px;align-items:center;transition:color .25s var(--e-out)}
.faq summary:hover{color:var(--accent-ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{position:relative;width:16px;height:16px;flex-shrink:0}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--accent);transition:transform .3s var(--e-out)}
.faq summary .pm::before{top:7px;left:0;width:16px;height:2px}
.faq summary .pm::after{left:7px;top:0;width:2px;height:16px}
.faq details[open] summary .pm::after{transform:scaleY(0)}
.faq .faq-body{overflow:hidden}
.faq p{color:var(--txt-dim);padding:0 0 24px;max-width:68ch;text-wrap:pretty}

.final{min-height:100svh;display:flex;align-items:center;padding:120px 0;text-align:center;overflow:hidden}
.final .wrap{width:100%}
.final .glow{top:auto;bottom:-280px;left:50%;transform:translateX(-50%);width:760px;opacity:.4}
.risk{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:44px}
.risk .item{display:flex;align-items:center;gap:10px;font-family:var(--fmono);font-size:.78rem;color:var(--txt-dim);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:9px 16px}
.risk .item svg{width:15px;height:15px;color:var(--accent)}
.final h2{font-size:clamp(2.3rem,5.2vw,3.7rem);font-weight:800;max-width:18ch;margin:0 auto 18px}
.final p{color:var(--txt-dim);font-size:1.14rem;margin-bottom:32px}

footer{border-top:1px solid var(--line);padding:74px 0 110px;background:var(--bg-2);position:relative;z-index:1}
footer .mail{font-family:var(--fdisp);font-weight:800;letter-spacing:-.035em;font-size:clamp(2rem,9vw,5.6rem);line-height:1;display:inline-block;transition:color .3s var(--e-out);overflow-wrap:anywhere}
footer .mail:hover{color:var(--accent)}
footer .frow{display:flex;justify-content:space-between;align-items:center;margin-top:48px;flex-wrap:wrap;gap:14px;font-family:var(--fmono);color:var(--txt-faint);font-size:.76rem;letter-spacing:.02em}
footer .frow .b{color:var(--txt-dim)}
footer .frow .b b{color:var(--accent)}
footer .legal a{transition:color .2s var(--e-out)}
footer .legal a:hover{color:var(--txt-dim)}

.js [data-reveal],
.js [data-hero],
.js [data-hero-device],
.js [data-step],
.js [data-pillar],
.js [data-risk],
.js .stack-card,
.js .nav,
.js .split-h2,
.js .hero h1{opacity:0}

.st-line{overflow:clip}

@media(prefers-reduced-motion:reduce){
  .js [data-reveal],
  .js [data-hero],
  .js [data-hero-device],
  .js [data-step],
  .js [data-pillar],
  .js [data-risk],
  .js .stack-card,
  .js .nav,
  .js .split-h2,
  .js .hero h1{opacity:1}
  *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
