:root{
  --paper:#F7F8FA; --ink:#102033; --mut:#6E6E73; --mut2:#86868B; --line:#E3E6EB;
  --accent:#0071E3; --accent-h:#0062C4; --blue2:#4B8DF8; --ok:#25D366; --miss:#FF3B30;
}
*{ box-sizing:border-box; margin:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ background:var(--paper); color:var(--ink); font-family:'Golos Text',system-ui,sans-serif; overflow-x:hidden; overflow-x:clip; -webkit-font-smoothing:antialiased; }
a{ color:inherit; text-decoration:none; }

/* header */
.hdr{ position:fixed; inset:0 0 auto 0; z-index:40; height:76px; display:flex; align-items:center; gap:32px; padding:0 clamp(20px,4vw,56px); background:rgba(247,248,250,.96); backdrop-filter:saturate(1.6) blur(14px); -webkit-backdrop-filter:saturate(1.6) blur(14px); }
.logo{ display:inline-flex; align-items:baseline; font-size:27px; font-weight:800; letter-spacing:-.04em; }
.logo i{ width:9px; height:9px; margin-right:4px; border-radius:50%; background:#4f8cc9; }
.logo span{ margin-left:7px; font-size:17px; font-weight:600; letter-spacing:-.01em; color:var(--accent); }
.nav{ display:flex; gap:28px; margin-left:auto; font-size:15px; font-weight:500; color:#3A4654; }
.nav a{ transition:color .2s; }
.nav a:hover{ color:var(--accent); }
.hdr-cta{ height:44px; padding:0 20px; display:inline-flex; align-items:center; border-radius:999px; background:var(--accent); color:#fff; font-size:15px; font-weight:600; transition:background .2s; }
.hdr-cta:hover{ background:var(--accent-h); }
.burger{ display:none; width:44px; height:44px; padding:0; border:0; background:none; cursor:pointer; position:relative; }
.burger i{ position:absolute; left:9px; right:9px; height:2px; background:var(--ink); border-radius:2px; transition:transform .25s, top .25s; }
.burger i:first-child{ top:17px; }
.burger i:last-child{ top:26px; }
.burger[aria-expanded=true] i:first-child{ top:21px; transform:rotate(45deg); }
.burger[aria-expanded=true] i:last-child{ top:21px; transform:rotate(-45deg); }

/* first screen: the copy on top, the call runs edge to edge below it */
.hero{ min-height:100vh; min-height:100svh; padding-top:76px; display:flex; flex-direction:column; }
.copy{ padding:clamp(20px,5vh,56px) 20px 0; text-align:center; }
h1{ font-size:clamp(42px,min(7.2vw,11.5vh),112px); font-weight:700; line-height:1; letter-spacing:-.04em; }
h1 em{ font-style:normal; color:var(--accent); }
.copy p{ max-width:680px; margin:clamp(14px,2.6vh,24px) auto 0; font-size:clamp(16px,1.35vw,19px); line-height:1.5; color:var(--mut); }
.acts{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:clamp(18px,3.2vh,30px); }
.btn{ height:56px; padding:0 28px; display:inline-flex; align-items:center; gap:10px; border-radius:999px; font-size:17px; font-weight:600; transition:transform .25s, background .2s, box-shadow .25s; }
.btn:hover{ transform:translateY(-2px); }
.btn.pr{ background:var(--accent); color:#fff; box-shadow:0 14px 30px -12px rgba(0,113,227,.55); }
.btn.pr:hover{ background:var(--accent-h); }
.btn.gh{ color:var(--ink); box-shadow:inset 0 0 0 1.5px #CFD5DD; }
.btn.gh:hover{ box-shadow:inset 0 0 0 1.5px var(--ink); }

/* the call */
.call{ --hub:76px; --wave-h:clamp(130px,21vh,200px); flex:1; position:relative; min-height:300px; margin-top:clamp(8px,2vh,20px); display:grid; grid-template-rows:var(--wave-h,150px) 1fr; }
#wave{ position:absolute; left:0; top:0; width:100%; height:var(--wave-h,150px); }
.hub{ position:absolute; left:50%; top:calc(var(--wave-h,150px) / 2); width:var(--hub); height:var(--hub); margin:calc(var(--hub) / -2) 0 0 calc(var(--hub) / -2); border-radius:50%; display:grid; place-items:center; background:#C4CAD3; box-shadow:0 0 0 8px var(--paper); transition:background .35s, transform .35s cubic-bezier(.2,.7,.2,1.4); }
.hub svg{ width:44%; height:44%; fill:#fff; }
.hub u{ position:absolute; inset:0; border-radius:50%; border:2px solid var(--ok); opacity:0; }
.call.is-ring .hub{ background:var(--ok); }
.call.is-ring .hub u{ animation:ring 1.3s ease-out infinite; }
.call.is-ring .hub u:nth-child(2){ animation-delay:.42s; }
.call.is-ring .hub svg{ animation:shake .55s ease-in-out infinite; }
.call.is-miss .hub{ background:var(--miss); transform:scale(.9); }
.call.is-miss .hub svg{ transform:rotate(135deg); }
.call.is-talk .hub{ background:var(--accent); }
.call.is-done .hub{ background:var(--ink); transform:scale(.9); }
@keyframes ring{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(2.1); opacity:0; } }
@keyframes shake{ 0%,100%{ transform:rotate(0); } 25%{ transform:rotate(-13deg); } 75%{ transform:rotate(13deg); } }

.who, .time{ position:absolute; top:calc(var(--wave-h,150px) / 2 - 22px); font-size:15px; text-shadow:0 0 6px var(--paper),0 0 6px var(--paper),0 0 12px var(--paper),0 0 12px var(--paper); }
.who{ right:calc(50% + 124px); text-align:right; line-height:1.3; }
.who b{ display:block; font-size:17px; font-weight:700; }
.who span{ color:var(--mut); transition:color .3s; }
.call.is-miss .who span{ color:var(--miss); }
.time{ left:calc(50% + 124px); top:calc(var(--wave-h,150px) / 2 - 17px); font-size:24px; font-weight:600; letter-spacing:-.01em; font-variant-numeric:tabular-nums; color:var(--mut2); transition:color .3s; }
.call.is-talk .time{ color:var(--ink); }

/* the conversation falls out of the wave, line by line */
.talk{ grid-row:2; width:min(760px,100%); margin:0 auto; padding:clamp(4px,1vh,12px) 20px 24px; font-size:clamp(16px,1.35vw,19px); line-height:1.45; }
.talk p{ margin-top:8px; }
.talk b{ margin-right:8px; font-weight:700; }
.talk .c b{ color:var(--accent); }
.talk .out{ margin-top:14px; font-weight:600; }
.talk .out b{ color:var(--accent); }
.talk .w{ display:inline-block; opacity:0; transform:translateY(-10px); transition:opacity .28s, transform .38s cubic-bezier(.2,.7,.2,1); white-space:pre; }
.talk .w.on{ opacity:1; transform:none; }
.talk.gone{ opacity:0; transition:opacity .35s; }

/* floating WhatsApp + заявка: visible all the way down */
.fab{ position:fixed; z-index:50; right:20px; bottom:calc(22px + env(safe-area-inset-bottom,0px)); display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.fab a{ height:50px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 20px 0 16px; border-radius:999px; background:#25D366; color:#fff; font-size:14.5px; font-weight:700; white-space:nowrap; box-shadow:0 12px 28px -10px rgba(37,211,102,.6); transition:transform .25s; }
.fab a:hover{ transform:translateY(-2px); }
.fab a.go{ padding:0 22px; background:var(--accent); box-shadow:0 12px 28px -10px rgba(0,113,227,.55); }
.fab svg{ width:20px; height:20px; fill:currentColor; flex:none; }
html.hero-cta .fab a.go{ display:none; }

@media (max-width:1100px){
  .fab{ flex-direction:row; align-items:center; gap:8px; right:12px; bottom:calc(14px + env(safe-area-inset-bottom,0px)); }
  .fab a{ width:48px; height:48px; padding:0; }
  .fab a span{ display:none; }
  .fab a.go{ width:auto; padding:0 18px; }
}
@media (max-width:900px){
  .nav{ position:fixed; inset:68px 0 auto 0; margin:0; padding:12px 20px 22px; flex-direction:column; gap:0; background:var(--paper); box-shadow:0 24px 40px -24px rgba(16,32,51,.25); font-size:18px; opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s, transform .25s, visibility .2s; }
  .nav a{ padding:13px 0; }
  .nav.on{ opacity:1; visibility:visible; transform:none; }
  .hdr{ height:68px; gap:10px; }
  .hdr-cta{ display:none; }
  .burger{ display:block; margin-left:auto; }
  .hero{ padding-top:68px; }
}
@media (max-width:640px){
  .copy p{ font-size:16px; }
  .btn{ height:52px; padding:0 24px; font-size:16px; }
  .btn.gh{ display:none; }
  .call{ --hub:60px; --wave-h:136px; min-height:350px; margin-top:16px; }
  .who{ left:20px; right:auto; top:-8px; text-align:left; font-size:13.5px; }
  .hub u{ border-width:1.5px; }
  .who b{ font-size:15px; }
  .time{ left:auto; right:20px; top:-2px; font-size:19px; }
  .talk{ font-size:15.5px; padding-bottom:84px; }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .hub u, .hub svg{ animation:none !important; }
  .talk .w{ transition:none; }
}

/* ========== blocks below the first screen ========== */
.wrap{ width:min(1240px,100%); margin:0 auto; padding:0 clamp(20px,4vw,56px); }
section[id]{ scroll-margin-top:76px; }
h2{ font-size:clamp(32px,min(4.6vw,8vh),68px); font-weight:700; line-height:1.06; letter-spacing:-.035em; text-wrap:balance; }
h2 em{ font-style:normal; color:var(--accent); }
.sample{ margin-top:14px; font-size:14px; color:var(--mut2); }
.sample.in{ display:block; margin-top:8px; }
.rv{ opacity:0; transform:translateY(26px); transition:opacity .7s, transform .9s cubic-bezier(.2,.7,.2,1); }
.rv.in{ opacity:1; transform:none; }

/* 2. the working day */
.day{ height:320vh; }
.day-pin{ position:sticky; top:0; height:100vh; height:100svh; padding:clamp(84px,12vh,120px) clamp(20px,4vw,56px) 20px; width:min(1240px,100%); margin:0 auto; display:flex; flex-direction:column; justify-content:center; }
.day h2 em{ color:var(--miss); transition:color .6s; }
.day.turn h2 em{ color:#17A84B; }
.day-head{ display:flex; align-items:flex-end; gap:clamp(24px,5vw,72px); margin-top:clamp(18px,4vh,44px); }
.day-clock{ margin-right:auto; font-size:clamp(44px,min(7vw,11vh),96px); font-weight:700; line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.day-num{ text-align:right; }
.day-num b{ display:block; font-size:clamp(34px,min(4.6vw,8vh),64px); font-weight:700; line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.day-num span{ font-size:15px; color:var(--mut); }
.day-num.miss b{ color:var(--miss); }
.day-num.back b{ color:#17A84B; }
.day-bars{ position:relative; display:flex; align-items:flex-end; gap:clamp(2px,.35vw,5px); height:clamp(110px,26vh,250px); margin-top:clamp(14px,3vh,28px); border-bottom:2px solid var(--line); }
.day-bars > i:not(.day-scan){ flex:1; min-width:0; border-radius:3px 3px 0 0; background:#C6D3E2; transform:scaleY(0); transform-origin:bottom; transition:transform .35s cubic-bezier(.2,.7,.2,1.2), background .45s; }
.day-bars > i.on{ transform:scaleY(1); }
.day-bars > i.x{ background:var(--miss); }
.day-bars > i.x.ok{ background:#25C65F; }
.day-scan{ position:absolute; top:-6%; bottom:0; width:2px; background:var(--ink); }
.day-axis{ display:flex; justify-content:space-between; margin-top:8px; font-size:14px; color:var(--mut2); font-variant-numeric:tabular-nums; }
.day-note{ max-width:680px; min-height:3em; margin-top:clamp(12px,2.4vh,24px); font-size:clamp(17px,1.5vw,21px); line-height:1.4; }
.day .sample{ margin-top:4px; }

/* 3. smart menu: the whole section goes dark at night */
.ivr{ --i-bg:#fff; --i-fg:var(--ink); --i-mut:#55616F; --i-line:#CBD3DD; --i-go:var(--accent); padding:clamp(72px,12vh,140px) 0; background:#fff; color:var(--i-fg); transition:background .8s, color .8s; }
.ivr.night{ --i-bg:#0B1726; --i-fg:#fff; --i-mut:#A9B6C6; --i-line:#2C4058; --i-go:#6FA8FF; background:#0B1726; }
.ivr-top{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px 48px; }
.ivr h2{ max-width:760px; }
.ivr h2 em{ color:var(--i-go); transition:color .8s; }
.ivr-switch{ display:flex; align-items:center; gap:14px; padding:6px 0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.ivr-time{ font-size:clamp(28px,3vw,40px); font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.ivr-track{ position:relative; width:72px; height:40px; border-radius:20px; background:var(--accent); transition:background .5s; }
.ivr-track i{ position:absolute; left:4px; top:4px; width:32px; height:32px; border-radius:50%; background:#fff; transition:transform .45s cubic-bezier(.3,1.4,.5,1); }
.ivr.night .ivr-track{ background:#2C4058; }
.ivr.night .ivr-track i{ transform:translateX(32px); }
.ivr-word{ width:52px; text-align:left; font-size:17px; font-weight:600; }
.ivr-map{ display:block; width:100%; margin:clamp(28px,6vh,60px) 0 clamp(20px,4vh,40px); overflow:visible; }
.ivr-map .route{ fill:none; stroke:var(--i-go); stroke-width:3; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; opacity:0; transition:stroke-dashoffset .95s cubic-bezier(.5,0,.2,1), stroke .8s, opacity 0s .95s; }
.ivr-map .route.day, .ivr-map.is-night .route.night{ stroke-dashoffset:0; opacity:1; transition:stroke-dashoffset .95s cubic-bezier(.5,0,.2,1), stroke .8s, opacity 0s; }
.ivr-map.is-night .route.day{ stroke-dashoffset:1; opacity:0; transition:stroke-dashoffset .95s cubic-bezier(.5,0,.2,1), stroke .8s, opacity 0s .95s; }
.ivr-map .node{ transition:opacity .5s; }
.ivr-map .node.night{ opacity:0; }
.ivr-map.is-night .node.night{ opacity:1; }
.ivr-map.is-night .node.day{ opacity:0; }
.ivr-map .node circle{ fill:#fff; stroke:var(--i-go); stroke-width:3; transition:fill .25s, stroke .8s; }
.ivr.night .ivr-map .node circle{ fill:#0B1726; }
.ivr-map .node.hit circle, .ivr.night .ivr-map .node.hit circle{ fill:var(--i-go); }
.ivr-map text{ fill:var(--i-fg); font-size:19px; font-weight:600; paint-order:stroke; stroke:var(--i-bg); stroke-width:8px; stroke-linejoin:round; transition:fill .8s, stroke .8s; }
.ivr-map.tall text{ font-size:15px; }
.ivr-map .runner{ fill:var(--i-go); stroke:#fff; stroke-width:2.5; opacity:0; transition:opacity .2s; }
.ivr.night .ivr-map .runner{ stroke:#0B1726; }
.ivr-text{ display:grid; grid-template-columns:1fr 1fr; gap:16px clamp(24px,5vw,72px); font-size:clamp(17px,1.4vw,20px); line-height:1.45; color:var(--i-mut); transition:color .8s; }

/* 4. AI breakdown */
.ai{ padding:clamp(72px,12vh,140px) 0; }
.ai-grid{ display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(28px,5vw,80px); margin-top:clamp(28px,6vh,60px); align-items:start; }
.ai-player{ display:flex; align-items:center; gap:16px; }
.ai-play{ flex:none; width:56px; height:56px; padding:0; display:grid; place-items:center; border:0; border-radius:50%; background:var(--accent); cursor:pointer; transition:background .2s, transform .2s; }
.ai-play:hover{ background:var(--accent-h); transform:scale(1.05); }
.ai-play svg{ width:26px; height:26px; fill:#fff; }
.ai-track{ flex:1; min-width:0; height:56px; display:flex; align-items:center; gap:3px; }
.ai-track i{ flex:1; min-width:0; border-radius:2px; background:#CFD8E3; transition:background .2s; }
.ai-track i.on{ background:var(--accent); }
.ai-speed{ flex:none; width:52px; height:40px; padding:0; border:0; border-radius:12px; background:#E7ECF2; color:var(--ink); font:inherit; font-size:15px; font-weight:700; cursor:pointer; transition:background .2s; }
.ai-speed:hover{ background:#DAE1EA; }
.ai-script{ margin-top:clamp(20px,4vh,34px); }
.ai-script p{ display:grid; grid-template-columns:100px 1fr; gap:12px; padding:12px 0; border-top:1px solid var(--line); font-size:clamp(17px,1.4vw,19px); line-height:1.42; opacity:.16; transition:opacity .45s; }
.ai-script p.on{ opacity:1; }
.ai-script b{ font-weight:700; }
.ai-script .c b{ color:var(--accent); }
.ai-script mark{ background:none; color:inherit; transition:color .5s; }
.ai-grid.marked mark{ color:var(--accent); font-weight:600; }
.ai-out{ min-height:330px; }
.ai-out div{ padding:0 0 clamp(16px,3vh,26px); opacity:0; transform:translateX(18px); transition:opacity .4s, transform .5s cubic-bezier(.2,.7,.2,1); }
.ai-out div.on{ opacity:1; transform:none; }
.ai-out span{ font-size:15px; font-weight:600; color:var(--accent); }
.ai-out p{ min-height:1.2em; margin-top:4px; font-size:clamp(21px,2.1vw,30px); font-weight:600; line-height:1.2; letter-spacing:-.02em; }

/* 5. CRM */
.crm{ padding:clamp(72px,12vh,140px) 0; background:#fff; }
.crm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,6vw,96px); align-items:center; }
.crm-copy > p{ margin-top:18px; font-size:clamp(17px,1.4vw,20px); line-height:1.45; color:var(--mut); }
.crm-names{ display:flex; gap:clamp(20px,3vw,40px); margin-top:clamp(20px,4vh,40px); font-size:clamp(26px,3vw,42px); font-weight:700; letter-spacing:-.03em; color:#CBD3DD; }
.crm-names span{ transition:color .5s; }
.crm-names .on{ color:var(--ink); }
.crm-stage{ min-width:0; }
.crm-path{ display:flex; padding:0; margin:0 0 20px; list-style:none; font-size:15px; font-weight:600; color:#AAB5C2; }
.crm-path li{ flex:1; padding-top:10px; border-top:4px solid var(--line); transition:color .4s, border-color .4s; }
.crm-path li + li{ margin-left:4px; }
.crm-path li.on{ color:var(--accent); border-color:var(--accent); }
.crm-card{ min-height:340px; padding:clamp(20px,2.6vw,32px); border-radius:24px; background:var(--paper); box-shadow:0 30px 60px -36px rgba(16,32,51,.35); opacity:0; transform:translateY(34px) scale(.97); transform-origin:50% 0; transition:opacity .4s, transform .55s cubic-bezier(.2,.8,.2,1.05); }
.crm-card.in{ opacity:1; transform:none; }
.crm-who{ display:flex; align-items:center; gap:14px; min-height:56px; }
.crm-who i{ flex:none; width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:var(--accent); }
.crm-who svg{ width:24px; height:24px; fill:#fff; }
.crm-who b{ display:block; min-height:1.25em; font-size:clamp(19px,1.7vw,23px); font-weight:700; letter-spacing:-.01em; }
.crm-who span{ display:block; min-height:1.3em; font-size:15px; color:var(--mut); }
.crm-card dl{ margin:clamp(14px,2.4vh,22px) 0 0; }
.crm-card dl div{ display:grid; grid-template-columns:130px 1fr; gap:12px; padding:11px 0; border-top:1px solid var(--line); font-size:16px; line-height:1.35; }
.crm-card dt{ color:var(--mut); }
.crm-card dd{ margin:0; min-height:1.35em; font-weight:600; }
.crm-rec dd{ display:flex; align-items:center; gap:3px; height:22px; }
.crm-rec u{ width:4px; height:100%; border-radius:2px; background:var(--accent); transform:scaleY(0); transition:transform .3s; }
.crm-card.rec .crm-rec u{ transform:scaleY(.8); }
.crm-card.rec .crm-rec u:nth-child(3n){ transform:scaleY(.4); transition-delay:.1s; }
.crm-card.rec .crm-rec u:nth-child(3n+1){ transform:scaleY(1); transition-delay:.2s; }
.crm-card.rec .crm-rec u:nth-child(4n){ transform:scaleY(.6); transition-delay:.3s; }

/* 6. analytics */
.stats{ padding:clamp(72px,12vh,140px) 0; background:var(--ink); color:#fff; }
.stats h2 em{ color:#6FA8FF; }
.stats-grid{ display:grid; grid-template-columns:.9fr 1.3fr; gap:clamp(28px,6vw,96px); margin-top:clamp(28px,6vh,60px); align-items:center; }
.stats-nums div + div{ margin-top:clamp(18px,3.4vh,34px); }
.stats-nums b{ display:block; font-size:clamp(52px,6.4vw,96px); font-weight:700; line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.stats-nums span{ font-size:16px; color:#A9B6C6; }
.stats-race{ position:relative; }
.stats-race .row{ position:absolute; left:0; right:0; top:0; display:grid; grid-template-columns:84px 1fr 42px; align-items:center; gap:12px; height:52px; font-size:17px; transition:transform .55s cubic-bezier(.3,.8,.3,1); }
.stats-race .row span{ color:#CBD5E1; }
.stats-race .row i{ height:18px; border-radius:9px; background:#1E3148; overflow:hidden; }
.stats-race .row u{ display:block; height:100%; width:0; border-radius:9px; background:#3C5C80; transition:background .3s; }
.stats-race .row b{ text-align:right; font-weight:700; font-variant-numeric:tabular-nums; }
.stats-race .row.lead u{ background:#6FA8FF; }
.stats-text{ max-width:720px; margin-top:clamp(24px,5vh,48px); font-size:clamp(17px,1.4vw,20px); line-height:1.45; color:#CBD5E1; }
.stats .sample{ color:#8494A7; }

/* 7. Kazakhstan */
.sec{ padding:clamp(72px,12vh,140px) 0; }
.sec-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(28px,5vw,72px); align-items:center; }
.sec-map{ display:block; width:100%; overflow:visible; }
.sec-map .land{ fill:#E9EFF6; opacity:0; transition:opacity 1s 1s; }
.sec-map.in .land{ opacity:1; }
.sec-map .border{ fill:none; stroke:var(--accent); stroke-width:1.8; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; opacity:0; transition:stroke-dashoffset 2.2s cubic-bezier(.5,0,.3,1); }
.sec-map.in .border{ stroke-dashoffset:0; opacity:1; }
.sec-map .city{ opacity:0; transition:opacity .5s calc(1.3s + var(--i) * .14s); }
.sec-map.in .city{ opacity:1; }
.sec-map .arc{ fill:none; stroke:#B5C8DE; stroke-width:1; }
.sec-map .pkt{ fill:none; stroke:var(--accent); stroke-width:2.4; stroke-linecap:round; stroke-dasharray:.07 1; stroke-dashoffset:1.07; }
.sec-map.in .pkt{ animation:pkt 2.8s linear calc(1.8s + var(--i) * .37s) infinite; }
@keyframes pkt{ to{ stroke-dashoffset:0; } }
.sec-map .city circle{ fill:var(--ink); }
.sec-map .city text{ fill:var(--ink); font-size:11.5px; font-weight:600; paint-order:stroke; stroke:#E9EFF6; stroke-width:3px; }
.sec-map .hub-pt{ opacity:0; transform-box:fill-box; transform-origin:center; transform:scale(.4); transition:opacity .4s 1.1s, transform .6s cubic-bezier(.2,.8,.2,1.5) 1.1s; }
.sec-map.in .hub-pt{ opacity:1; transform:none; }
.sec-map .hub-pt circle{ fill:var(--accent); }
.sec-map .hub-pt path{ fill:#fff; }
.sec-list{ margin:clamp(20px,4vh,34px) 0 0; padding:0; list-style:none; }
.sec-list li{ padding:13px 0; border-top:1px solid var(--line); font-size:17px; line-height:1.42; color:var(--mut); }
.sec-list b{ color:var(--ink); font-weight:700; }

/* 8. launch */
.go{ height:300vh; background:#fff; }
.go-pin{ position:sticky; top:0; height:100vh; height:100svh; width:min(1240px,100%); margin:0 auto; padding:clamp(84px,11vh,110px) clamp(20px,4vw,56px) 24px; display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(24px,5vw,72px); align-items:center; }
.go-steps{ margin:clamp(18px,3.6vh,36px) 0 0; padding:0; list-style:none; }
.go-steps li{ padding:clamp(9px,1.5vh,14px) 0; border-top:1px solid var(--line); color:#AAB5C2; transition:color .35s; }
.go-steps b{ display:block; font-size:clamp(19px,1.9vw,25px); font-weight:700; letter-spacing:-.015em; }
.go-steps span{ display:block; max-height:0; overflow:hidden; opacity:0; font-size:16px; line-height:1.38; color:var(--mut); transition:max-height .4s, opacity .4s, margin .4s; }
.go-steps li.past{ color:var(--ink); }
.go-steps li.on{ color:var(--accent); }
.go-steps li.on span{ max-height:66px; margin-top:4px; opacity:1; }
.go-free{ padding-top:clamp(10px,1.7vh,16px); border-top:1px solid var(--line); font-size:16px; font-weight:600; }
.go-dial{ display:block; width:100%; max-width:min(520px,70vh); margin:0 auto; overflow:visible; }
.go-dial .face{ fill:var(--paper); }
.go-dial .tick{ stroke:#C8D1DC; stroke-width:1.5; }
.go-dial .tick.big{ stroke:var(--ink); stroke-width:3; }
.go-dial .hour{ fill:var(--ink); font-size:24px; font-weight:600; }
.go-dial .span{ fill:none; stroke:var(--accent); stroke-width:9; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; }
.go-dial .hand{ stroke-linecap:round; }
.go-dial .hand.h{ stroke:var(--ink); stroke-width:9; }
.go-dial .hand.m{ stroke:var(--accent); stroke-width:5; }
.go-dial .pin{ fill:var(--ink); }
.go-dial .time{ fill:var(--ink); font-size:38px; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; transition:fill .3s; }
.go-dial.done .time{ fill:#17A84B; }
.go-dial.done .span{ stroke:#25C65F; }

/* 9. the form */
.end{ padding:clamp(72px,12vh,140px) 0; background:var(--accent); color:#fff; }
.end-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(28px,6vw,96px); align-items:center; }
.end h2{ font-size:clamp(38px,min(5.6vw,9vh),84px); text-wrap:initial; }
.end-word{ display:block; position:relative; height:1.14em; overflow:hidden; color:#BFDBFF; }
.end-word span{ display:block; position:absolute; left:0; top:0; white-space:nowrap; }
.end-word .enter{ animation:wIn .5s cubic-bezier(.2,.8,.2,1) both; }
.end-word .leave{ animation:wOut .5s cubic-bezier(.5,0,.8,.3) both; }
@keyframes wIn{ from{ transform:translateY(105%); } to{ transform:none; } }
@keyframes wOut{ to{ transform:translateY(-105%); } }
.end-copy p{ max-width:520px; margin-top:18px; font-size:clamp(17px,1.5vw,21px); line-height:1.42; color:#E6F0FF; }
.end-wa{ display:inline-block; margin-top:18px; font-size:17px; font-weight:600; border-bottom:2px solid rgba(255,255,255,.45); transition:border-color .2s; }
.end-wa:hover{ border-color:#fff; }
.end-form, .end-ok{ padding:clamp(22px,3vw,36px); border-radius:24px; background:#fff; color:var(--ink); box-shadow:0 40px 70px -40px rgba(0,30,80,.7); }
.end-form label{ display:block; margin:0 0 6px; font-size:15px; font-weight:600; }
.end-form input:not(.end-honey){ width:100%; height:54px; padding:0 16px; border:1.5px solid #CFD5DD; border-radius:14px; background:#fff; color:var(--ink); font:inherit; font-size:17px; outline:none; transition:border-color .2s; }
.end-form input:focus{ border-color:var(--accent); }
.end-form input.err, .end-phone.err input{ border-color:var(--miss) !important; }
#leadName{ margin-bottom:16px; }
.end-honey{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.end-form button{ width:100%; height:56px; margin-top:18px; border:0; border-radius:999px; background:var(--accent); color:#fff; font:inherit; font-size:17px; font-weight:600; cursor:pointer; transition:background .2s; }
.end-form button:hover{ background:var(--accent-h); }
.end-form button:disabled{ opacity:.7; cursor:default; }
.end-err{ margin-top:12px; font-size:15px; line-height:1.4; color:#D92D20; }
.end-law{ margin-top:12px; font-size:13.5px; line-height:1.4; color:var(--mut); }
.end-law a{ text-decoration:underline; }
.end-ok b{ display:block; font-size:clamp(26px,2.6vw,36px); font-weight:700; letter-spacing:-.02em; }
.end-ok p{ margin-top:10px; font-size:17px; line-height:1.45; color:var(--mut); }
html.form-cta .fab a.go{ display:none; }

/* footer */
.ftr{ padding:30px 0 96px; background:var(--ink); color:#A9B6C6; font-size:15px; }
.ftr-in{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 32px; }
.ftr .logo{ margin-right:auto; color:#fff; }
.ftr .logo span{ color:#6FA8FF; }
.ftr a:not(.logo):hover{ color:#fff; }

@media (max-width:1100px){
  .sec-grid{ grid-template-columns:1fr; }
  .sec-map{ max-width:720px; margin:0 auto; }
}
@media (max-width:900px){
  section[id]{ scroll-margin-top:68px; }
  .ai-grid, .crm-grid, .stats-grid, .end-grid{ grid-template-columns:1fr; }
  .ai-out{ min-height:300px; }
  .go-pin{ grid-template-columns:1fr; grid-template-rows:auto auto; align-content:center; padding-top:80px; gap:14px; }
  .go-dial{ order:-1; width:auto; height:clamp(170px,30svh,300px); max-width:100%; }
}
@media (max-width:640px){
  .day{ height:300vh; }
  .day-pin{ padding-top:84px; }
  .day-head{ gap:18px; }
  .day-num span{ font-size:13px; }
  .day-note{ min-height:4.3em; font-size:16px; }
  .ivr-text{ grid-template-columns:1fr; }
  .ivr-switch{ gap:10px; }
  .ai-script p{ grid-template-columns:1fr; gap:2px; font-size:16px; }
  .ai-track{ gap:2px; }
  .ai-player{ gap:10px; }
  .crm-card{ min-height:320px; }
  .crm-card dl div{ grid-template-columns:104px 1fr; font-size:15px; }
  .stats-race .row{ grid-template-columns:66px 1fr 32px; gap:8px; height:44px; font-size:15px; }
  .sec-map .city text{ font-size:13px; }
  .go-steps b{ font-size:18px; }
  .go-steps span{ font-size:15px; }
  .go-free{ font-size:15px; }
  .end h2{ font-size:clamp(30px,9.6vw,44px); }
  .end-word{ height:1.2em; }
  .ftr-in{ flex-direction:column; align-items:flex-start; }
  .ftr .logo{ margin-right:0; }
}
@media (prefers-reduced-motion:reduce){
  .rv{ opacity:1; transform:none; transition:none; }
  .sec-map .pkt{ animation:none !important; opacity:0; }
  .sec-map *, .crm-card, .ai-out div, .ivr, .ivr *{ transition:none !important; }
}

/* hero: second line of the h1 */
.h1-sub{ display:block; margin-top:clamp(14px,2.6vh,24px); font-size:clamp(17px,1.5vw,21px); font-weight:600; line-height:1.4; letter-spacing:0; color:var(--ink); }
.copy h1 + p{ margin-top:6px; }

.ai-lead{ max-width:760px; margin:18px 0 0; font-size:clamp(17px,1.4vw,19px); line-height:1.5; color:var(--mut); }

/* questions */
.faq{ padding:clamp(72px,12vh,140px) 0; background:var(--paper); }
.faq-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(28px,5vw,80px); align-items:start; }
.faq h2{ position:sticky; top:104px; margin:0; font-size:clamp(32px,4vw,56px); line-height:1.06; letter-spacing:-.03em; font-weight:800; text-wrap:balance; }
.faq h2 em{ font-style:normal; color:var(--accent); }
.faq-i{ border-top:1px solid var(--line); }
.faq-i:last-child{ border-bottom:1px solid var(--line); }
.faq-i summary{ position:relative; display:block; padding:22px 44px 22px 0; font-size:clamp(18px,1.6vw,22px); font-weight:700; line-height:1.3; cursor:pointer; list-style:none; transition:color .2s; }
.faq-i summary::-webkit-details-marker{ display:none; }
.faq-i summary:hover, .faq-i[open] summary{ color:var(--accent); }
.faq-i summary:focus-visible{ outline:2px solid var(--accent); outline-offset:4px; border-radius:4px; }
.faq-i summary i{ position:absolute; right:4px; top:50%; width:18px; height:18px; margin-top:-9px; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.faq-i summary i::before, .faq-i summary i::after{ content:""; position:absolute; left:0; right:0; top:8px; height:2px; border-radius:2px; background:currentColor; }
.faq-i summary i::after{ transform:rotate(90deg); }
.faq-i[open] summary i{ transform:rotate(135deg); }
.faq-a{ padding:0 44px 24px 0; }
.faq-a svg{ display:block; width:100%; height:24px; margin-bottom:10px; overflow:visible; }
.faq-a path{ fill:none; stroke:var(--accent); stroke-width:2; stroke-linecap:round; vector-effect:non-scaling-stroke; stroke-dasharray:1; stroke-dashoffset:1; }
.faq-i[open] .faq-a path{ animation:faqLine .9s cubic-bezier(.3,.6,.2,1) forwards; }
.faq-i[open] .faq-a p{ animation:faqRise .55s .12s both; }
.faq-a p{ margin:0; font-size:17px; line-height:1.55; color:var(--mut); }
@keyframes faqLine{ to{ stroke-dashoffset:0; } }
@keyframes faqRise{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
@media (max-width:900px){
  .faq-grid{ grid-template-columns:1fr; }
  .faq h2{ position:static; }
  .faq-a{ padding-right:0; }
}
@media (prefers-reduced-motion:reduce){
  .faq-i[open] .faq-a path{ animation:none; stroke-dashoffset:0; }
  .faq-i[open] .faq-a p{ animation:none; }
}
