/* Первый экран главной на широких мониторах (Николай 23.10: «приведи в порядок главный первый блок»).
   Колонки 50/50 по центру по высоте, крупнее стопка демо, плашка «37 демо» внутри сетки; точки-индикатор под стопкой (hero-deck.js). */
@media (min-width:1280px){
 main.homePage .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,3vw,72px);align-items:center}
 main.homePage .heroCopy,main.homePage .heroDeck{align-self:center}
 main.homePage .heroDeck{height:clamp(540px,34vw,700px)}
 main.homePage .heroDeckCard{width:min(36vw,620px)}
 main.homePage .heroDeck .floatingBadge{right:0;top:4%}
}
/* точки: какая карточка спереди; листается само каждые 5 с, под мышкой — пауза */
.heroDeckDots{position:absolute;left:50%;bottom:22px;translate:-50% 0;z-index:30;display:flex;align-items:center;gap:8px;pointer-events:none}
.heroDeckDots i{width:6px;height:6px;border-radius:3px;background:#ece6da;opacity:.28;transition:width 400ms cubic-bezier(.23,1,.32,1),opacity 400ms ease,background-color 400ms ease}
.heroDeckDots i.is-on{width:22px;opacity:1;background:#f7a600}
.heroDeckDots span{margin-left:10px;font:600 11px/1 Manrope,Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#ece6da;opacity:.55;white-space:nowrap}
@media (max-width:999px){.heroDeckDots{bottom:-6px}.heroDeckDots span{display:none}}
/* хук: «раздача» карточек при открытии — отдельные свойства translate/rotate/scale складываются с transform, который ставит React */
@keyframes heroDeal{from{opacity:0;translate:12vw 14vh;rotate:-16deg;scale:.72}}
@media (prefers-reduced-motion:no-preference){
 main.homePage .heroDeck .heroDeckCard{animation:heroDeal 1100ms cubic-bezier(.16,1,.3,1) backwards}
 main.homePage .heroDeck .heroDeckCard:nth-child(2){animation-delay:420ms}
 main.homePage .heroDeck .heroDeckCard:nth-child(3){animation-delay:330ms}
 main.homePage .heroDeck .heroDeckCard:nth-child(4){animation-delay:240ms}
 main.homePage .heroDeck .heroDeckCard:nth-child(5){animation-delay:150ms}
 main.homePage .heroDeck .heroDeckCard:nth-child(n+6){animation-delay:60ms}
 main.homePage .heroDeck .floatingBadge{animation:heroDeal 900ms cubic-bezier(.16,1,.3,1) 700ms backwards}
 /* 3D-наклон стопки за курсором (переменные ставит hero-deck.js) */
 main.homePage .heroDeck{transform:perspective(1600px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));transition:transform 700ms cubic-bezier(.23,1,.32,1)}
}
/* Блок «Покажите продукт. Мы дадим решение.» (Николай 23.10): одна фраза — один шаг. Рамка с вторым заголовком
   «Получить три варианта» убрана, вместо ссылки — крупная кнопка той же ссылки на форму; строка о согласии остаётся. */
main.homePage .contact{align-items:center}
main.homePage .contactFormPanel{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;align-self:center}
main.homePage .contactFormPanel::before,main.homePage .contactFormPanel::after{display:none!important}
main.homePage .contactFormPanel>span,main.homePage .contactFormPanel>h3,main.homePage .contactFormPanel .leadForm>p{display:none}
main.homePage .contactFormPanel .leadHubAction{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:96px;padding:0 40px;border-radius:4px;background:var(--gold,#f7a600);color:#0a0a0a!important;font:700 clamp(20px,1.8vw,26px)/1 Manrope,Inter,Arial,sans-serif;letter-spacing:-.02em;text-decoration:none;box-shadow:inset 0 1px 0 #fff9,0 14px 40px #f7a6003d;transition:transform 200ms cubic-bezier(.23,1,.32,1),box-shadow 200ms ease}
main.homePage .contactFormPanel .leadHubAction span{font-size:1.2em;transition:transform 200ms cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){main.homePage .contactFormPanel .leadHubAction:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 #fff9,0 18px 46px #f7a6004d}main.homePage .contactFormPanel .leadHubAction:hover span{transform:translate(4px,-4px)}}
main.homePage .contactFormPanel .leadHubAction:active{transform:scale(.98)}
main.homePage .contactFormPanel .leadHubAction:focus-visible{outline:2px solid #ece6da;outline-offset:4px}
main.homePage .contactFormPanel small{display:block;margin-top:16px;opacity:.6}
@media (max-width:899px){main.homePage .contactFormPanel .leadHubAction{min-height:72px;padding:0 24px}}
/* бегущая зелёная рамка по кругу (Николай 23.10): кольцо 2 px вне кнопки, внутри — маска; угол крутится через @property */
@property --cta-a{syntax:"<angle>";inherits:false;initial-value:0deg}
main.homePage .contactFormPanel .leadHubAction{position:relative;isolation:isolate}
main.homePage .contactFormPanel .leadHubAction::before{content:"";position:absolute;inset:-3px;border-radius:7px;padding:3px;pointer-events:none;
 background:conic-gradient(from var(--cta-a),transparent 0 62%,#20b26c 74%,#9dffd0 82%,#20b26c 90%,transparent 100%);
 -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 exclude,linear-gradient(#000 0 0)}
@keyframes cta-run{to{--cta-a:360deg}}
@media (prefers-reduced-motion:no-preference){main.homePage .contactFormPanel .leadHubAction::before{animation:cta-run 3.5s linear infinite}}
/* «Чтобы ничего не терялось»: кнопка заявки отличается от ссылок для чтения (Николай 23.10) */
main.homePage .homeGrowthGrid .leadHubAction{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:14px;min-height:60px;margin-top:8px;padding:0 28px;border-radius:4px;background:var(--gold,#f7a600);color:#0a0a0a!important;font:700 18px/1 Manrope,Inter,Arial,sans-serif;text-decoration:none;box-shadow:inset 0 1px 0 #fff9,0 14px 40px #f7a6003d;transition:transform 200ms cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){main.homePage .homeGrowthGrid .leadHubAction:hover{transform:translateY(-2px)}}
main.homePage .homeGrowthGrid .leadHubAction:active{transform:scale(.98)}
main.homePage .homeGrowthGrid .leadHubAction::before{content:"";position:absolute;inset:-3px;border-radius:7px;padding:3px;pointer-events:none;
 background:conic-gradient(from var(--cta-a),transparent 0 62%,#20b26c 74%,#9dffd0 82%,#20b26c 90%,transparent 100%);
 -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 exclude,linear-gradient(#000 0 0)}
@media (prefers-reduced-motion:no-preference){main.homePage .homeGrowthGrid .leadHubAction::before{animation:cta-run 3.5s linear infinite}}
/* бегущая строка «Разрабатываем…» — жёстко о себе; вставляет hero-deck.js после гидратации */
.lmWeBuild{width:100vw;margin-left:calc(50% - 50vw)!important;overflow:hidden;border-block:1px solid #f7a60040;margin:0 0 72px;padding:22px 0;background:#060607}
.lmWeBuild-row{display:flex;width:max-content;gap:0;animation:lmRun 38s linear infinite}
.lmWeBuild-row>span{display:flex;align-items:center;white-space:nowrap;font:800 clamp(34px,5.4vw,84px)/1 Manrope,Inter,Arial,sans-serif;letter-spacing:-.04em;text-transform:uppercase;color:#ece6da}
.lmWeBuild-row b{color:#f7a600;font-weight:800}
.lmWeBuild-row i{display:inline-block;width:.36em;height:.36em;margin:0 .5em;border-radius:50%;background:#20b26c;font-style:normal}
@keyframes lmRun{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.lmWeBuild-row{animation:none;flex-wrap:wrap;width:auto}.lmWeBuild-row>span:nth-child(2){display:none}}
@media (hover:hover) and (pointer:fine){.lmWeBuild:hover .lmWeBuild-row{animation-play-state:paused}}
