@font-face{font-family:"Onest";src:url("../fonts/onest-cyrillic-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";src:url("../fonts/onest-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* размер телефона: всё внутри в em */
:root{
  --fs:12.5px;
  --bg:#0b0d0a; --card:#12150f; --ink:#f1f2ea; --mut:#9aa092; --lime:#c8ff3d; --on-lime:#0b0d0a;
  --line:rgba(200,255,61,.14); --line-2:rgba(241,242,234,.1);
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1);
  --gut:clamp(20px,5vw,64px);
}
@media (min-width:600px) and (max-width:899px){:root{--fs:14px}}
@media (min-width:900px){:root{--fs:clamp(12px,1.95vh,16.5px)}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-color:#2a2f24 var(--bg)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.55 "Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;
  background-image:radial-gradient(rgba(200,255,61,.16) 1px,transparent 1.2px);background-size:36px 36px}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:6px}
main{position:relative;z-index:1}
#bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--gut)}
.sec{position:relative;padding-block:clamp(72px,11vw,150px)}
.lime{color:var(--lime)}

/* Типографика */
.h-hero{font-weight:800;font-size:clamp(2.1rem,8.4vw,3.4rem);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.accent{color:var(--lime)}
.h-sec{font-weight:800;font-size:clamp(2rem,5.4vw,3.6rem);line-height:1.05;letter-spacing:-.03em}
.lead{max-width:44ch;margin-top:clamp(18px,3vw,28px);font-size:clamp(1.05rem,2.2vw,1.3rem);line-height:1.5;color:var(--mut);max-width:34ch;text-wrap:pretty}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.wi{display:inline-block}

/* Кнопки */
.btn{--bx:50%;--by:50%;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:999px;background:var(--lime);color:var(--on-lime);font:700 1.0625rem/1 "Onest",sans-serif;text-decoration:none;overflow:hidden;isolation:isolate;transition:transform .16s var(--ease-out),box-shadow .3s var(--ease-out);-webkit-tap-highlight-color:transparent;will-change:transform}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120px circle at var(--bx) var(--by),rgba(255,255,255,.55),transparent 70%);opacity:0;transition:opacity .25s ease}
.btn-t{display:block;pointer-events:none}
.btn:active{transform:scale(.97)}
.btn-lg{min-height:68px;padding:0 40px;font-size:clamp(1.05rem,2.6vw,1.3rem)}
.btn-ghost{background:transparent;color:var(--lime);box-shadow:inset 0 0 0 1.5px var(--lime)}
.btn-ghost::before{background:radial-gradient(120px circle at var(--bx) var(--by),rgba(200,255,61,.28),transparent 70%)}
.btn-dark{background:var(--on-lime);color:var(--lime)}
.btn-dark::before{background:radial-gradient(120px circle at var(--bx) var(--by),rgba(200,255,61,.25),transparent 70%)}
@media (hover:hover) and (pointer:fine){
  .btn:hover::before{opacity:1}
  .btn:not(.btn-ghost):not(.btn-dark):hover{box-shadow:0 10px 50px rgba(200,255,61,.35)}
}

/* ---------- Главный экран ---------- */
.hero{position:relative;padding-top:clamp(36px,7vw,96px);padding-bottom:clamp(56px,8vw,110px);overflow:hidden}
.geo{position:absolute;right:-30%;top:-18%;width:min(1000px,150vw);height:auto;pointer-events:none;z-index:0}
.geo *{fill:none;stroke:var(--lime);stroke-opacity:.14;stroke-width:1.2;vector-effect:non-scaling-stroke}
.geo-a{transform-origin:400px 400px;animation:drift 60s linear infinite}
.geo-b{transform-origin:400px 400px;animation:drift 90s linear infinite reverse;stroke-dasharray:4 14}
.geo-c{stroke-opacity:.1}
@keyframes drift{to{transform:rotate(360deg)}}
.hero-grid{position:relative;z-index:1;display:grid;gap:clamp(28px,5vw,44px);grid-template-columns:1fr}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:clamp(26px,4vw,38px)}
.hero-me{display:flex;align-items:center;gap:12px}
.hero-me img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.hero-me span{white-space:nowrap;font-weight:600;font-size:.95rem;color:var(--ink)}
.hero-cta .btn{width:100%}

.hero-side{position:relative;display:flex;justify-content:center;align-items:center;padding-block:1.2em;font-size:var(--fs)}

/* Телефон с демо: размеры в em, чтобы всё масштабировалось вместе */
.phone{position:relative;z-index:3;flex:none;width:17em;height:33em;padding:.55em;border-radius:2.6em;background:#0a0c08;box-shadow:0 0 0 1px var(--line),0 2em 5em rgba(0,0,0,.6),0 0 6em rgba(200,255,61,.1)}
.ph-screen{position:relative;width:100%;height:100%;border-radius:2.1em;background:#0c0f09;overflow:hidden;isolation:isolate}
.sc{position:absolute;inset:0;display:flex;flex-direction:column}
.sc-chat,.sc-crm{opacity:0}
.sc-head{display:flex;align-items:center;gap:.8em;padding:2em 1.1em .9em;border-bottom:1px solid var(--line-2)}
.sc-ava{display:grid;place-items:center;width:2.3em;height:2.3em;border-radius:50%;background:var(--lime);color:var(--on-lime);font-weight:800;font-size:.95em}
.sc-ava-crm{font-size:.65em}
.sc-name{display:flex;flex-direction:column;font-weight:700;font-size:.95em;line-height:1.2}
.sc-name small{font-weight:400;font-size:.75em;color:var(--lime)}
/* сцена 1: мини-копия сайта */
.ms-top{display:flex;align-items:center;justify-content:space-between;padding:2em 1.2em .8em}
.ms-logo{width:1.5em;height:1.5em;border-radius:50%;background:var(--lime)}
.ms-nav{display:flex;gap:.35em}
.ms-nav i{width:2em;height:.4em;border-radius:.3em;background:#2c3324}
.ms-win{flex:1;min-height:0;overflow:hidden;padding:0 1.2em}
.ms-in{}
.ms-h{font-weight:800;font-size:1.6em;line-height:1.08;letter-spacing:-.03em}
.ms-h b{color:var(--lime);font-weight:800}
.ms-sub{margin-top:.8em;font-size:.82em;line-height:1.4;color:var(--mut)}
.ms-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.4em;margin-top:1em}
.ms-facts span{padding:.55em .3em;border-radius:.7em;background:#141910;font-size:.68em;font-weight:700;text-align:center;white-space:nowrap}
.ms-cards{display:grid;gap:.6em;margin-top:1em}
.ms-cards div{display:flex;align-items:center;gap:.6em;padding:.85em;border-radius:1em;background:#141910;box-shadow:inset 0 0 0 1px var(--line-2)}
.ms-cards i{flex:none;width:1.6em;height:1.6em;border-radius:.5em;background:rgba(200,255,61,.18)}
.ms-cards b{font-size:.9em}
.ms-cards em{margin-left:auto;font-style:normal;font-weight:700;font-size:.72em;color:var(--lime);white-space:nowrap}
.ms-lines{display:grid;gap:.5em;margin:1em 0 5em}
.ms-lines::before{content:"";display:block;height:8em;border-radius:1em;background:linear-gradient(140deg,rgba(200,255,61,.3),rgba(200,255,61,.04))}
.ms-lines i{height:.5em;border-radius:.3em;background:#242a1c}
.ms-lines i:nth-child(1){width:90%}.ms-lines i:nth-child(2){width:72%}.ms-lines i:nth-child(3){width:55%}
.ms-btn{position:absolute;z-index:3;left:0;right:0;bottom:1.4em;margin:auto;width:fit-content;padding:.95em 2.6em;border-radius:99px;background:var(--lime);color:var(--on-lime);font-weight:800;font-size:.95em;box-shadow:0 .6em 1.6em rgba(200,255,61,.3)}
.ms-cur{position:absolute;z-index:6;left:0;top:0;width:1.7em;height:1.7em;fill:#fff;stroke:#0b0d0a;stroke-width:1;opacity:0}
.ms-rip{position:absolute;z-index:4;left:0;top:0;width:3.2em;height:3.2em;margin:-1.6em 0 0 -1.6em;border-radius:50%;border:.15em solid var(--lime);opacity:0}
/* сцена 2: Telegram-чат */
.sc-body{flex:1;display:flex;flex-direction:column;gap:.7em;padding:1.1em}
.cm{max-width:88%;padding:.7em .95em;border-radius:1.2em;font-size:.88em;line-height:1.35}
.cm-me{align-self:flex-end;background:var(--lime);color:var(--on-lime);border-bottom-right-radius:.35em}
.cm-slot{display:grid;align-self:flex-start;max-width:88%}
.cm-slot>*{grid-area:1/1;max-width:none}
.cm-bot{align-self:start;background:#1c2215;box-shadow:inset 0 0 0 1px var(--line-2);border-bottom-left-radius:.35em}
.cm-pay{display:block;margin-top:.6em;padding:.6em;border-radius:.8em;background:var(--lime);color:var(--on-lime);text-align:center;font-weight:800}
.cm-typing{display:flex;align-self:start;justify-self:start;gap:.3em;width:fit-content;padding:.9em 1em;background:#1c2215;border-bottom-left-radius:.35em}
.cm-typing i{width:.5em;height:.5em;border-radius:50%;background:var(--mut);animation:dot 1s infinite}
.cm-typing i:nth-child(2){animation-delay:.15s}
.cm-typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{40%{transform:translateY(-.3em);background:var(--lime)}}
.cm-ok{align-self:stretch;max-width:100%;display:flex;align-items:center;gap:.6em;background:rgba(200,255,61,.12);color:var(--lime);box-shadow:inset 0 0 0 1px rgba(200,255,61,.3);font-weight:700}
.cm-ok svg{flex:none;width:1.3em;height:1.3em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* сцена 3: кабинет владельца */
.crm-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.9em;padding:1.1em}
.crm-notif{display:flex;align-items:center;gap:.7em;padding:.8em 1em;border-radius:1.1em;background:var(--lime);color:var(--on-lime)}
.crm-notif i{display:grid;place-items:center;flex:none;width:1.9em;height:1.9em;border-radius:50%;background:var(--on-lime);color:var(--lime)}
.crm-notif svg{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.crm-notif b{display:block;font-size:.92em;line-height:1.2}
.crm-notif small{font-size:.72em;opacity:.7}
.crm-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8em;padding:1em;border-radius:1.2em;background:#141910;box-shadow:inset 0 0 0 1px var(--line)}
.crm-av{width:2.4em;height:2.4em;border-radius:50%;background:linear-gradient(135deg,var(--lime),#44660a)}
.crm-tx b{display:block;font-size:.88em;line-height:1.25}
.crm-tx i{display:block;margin-top:.5em;width:70%;height:.45em;border-radius:.3em;background:#2c3324}
.crm-card em{padding:.3em .7em;border-radius:99px;background:var(--lime);color:var(--on-lime);font-style:normal;font-size:.66em;font-weight:700;white-space:nowrap}
.crm-count{display:flex;align-items:baseline;justify-content:center;gap:.5em;padding:.4em 0}
.crm-count b{font-size:3.6em;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--lime)}
.crm-count span{font-size:.85em;color:var(--mut)}

.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-2);padding-top:22px}
.facts li{display:flex;flex-direction:column;gap:4px;padding-right:10px}
.facts li+li{padding-left:clamp(10px,3vw,24px);border-left:1px solid var(--line-2)}
.fact-v{font-weight:800;font-size:clamp(1.1rem,5.2vw,2.2rem);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.facts span:not([data-count]){font-size:.8125rem;color:var(--mut)}
.fact-shine{background:linear-gradient(100deg,var(--ink) 40%,var(--lime) 50%,var(--ink) 60%) 100% 0/250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 5s ease-in-out 2s infinite}
@keyframes shine{0%{background-position:100% 0}35%,100%{background-position:-50% 0}}

@media (min-width:900px){
  .hero .wrap{max-width:1360px}
  .h-hero{font-size:clamp(2.4rem,min(3.9vw,7.2vh),4.2rem)}
  .hero{padding-top:clamp(64px,9vh,120px)}
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:1fr auto;column-gap:clamp(40px,6vw,96px);row-gap:clamp(20px,3vh,36px);align-items:stretch}
  .hero-copy{grid-column:1;grid-row:1;align-self:center}
  .facts{grid-column:1;grid-row:2}
  .hero-side{grid-column:2;grid-row:1/3;min-height:0}
  .hero-cta .btn{width:auto}
}

/* ---------- Услуги ---------- */
.cards{display:grid;gap:14px;margin-top:clamp(28px,5vw,52px);grid-template-columns:1fr}
.card{--mx:50%;--my:50%;position:relative;display:flex;flex-direction:column;gap:6px;padding:clamp(22px,2.2vw,28px);border-radius:26px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;isolation:isolate}
.card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(320px circle at var(--mx) var(--my),rgba(200,255,61,.13),transparent 70%);opacity:0;transition:opacity .3s ease}
.card h3{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.card p{color:var(--mut);max-width:30ch}
.price{margin-top:auto;padding-top:22px;font-weight:800;font-size:clamp(1.5rem,3.4vw,2.1rem);letter-spacing:-.02em;color:var(--lime);font-variant-numeric:tabular-nums}
.price small{font-weight:500;font-size:.5em;color:var(--mut);letter-spacing:0;margin-right:.2em}
.card-wide{background:linear-gradient(140deg,#161c0f,#10130d);box-shadow:inset 0 0 0 1.5px rgba(200,255,61,.45)}
.card-main{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.card-main .btn{margin-top:22px;min-height:50px;padding:0 26px}
.flow{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px}
.flow li{padding:12px 14px;border-radius:14px;background:rgba(200,255,61,.07);box-shadow:inset 0 0 0 1px var(--line);font-weight:600;font-size:.95rem;text-align:center}
.note{margin-top:clamp(24px,4vw,40px);max-width:46ch;color:var(--mut);font-size:1.0625rem}
@media (hover:hover) and (pointer:fine){.card:hover::before{opacity:1}}
@media (min-width:720px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .card-wide{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:40px}
  .flow{margin-top:0;grid-template-columns:repeat(4,auto);align-items:center;gap:0;flex:1;max-width:520px;justify-content:space-between}
  .flow li{position:relative;z-index:1;background:#171d10}
  .flow::before{content:"";position:absolute;left:30px;right:30px;top:50%;height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}
}

/* ---------- Кейсы ---------- */
.cases-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.cases-meta{display:flex;align-items:center;gap:18px}
.ccount{display:none;font-weight:600;font-size:1.05rem;color:var(--mut);font-variant-numeric:tabular-nums}
.ccount b{display:inline-block;color:var(--lime);font-weight:800;font-size:1.5rem}
.ccount b.pop{animation:cc-tick .4s var(--ease-out)}
@keyframes cc-tick{from{transform:translateY(8px)}}
.arrows{display:flex;gap:10px}
.arrow{display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--lime);cursor:pointer;transition:transform .16s var(--ease-out),background .2s ease,color .2s ease;-webkit-tap-highlight-color:transparent}
.arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.arrow:active{transform:scale(.94)}
@media (hover:hover) and (pointer:fine){.arrow:hover{background:var(--lime);color:var(--on-lime)}}
.carousel{margin-top:clamp(26px,4vw,44px)}
.track{--edge:max(var(--gut),calc((100% - 1200px)/2 + var(--gut)));display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding-inline:var(--edge);scroll-padding-inline:var(--edge);cursor:grab;-webkit-overflow-scrolling:touch}
.track::-webkit-scrollbar{display:none}
.track.is-drag{scroll-snap-type:none;cursor:grabbing;user-select:none}
.case{flex:0 0 min(86%,440px);scroll-snap-align:start;display:flex;flex-direction:column;border-radius:26px;background:var(--card);box-shadow:inset 0 0 0 1px rgba(200,255,61,calc(.14 + var(--c,0)*.5));overflow:hidden}
.case-img{position:relative;aspect-ratio:16/9;background:#0c0f09;overflow:hidden}
.case-img img{width:100%;height:100%;object-fit:cover}
.case-ph{position:absolute;inset:0;background-image:radial-gradient(rgba(200,255,61,.2) 1px,transparent 1.3px);background-size:18px 18px}
.case-ph::before{content:"";position:absolute;left:var(--px);top:var(--py);width:62%;aspect-ratio:1;border-radius:50%;border:1.5px solid rgba(200,255,61,.28);transform:translate(-50%,-50%)}
.case-ph::after{content:"";position:absolute;left:var(--px);top:var(--py);width:38%;aspect-ratio:1;border-radius:50%;border:1.5px dashed rgba(200,255,61,.3);transform:translate(-50%,-50%)}
.case-ph i{position:absolute;left:8%;height:8px;border-radius:4px;background:rgba(241,242,234,.13)}
.case-ph i:nth-child(1){top:24%;width:34%}
.case-ph i:nth-child(2){top:36%;width:22%;background:rgba(241,242,234,.08)}
.case-ph b{position:absolute;left:8%;bottom:20%;width:84px;height:22px;border-radius:99px;background:var(--lime);opacity:.9}
.case-body{display:flex;flex-direction:column;gap:12px;flex:1;padding:clamp(18px,2.4vw,26px)}
.case h3{font-size:clamp(1.2rem,2.4vw,1.5rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
.case p{color:var(--mut)}
.case-res{margin-top:auto;padding:12px 14px;border-radius:14px;background:rgba(200,255,61,.08);box-shadow:inset 0 0 0 1px var(--line);font-size:.95rem}
.case-res b{display:block;margin-bottom:2px;font-size:.8125rem;font-weight:600;color:var(--lime)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.case-res+.tags{margin-top:0}
.tags li{padding:6px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:.8125rem;color:var(--mut)}
.dots{display:flex;gap:8px;margin-top:22px}
.dots i{width:8px;height:8px;border-radius:999px;background:var(--line-2);transition:width .35s var(--ease-out),background .25s ease}
.dots i.on{width:30px;background:var(--lime)}
.cprog{display:none;height:2px;margin-top:20px;border-radius:2px;background:var(--line-2);overflow:hidden}
.cprog i{display:block;height:100%;background:var(--lime);transform-origin:left;transform:scaleX(0);box-shadow:0 0 12px var(--lime)}

/* ---------- Как работаем ---------- */
.steps{position:relative;display:grid;gap:34px;margin-top:clamp(32px,5vw,60px);padding-left:64px}
.steps-line{position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:var(--line-2);border-radius:2px;overflow:hidden}
.steps-fill{display:block;width:100%;height:100%;background:var(--lime);transform-origin:top;transform:scaleY(var(--p,0));box-shadow:0 0 16px var(--lime)}
.step{position:relative}
.step-n{position:absolute;left:-64px;top:-2px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line-2);font:700 1.05rem/1 "Onest",sans-serif;font-style:normal;color:var(--mut);transition:background .4s var(--ease-out),color .4s var(--ease-out),box-shadow .4s var(--ease-out),transform .4s var(--ease-out)}
.step.is-on .step-n{background:var(--lime);color:var(--on-lime);box-shadow:0 0 0 6px rgba(200,255,61,.12)}
.step h3{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.step p{margin-top:6px;color:var(--mut);max-width:34ch}
@media (min-width:860px){
  .steps{grid-template-columns:repeat(4,1fr);gap:28px;padding-left:0;padding-top:72px}
  .steps-line{left:22px;right:22px;top:21px;bottom:auto;width:auto;height:2px}
  .steps-fill{transform-origin:left;transform:scaleX(var(--p,0))}
  .step-n{left:0;top:-72px}
}

/* ---------- Приведи клиента ---------- */
.refer{padding-block:clamp(56px,9vw,120px)}
.refer .wrap{position:relative;z-index:1}
.refer-flash{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(50% 55% at 75% 50%,rgba(200,255,61,.45),transparent 72%);opacity:0}
.refer-grid{display:grid;gap:clamp(28px,5vw,48px);align-items:center}
@media (min-width:900px){.refer-grid{grid-template-columns:minmax(0,1fr) minmax(300px,410px);column-gap:clamp(40px,7vw,100px)}}
.refer-k{font-weight:800;font-size:.85rem;letter-spacing:.14em;color:var(--lime)}
.refer-h{margin-top:12px;max-width:18ch;font-weight:800;font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.1;letter-spacing:-.03em;text-wrap:balance}
.refer-steps{counter-reset:s;display:grid;gap:16px;max-width:60ch;margin-top:clamp(20px,3vw,30px)}
.refer-steps li{position:relative;padding-left:46px;color:var(--mut);line-height:1.55}
.refer-steps li b{color:var(--ink);font-weight:700}
.refer-steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:-1px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(200,255,61,.5);color:var(--lime);font-weight:800;font-size:.85rem}
.refer-steps a{color:var(--lime);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.refer-card{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%;max-width:420px;padding:clamp(24px,3vw,34px);border-radius:32px;background:var(--lime);color:var(--on-lime)}
.refer-geo{position:absolute;z-index:-1;right:-60px;top:-60px;width:260px;height:auto;pointer-events:none}
.refer-geo circle{fill:none;stroke:var(--on-lime);stroke-opacity:.09;stroke-width:1.5;vector-effect:non-scaling-stroke}
.refer-sum{font-weight:800;font-size:clamp(3rem,6vw,4.4rem);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.refer-t{font-weight:700;font-size:1.15rem;line-height:1.3}
.refer-s{font-size:.9rem;line-height:1.4;opacity:.75}
.refer-card .btn{min-height:50px;margin-top:8px;padding:0 26px}
.refer-cap{font-size:.8125rem;opacity:.7}
.refer-sheen{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.26) 50%,transparent 58%);transform:translateX(-130%)}

/* ---------- Финал ---------- */
.final{padding-top:0;padding-bottom:calc(clamp(56px,8vw,100px) + env(safe-area-inset-bottom))}
.h-final{font-size:clamp(2.2rem,6vw,4.2rem);margin-bottom:clamp(26px,4vw,40px);max-width:16ch}
.final .btn-lg{width:100%}
.contacts{display:grid;gap:22px;margin-top:clamp(36px,6vw,64px);padding-top:26px;border-top:1px solid var(--line-2)}
.contacts dt{font-size:.8125rem;letter-spacing:.08em;color:var(--mut);text-transform:uppercase}
.contacts dd{white-space:nowrap;margin-top:4px;font-weight:700;font-size:clamp(1.3rem,3vw,1.7rem);letter-spacing:-.02em}
.contacts a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .35s var(--ease-out);padding-bottom:2px}
@media (hover:hover) and (pointer:fine){.contacts a:hover{background-size:100% 2px}}
.foot{margin-top:clamp(36px,5vw,56px);max-width:62ch;font-size:.8125rem;line-height:1.5;color:var(--mut)}
.final-grid{display:grid;gap:clamp(32px,6vw,56px);align-items:center}
.final-card{position:relative;height:clamp(340px,88vw,460px);margin-top:clamp(40px,8vw,70px);border-radius:32px;background:var(--lime)}
.fc-clip{position:absolute;inset:0;clip-path:inset(-30% 0 0 0 round 0 0 32px 32px)}
.fc-clip img{position:absolute;left:50%;bottom:0;height:118%;width:auto;max-width:none;transform:translateX(-50%)}
@media (min-width:720px){
  .final .btn-lg{width:auto}
  .contacts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contacts>div:first-child{grid-column:1/-1}
}
@media (min-width:900px){
  .final-grid{grid-template-columns:minmax(0,1fr) minmax(320px,480px);column-gap:clamp(40px,6vw,96px)}
  .final-card{height:clamp(420px,62vh,560px);margin-top:70px}
}

.sticky-cta{position:fixed;z-index:20;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;background:var(--lime);color:var(--on-lime);font-weight:700;text-decoration:none;box-shadow:0 12px 40px rgba(0,0,0,.5);transform:translateY(140%);opacity:0;transition:transform .35s var(--ease-out),opacity .25s ease;pointer-events:none}
.sticky-cta.show{transform:none;opacity:1;pointer-events:auto}
.sticky-cta:active{transform:scale(.97)}
@media (min-width:900px){.sticky-cta{display:none}}

/* ---------- Начальные состояния для анимации (только если JS жив) ---------- */
.js [data-hero-fade],.js [data-reveal]{opacity:0}
.js [data-stagger]>*{opacity:0}

/* ---------- Утверждение: слова загораются ---------- */
.say{display:flex;align-items:center;min-height:70vh}
.big{font-weight:800;font-size:clamp(1.9rem,5.8vw,4.2rem);line-height:1.08;letter-spacing:-.03em;max-width:22ch}
.dim{color:#343a2c;transition:color .35s ease}
.dim.on{color:var(--ink)}
.dim.hl.on{color:var(--lime)}
html:not(.js) .dim{color:var(--ink)}

.card-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 8px;margin-top:auto;padding-top:22px}
.card-foot .price{margin:0;padding:0;font-size:clamp(1.4rem,1.6vw,1.6rem);white-space:nowrap}
.card-foot .btn-sm{margin-left:auto}
.card-btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}
.card-btns .btn{margin-top:0}
.btn-sm{min-height:36px;padding:0 13px;background:transparent;color:var(--lime);font-size:.8125rem;white-space:nowrap;box-shadow:inset 0 0 0 1.5px rgba(200,255,61,.5)}
.btn-sm::before{background:radial-gradient(100px circle at var(--bx) var(--by),rgba(200,255,61,.28),transparent 70%)}
@media (hover:hover) and (pointer:fine){.btn-sm:hover{background:var(--lime);color:var(--on-lime);box-shadow:none}}
@media (min-width:1100px){.card-foot{flex-wrap:nowrap}}
/* ---------- Мини-превью в карточках ---------- */
.pv{position:relative;height:138px;margin-bottom:20px;border-radius:16px;background:#0c0f09;box-shadow:inset 0 0 0 1px var(--line-2);overflow:hidden}
.pv *{animation-play-state:paused}
.services.live .pv *{animation-play-state:running}
/* сайт */
.pv-site{display:flex;flex-direction:column}
.s-bar{display:flex;align-items:center;gap:5px;padding:9px 12px;border-bottom:1px solid var(--line-2)}
.s-bar i{width:6px;height:6px;border-radius:50%;background:#2c3324}
.s-bar span{flex:1;height:8px;margin-left:8px;border-radius:99px;background:#1a2014}
.s-body{flex:1;display:grid;grid-template-columns:1fr 56px;grid-template-rows:repeat(4,auto);gap:7px 14px;align-content:center;padding:0 14px}
.sb{animation:build 7s var(--ease-out) infinite;animation-delay:calc(var(--i)*.22s)}
.s-l1{height:12px;width:78%;border-radius:4px;background:var(--ink)}
.s-l2{height:6px;width:96%;border-radius:4px;background:#2c3324}
.s-l3{height:6px;width:58%;border-radius:4px;background:#2c3324}
.s-btn{height:16px;width:66px;border-radius:99px;background:var(--lime)}
.s-img{grid-column:2;grid-row:1/5;border-radius:10px;background:linear-gradient(140deg,rgba(200,255,61,.4),rgba(200,255,61,.04))}
@keyframes build{0%{opacity:0;transform:translateY(8px)}8%,86%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(-4px)}}
.s-cur{position:absolute;left:46px;top:104px;width:14px;height:14px;fill:var(--ink);stroke:var(--bg);stroke-width:1;opacity:0;animation:cur 7s var(--ease-out) infinite}
@keyframes cur{0%,30%{opacity:0;transform:translate(150px,-60px)}34%{opacity:1;transform:translate(150px,-60px)}48%{opacity:1;transform:translate(0,0)}52%{transform:scale(.8)}56%{transform:scale(1)}70%{opacity:1;transform:translate(0,0)}76%,100%{opacity:0;transform:translate(0,0)}}
.s-rip{position:absolute;left:46px;top:100px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--lime);opacity:0;animation:rip 7s ease-out infinite}
@keyframes rip{0%,53%{opacity:0;transform:scale(.4)}55%{opacity:.9}72%,100%{opacity:0;transform:scale(2.8)}}
/* бот */
.pv-bot{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:12px}
.pb{padding:6px 11px;border-radius:13px;font-size:.78rem;line-height:1.3;opacity:0}
.pb-me{align-self:flex-end;background:var(--lime);color:var(--on-lime);border-bottom-right-radius:4px;animation:p-me 8s var(--ease-out) infinite}
.pb-slot{display:grid;align-self:flex-start}
.pb-slot>*{grid-area:1/1}
.pb-typing{display:flex;gap:4px;padding:10px 12px;background:#1c2215;animation:p-ty 8s ease infinite}
.pb-typing i{width:5px;height:5px;border-radius:50%;background:var(--mut);animation:dot 1s infinite}
.pb-typing i:nth-child(2){animation-delay:.15s}
.pb-typing i:nth-child(3){animation-delay:.3s}
.pb-bot{background:#1c2215;box-shadow:inset 0 0 0 1px var(--line-2);border-bottom-left-radius:4px;animation:p-bot 8s var(--ease-out) infinite}
.pb-bot b{display:inline-block;margin-left:6px;padding:2px 9px;border-radius:99px;background:var(--lime);color:var(--on-lime);font-weight:700;animation:p-tap 8s ease infinite}
.pb-ok{align-self:stretch;background:rgba(200,255,61,.12);color:var(--lime);box-shadow:inset 0 0 0 1px rgba(200,255,61,.3);font-weight:600;animation:p-ok 8s var(--ease-out) infinite}
@keyframes p-me{0%{opacity:0;transform:translateY(8px)}5%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes p-ty{0%,14%{opacity:0}17%,28%{opacity:1}31%,100%{opacity:0}}
@keyframes p-bot{0%,30%{opacity:0;transform:translateY(8px)}35%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes p-tap{0%,55%{transform:none}58%{transform:scale(.88)}62%,100%{transform:none}}
@keyframes p-ok{0%,64%{opacity:0;transform:translateY(8px)}69%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
/* CRM */
.pv-crm{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:12px}
.cr{display:flex;align-items:center;gap:10px;height:30px;padding:0 10px;border-radius:10px;background:#141910;box-shadow:inset 0 0 0 1px var(--line-2)}
.cr>i{flex:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--lime),#44660a)}
.ln{flex:none;width:54%;height:6px;border-radius:4px;background:#2c3324}
.ln.w2{width:42%}.ln.w3{width:60%}
.stw{display:grid;margin-left:auto}
.st{grid-area:1/1;justify-self:end;padding:3px 9px;border-radius:99px;font-style:normal;font-size:.7rem;font-weight:600;color:var(--mut);box-shadow:inset 0 0 0 1px var(--line-2)}
.st-b{color:var(--on-lime);background:var(--lime);box-shadow:none;opacity:0}
.cr-new{opacity:0;animation:cr-in 8s var(--ease-out) infinite}
.cr-new .st-a{animation:st-a 8s ease infinite}
.cr-new .st-b{animation:st-b 8s ease infinite}
@keyframes cr-in{0%{opacity:0;transform:translateY(-12px) scale(.96)}8%{box-shadow:inset 0 0 0 1px var(--lime)}12%,92%{opacity:1;transform:none}30%{box-shadow:inset 0 0 0 1px var(--line-2)}97%,100%{opacity:0}}
@keyframes st-a{0%,48%{opacity:1}52%,100%{opacity:0}}
@keyframes st-b{0%,48%{opacity:0;transform:scale(.9)}54%,100%{opacity:1;transform:none}}
/* автопродавец: звенья загораются по очереди */
.flow li{transition:background .35s ease,color .35s ease,transform .45s var(--ease-out)}
.flow li.lit{background:var(--lime);color:var(--on-lime);transform:translateY(-3px)}

/* ---------- Цепочка клиента ---------- */
.journey-sec .note{margin-top:14px}
.journey{display:grid;gap:14px;grid-template-columns:1fr;margin-top:clamp(28px,5vw,52px)}
@media (min-width:640px){.journey{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.journey{grid-template-columns:repeat(4,1fr);gap:44px}}
.jstep{position:relative;display:flex;flex-direction:column;gap:18px;padding:18px;border-radius:26px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);opacity:.5;transition:opacity .5s var(--ease-out),box-shadow .5s ease,transform .6s var(--ease-out)}
.jstep.on{opacity:1;box-shadow:inset 0 0 0 1px rgba(200,255,61,.6),0 24px 60px rgba(200,255,61,.1);transform:translateY(-8px)}
.jstep.done{opacity:1}
@media (min-width:1000px){
  .jstep:not(:last-child)::after{content:"";position:absolute;left:100%;top:38px;width:44px;height:2px;background:linear-gradient(var(--lime),var(--lime)) left/0 100% no-repeat,var(--line-2);transition:background-size .7s var(--ease-io)}
  .jstep.done:not(:last-child)::after{background-size:100% 100%}
}
.jhead{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:.9rem;font-weight:600;transition:color .4s ease}
.jhead i{width:8px;height:8px;border-radius:50%;background:currentColor}
.jstep.on .jhead,.jstep.done .jhead{color:var(--lime)}
.tick{position:absolute;right:16px;top:14px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--lime);color:var(--on-lime);transform:scale(.4);opacity:0;transition:transform .5s var(--ease-out),opacity .3s ease}
.jstep.done .tick{transform:none;opacity:1}
.mini{display:flex;flex-direction:column;justify-content:center;gap:8px;height:176px;padding:14px;border-radius:18px;background:#0c0f09;overflow:hidden}
.mini>*{flex:none;opacity:0;transform:translateY(10px) scale(.97);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out);transition-delay:0s}
.jstep.on .mini>*,.jstep.done .mini>*{opacity:1;transform:none;transition-delay:calc(var(--k,0)*.8s + .2s)}
.m-btn{align-self:flex-start;padding:9px 16px;border-radius:99px;background:var(--lime);color:var(--on-lime);font-weight:700;font-size:.85rem}
.jstep.on .m-btn{animation:press 1s ease 1s 1}
@keyframes press{40%{transform:scale(.92)}100%{transform:none}}
.lnk,.okb{align-self:flex-start;padding:8px 12px;border-radius:12px;font-size:.82rem}
.lnk{background:rgba(200,255,61,.12);color:var(--lime)}
.okb{background:rgba(200,255,61,.14);color:var(--lime);box-shadow:inset 0 0 0 1px rgba(200,255,61,.3)}
.mb{align-self:flex-start;max-width:92%;padding:9px 13px;border-radius:14px 14px 14px 5px;background:#1c2215;font-size:.85rem;line-height:1.35}
.mchips{display:flex;flex-wrap:wrap;gap:6px}
.mchips span{padding:6px 12px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:.82rem;transition:background .4s ease,color .4s ease,box-shadow .4s ease}
.jstep.on .mchips .s,.jstep.done .mchips .s{background:var(--lime);color:var(--on-lime);box-shadow:none;transition-delay:1.9s}
.paycard{display:flex;align-items:center;gap:10px;align-self:stretch;padding:8px 12px;border-radius:12px;background:#171d10;font-size:.8rem;font-weight:600}
.bar{flex:1;height:5px;border-radius:99px;background:var(--line-2);overflow:hidden}
.bar i{display:block;height:100%;border-radius:inherit;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease-io)}
.jstep.on .bar i,.jstep.done .bar i{transform:none;transition-delay:1.2s}
.jstep h3{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:6px}
.jstep p{color:var(--mut);font-size:.92rem}

/* ---------- Листы: у каждого блока свой фон ---------- */
.sheet{--sb:#0b0d0a;position:relative;background-color:var(--sb);background-image:radial-gradient(rgba(200,255,61,.11) 1px,transparent 1.2px);background-size:36px 36px;border-radius:32px 32px 0 0;box-shadow:0 -10px 36px rgba(0,0,0,.4),inset 0 1px 0 var(--line)}
.journey-sec{--sb:#0f130b}
.say{--sb:#0c0f0a}
.services{--sb:#11150c}
.cases{--sb:#0b0d0a}
.process{--sb:#141a0e}
.refer{--sb:#0b0d0a}
.final{--sb:#0e110b}
.shade{position:absolute;inset:0;z-index:30;background:#000;opacity:0;pointer-events:none;border-radius:inherit}
.stage-in{position:relative}
.jlayer{padding-block:clamp(72px,11vw,150px)}
.jlayer .jslot{display:none}
.has-mq{padding-top:0}
.has-mq>.mq{margin-bottom:clamp(48px,8vw,100px)}

/* Бегущая строка */
.mq{border-radius:32px 32px 0 0;overflow:hidden;white-space:nowrap;padding:16px 0;border-bottom:1px solid var(--line-2);color:var(--lime);font-weight:800;font-size:clamp(1.05rem,2.4vw,1.5rem);letter-spacing:-.01em}
.mq-lime{background:var(--lime);color:var(--on-lime);border-bottom:0}
.mq-t{display:inline-flex}
.mq-g{display:inline-flex;align-items:center;flex:none}
.mq-g i{flex:none;width:9px;height:9px;margin-inline:clamp(18px,3vw,34px);border-radius:50%;background:currentColor;opacity:.55}

/* ---------- Десктоп: прокрутка как действие (класс fx ставит JS) ---------- */
.fx .stk::after{content:"";display:block;height:calc(var(--stk-extra,0px) + 100vh)}
.fx .stk>.stk-in{position:sticky;top:var(--stk-top,0px);will-change:transform}
.fx .shade{will-change:opacity}
.fx .stk>.sec.stk-in{min-height:100vh}
.fx .stk+*{position:relative;z-index:2;margin-top:-100vh;min-height:100vh}
.fx .stk+.stk{min-height:0}

/* Главный экран и цепочка клиента на одном закреплённом экране */
.fx .stage-in{height:100vh;overflow:hidden}
.fx .hero{position:absolute;inset:0;z-index:2;display:flex;align-items:center;padding:0;overflow:visible}
.fx .hero>.wrap{width:100%}
.fx .jlayer{position:absolute;inset:0;z-index:1;display:flex;align-items:center;min-height:0;padding:0;border-radius:0;clip-path:circle(0px at 50% 50%)}
.fx .jwrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.fx .jlayer .jslot{display:block;width:17em;height:33em;font-size:var(--fs)}
.fx .jlayer .h-sec{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.fx .jlayer .note{margin-top:10px}
.fx .journey{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:clamp(16px,3vh,28px)}
.fx .jstep{gap:12px;padding:14px}
.fx .mini{height:clamp(104px,16vh,150px);padding:12px}
.fx .jstep h3{font-size:1rem;margin-bottom:4px}
.fx .jstep p{font-size:.85rem}
.fx .jstep:not(:last-child)::after{display:none}

/* Короткие блоки на высоту экрана: содержимое по центру */
.fx .process{display:flex;flex-direction:column}
.fx .process>.wrap{margin-block:auto}
.fx .refer{display:flex;align-items:center}
.fx .refer>.wrap{width:100%}

/* Кейсы: 3D-вид, листается стрелками, свайпом, мышью и клавишами. Страницу не закрепляет */
.fx .cases{display:flex;flex-direction:column;justify-content:center}
.cases-3d .carousel{margin-top:clamp(20px,3vw,36px)}
.cases-3d .track{display:block;position:relative;height:clamp(440px,62vh,570px);overflow:visible;padding:0;scroll-snap-type:none;cursor:grab;perspective:1500px;perspective-origin:50% 42%;touch-action:pan-y;user-select:none}
.cases-3d .track.is-drag{cursor:grabbing}
.cases-3d .case{position:absolute;left:50%;top:50%;width:min(520px,40vw);flex:none;backface-visibility:hidden}
.cases-3d .case-img{aspect-ratio:16/8}
.cases-3d .dots{display:none}
.cases-3d .ccount{display:block}
.cases-3d .cprog{display:block}

/* ---------- Пониженное движение ---------- */
@media (prefers-reduced-motion:reduce){
  .geo-a,.geo-b,.flow-dot,.chat-dot,.fact-shine,.msg-typing i{animation:none}
  .msg-typing{display:none}
  .fact-shine{-webkit-text-fill-color:var(--ink);background:none}
  .btn,.card::before,.case,.step-n,.dots i{transition-duration:.01ms}
  .steps-fill{transform:none!important}
  .step-n{background:var(--lime);color:var(--on-lime)}
  .pv *,.s-cur,.s-rip{animation:none!important}
  .flow li{transition:none}
  .sb,.pb,.cr-new{opacity:1}
  .pb-typing,.s-cur,.s-rip{display:none}
  .cr-new .st-a{display:none}
  .cr-new .st-b{opacity:1}
  .mini>*,.tick{opacity:1;transform:none;transition:none}
  .bar i{transform:none}
  .jstep{opacity:1;transition:none}
  .mq-t{transform:none!important}
  .mq-g+.mq-g{display:none}
  .shade{display:none}
}

/* ---------- Липкая шапка ---------- */
.topbar{--tb-h:56px;position:fixed;z-index:50;top:0;left:0;right:0;height:var(--tb-h);background:rgba(11,13,10,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(241,242,234,.1);transition:height .3s var(--ease-out)}
.topbar.is-compact{--tb-h:44px}
.sec[id]{scroll-margin-top:60px}
.tb-in{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1360px;height:100%;margin-inline:auto;padding-inline:var(--gut)}
.tb-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:.95rem;white-space:nowrap}
.tb-brand img{width:32px;height:32px;border-radius:50%;object-fit:cover;transition:width .3s var(--ease-out),height .3s var(--ease-out)}
.is-compact .tb-brand img{width:26px;height:26px}
.tb-nav{display:none;gap:clamp(20px,3vw,40px)}
.tb-nav a{position:relative;font-size:.9rem;font-weight:500;color:var(--mut);text-decoration:none;padding-block:6px;transition:color .2s ease}
.tb-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
.tb-cta{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:999px;background:var(--lime);color:var(--on-lime);font-weight:700;font-size:.85rem;text-decoration:none;white-space:nowrap;transition:transform .16s var(--ease-out)}
.tb-cta:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.tb-nav a:hover{color:var(--ink)}.tb-nav a:hover::after{transform:none}}
@media (min-width:760px){.tb-nav{display:flex}}
@media (max-width:899px){.hero{padding-top:calc(56px + clamp(20px,5vw,40px))}}
