:root{
  --container-max: 1360px;
  --page-padding: clamp(20px, 6vw, 108px);
  --step: 8px;
  --space: calc(var(--step) * 2);
  --radius: 14px;
  --text:#0b1020;
  --muted:#5f6676;
  --border: rgba(10,10,10,.08);
  --accent:#2b6ef6;
  --accent-2:#0b63ff;
  --card:#ffffff;
  --ring: 0 0 0 3px rgba(43,110,246,.18);
  --glow-primary: rgba(43,110,246,.32);
  --glow-secondary: rgba(11,99,255,.2);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}
*{box-sizing:border-box}
img{max-width:100%; height:auto; display:block}
html{overflow-x:hidden; touch-action:pan-y}
body{margin:0;color:var(--text);background:radial-gradient(980px 420px at 12% 18%,rgba(43,110,246,.08),transparent 40%),radial-gradient(620px 420px at 88% 6%,rgba(11,99,255,.08),transparent 52%),linear-gradient(180deg,#f2f5ff,#f9fbff); overflow-x:hidden; -webkit-overflow-scrolling:touch; touch-action:pan-y; min-height:100%}
body:not(.scroll-ready) .scroll-spacer{min-height:clamp(320px,60vh,720px)}
.scroll-spacer{width:100%;height:0;pointer-events:none;flex-shrink:0;transition:height .35s ease}
main{display:flex; flex-direction:column; gap:calc(var(--space) * 3)}
.container{
  width:min(100%, calc(var(--container-max) + var(--page-padding) * 2));
  margin:0 auto;
  padding:0 var(--page-padding);
}

@media (hover:none){
  main,
  section,
  .card,
  .feature-card,
  .offer-card,
  .toolbar,
  .guide-content,
  .faq details{touch-action:pan-y}

  .btn,
  .nav a,
  .offer-card__brand,
  .offer-card__cta{touch-action:manipulation}
}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.25,.1,.25,1);transition-delay:var(--delay,0s)}
.reveal.is-visible{opacity:1;transform:none}

.site-header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.78); backdrop-filter: blur(6px); border-bottom:1px solid var(--border); transition: background .4s ease, box-shadow .4s ease, border-color .4s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.92); box-shadow:0 12px 26px rgba(13,18,36,.08); border-color:rgba(10,10,10,.04)}
.header-row{min-height:72px; display:flex; align-items:center; justify-content:space-between}
.logo{display:flex; align-items:center; gap:calc(var(--step)*1.25); text-decoration:none; color:var(--accent); font-weight:800; font-size:18px}
.logo-blob{width:22px; height:22px; border-radius:6px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); position:relative; overflow:hidden}
.logo-blob::after{content:""; position:absolute; inset:-120% -40%; background:linear-gradient(120deg,rgba(255,255,255,.0),rgba(255,255,255,.8),rgba(255,255,255,.0)); transform:rotate(12deg); animation: shimmer 4.5s ease-in-out infinite}
.menu-toggle{display:none; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:12px; background:#fff; width:44px; height:44px; padding:0; cursor:pointer; box-shadow:0 12px 24px rgba(13,18,36,.08); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.menu-toggle:focus-visible{outline:none; box-shadow:var(--ring)}
.menu-toggle:hover{transform:translateY(-1px); box-shadow:0 16px 34px rgba(13,18,36,.12); border-color:rgba(43,110,246,.4)}
.menu-toggle__icon{position:relative; width:20px; height:14px; display:inline-flex; flex-direction:column; justify-content:center}
.menu-toggle__icon span{position:absolute; left:0; width:100%; height:2px; background:var(--text); border-radius:999px; transition:transform .3s ease, opacity .3s ease, top .3s ease}
.menu-toggle__icon span:nth-child(1){top:0}
.menu-toggle__icon span:nth-child(2){top:6px}
.menu-toggle__icon span:nth-child(3){top:12px}
.menu-toggle.is-active .menu-toggle__icon span:nth-child(1){top:6px; transform:rotate(45deg)}
.menu-toggle.is-active .menu-toggle__icon span:nth-child(2){opacity:0}
.menu-toggle.is-active .menu-toggle__icon span:nth-child(3){top:6px; transform:rotate(-45deg)}
.nav{display:flex; align-items:center; gap:calc(var(--space) * 1.5)}
.nav a{color:var(--accent); text-decoration:none; font-weight:600; font-size:14px}
.nav a:hover{color:var(--accent-2)}
.nav-backdrop{position:fixed; inset:0; background:rgba(9,13,26,.42); backdrop-filter:blur(6px); opacity:0; pointer-events:none; transition:opacity .35s ease; z-index:40}
.nav-backdrop.is-visible{opacity:1; pointer-events:auto}

.hero{padding:clamp(48px, 8vw, 72px) 0; position:relative; overflow:hidden}
.hero::before{content:""; position:absolute; inset:auto -20% -40% -20%; height:260px; background:radial-gradient(45% 65% at 50% 50%,rgba(43,110,246,.12),transparent 75%); pointer-events:none; opacity:.9}
.hero::after{content:""; position:absolute; width:520px; height:520px; top:8%; right:12%; background:radial-gradient(40% 40% at 50% 50%,var(--glow-primary),transparent 70%); filter:blur(90px); opacity:.55; animation:glowDrift 14s ease-in-out infinite; pointer-events:none}
.hero-grid{display:grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(28px,4vw,48px); align-items:center}
.hero-left{display:flex; flex-direction:column; gap:0; align-items:flex-start; width:100%; max-width:none}
.kicker{display:inline-block; color:var(--muted); font-size:13px; margin-bottom:var(--space); letter-spacing:.04em; text-transform:uppercase}
h1{margin:0 0 var(--space); font-size: clamp(30px, 4.2vw, 48px); line-height:1.05; font-weight:800}
.lead{color:var(--muted); margin:0 0 calc(var(--space) * 2); max-width:640px; line-height:1.55}
.hero-stats{display:flex; gap:clamp(16px, 3vw, 32px); margin-bottom:calc(var(--space) * 1.5); flex-wrap:wrap; justify-content:space-between; width:100%}
.hero-stat{background:rgba(255,255,255,.9); border:1px solid rgba(10,10,10,.06); border-radius:16px; padding:calc(var(--space) * 1.1) calc(var(--space) * 1.25); min-width:160px; flex:1 1 clamp(180px, 32vw, 240px); box-shadow:0 18px 36px rgba(22,33,54,.08); animation:floatSoft 7.5s ease-in-out infinite}
.hero-stat:nth-child(2){animation-delay:1.2s}
.hero-stat:nth-child(3){animation-delay:2.2s}
.hero-stat span{display:block; font-size:clamp(26px,4vw,36px); font-weight:800; color:var(--accent)}
.hero-stat small{display:block; color:var(--muted); font-size:13px; margin-top:6px}
.cta-row{display:flex; gap:var(--space); margin-bottom:var(--space); flex-wrap:wrap}
.btn{padding:calc(var(--step)*1.5) calc(var(--step)*2.25); border-radius:12px; font-weight:700; cursor:pointer; border:0; transition:transform .2s ease, box-shadow .2s ease, background-position .5s ease}
.btn:focus-visible{outline:none; box-shadow:var(--ring)}
.btn:active{transform:translateY(1px)}
.btn-primary{color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-2)); background-size:200%; box-shadow:0 10px 28px rgba(11,99,255,.14); position:relative; overflow:hidden; animation:gradientShift 8s ease-in-out infinite}
.btn-primary::after{content:""; position:absolute; inset:-1px; background:linear-gradient(120deg,rgba(255,255,255,.65),rgba(255,255,255,0) 35%,rgba(255,255,255,.45) 65%,rgba(255,255,255,0)); transform:translateX(-120%); opacity:0; transition:opacity .4s ease; pointer-events:none}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 18px 38px rgba(11,99,255,.18); background-position:80% 50%}
.btn-primary:hover::after{opacity:1; animation:shine 1.4s ease forwards}
.btn-ghost{background:#fff; border:1px solid var(--border)}
.btn-highlight{position:relative; box-shadow:0 0 0 0 rgba(43,110,246,.28); animation:pulseRing .7s ease forwards}
.pros{display:flex; gap:var(--space); flex-wrap:wrap; padding:0; margin:var(--space) 0 0; list-style:none}
.pros li{background:#fff; border:1px solid var(--border); border-radius:999px; padding:calc(var(--step)*1.25) calc(var(--step)*1.75); color:var(--muted); font-size:14px}
.hero-footnote{margin-top:calc(var(--space) * 1.25); color:var(--muted); font-size:14px; max-width:520px; line-height:1.6}

.hero-right{position:relative; display:flex; justify-content:center; align-items:center; width:100%; max-width:clamp(220px, 60vw, 520px); margin-inline:auto}
.hero-right::before{content:""; position:absolute; inset:0; margin:auto; width:138%; height:138%; background: radial-gradient(40% 40% at 50% 50%, rgba(43,110,246,.42), rgba(11,99,255,.18) 50%, transparent 72%); filter: blur(76px); z-index:0; animation:glowPulse 6.5s ease-in-out infinite}
.hero-right::after{content:""; position:absolute; inset:10% 18%; background:radial-gradient(50% 50% at 50% 50%,rgba(255,255,255,.26),rgba(255,255,255,0) 70%); filter:blur(18px); opacity:.8; z-index:0; animation:fadeGlow 9s ease-in-out infinite}
.phone-img{position:relative; z-index:1; width: clamp(220px, 28vw, 420px); height:auto; transform: rotate(-6deg); filter: drop-shadow(0 20px 40px rgba(0,0,0,.22)); animation: floatPhone 7s ease-in-out infinite}

main > section.section-light{padding:calc(var(--space) * 3) 0}
.section-head{max-width:720px; margin:0 0 calc(var(--space) * 2)}
.section-head h2{margin:var(--space) 0 calc(var(--space) * .75); font-size: clamp(28px, 3.4vw, 36px)}
.section-head p{margin:0; color:var(--muted); line-height:1.6}
.feature-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:calc(var(--space) * 1.5)}
.feature-card{background:#fff; border:1px solid rgba(10,10,10,.06); border-radius:var(--radius); padding:calc(var(--space) * 1.75); box-shadow:0 20px 40px rgba(22,33,54,.06); transition:transform .3s ease, box-shadow .3s ease}
.feature-card h3{margin:0 0 12px; font-size:20px}
.feature-card p{margin:0; color:var(--muted); line-height:1.55}
.feature-card:hover{transform:translateY(-6px); box-shadow:0 26px 54px rgba(22,33,54,.12)}

.catalog{position:relative; padding:calc(var(--space) * 3) 0}
.catalog::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(247,249,255,.94) 0%,rgba(255,255,255,.92) 42%,#ffffff 100%), radial-gradient(480px 340px at 8% 12%, rgba(43,110,246,.16), rgba(43,110,246,0) 70%), radial-gradient(520px 360px at 92% 0%, rgba(11,99,255,.12), rgba(11,99,255,0) 68%); pointer-events:none;}
.catalog::after{content:""; position:absolute; inset:auto 12% -20% 12%; height:260px; background:radial-gradient(50% 50% at 50% 50%,var(--glow-secondary),transparent 70%); filter:blur(80px); opacity:.55; pointer-events:none; animation:glowDriftAlt 16s ease-in-out infinite}
.catalog .container{position:relative; z-index:1}
.toolbar{display:flex; gap:var(--space); align-items:flex-end; flex-wrap:wrap; margin-bottom:var(--space)}
.toolbar input[type="search"]{padding:12px 14px; border:1px solid var(--border); border-radius:12px; min-width:260px; flex:1}
.toolbar input[type="search"]:focus{outline:none; box-shadow: var(--ring)}
.filters{display:flex; gap:var(--space); flex-wrap:wrap}
.filters:not([hidden]){animation:fadeIn .35s ease both}
.filters[hidden]{display:none !important}
.filters label{display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--border); padding:8px 10px; border-radius:10px; flex:1 1 200px}
.filters label input,
.filters select{padding:10px 12px; border-radius:10px; border:1px solid var(--border); background:#fff; width:100%}
.check{flex-direction:row !important; align-items:center !important; background:transparent !important; border:0 !important}
.sort-wrap{margin-left:auto; display:flex; align-items:center}
.sort-wrap select{padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:#fff; width:100%}
.results-info{margin:0 0 calc(var(--space) * 1.5); color:var(--muted); font-size:14px}

.grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:calc(var(--space) * 1.5)}
.card{position:relative; overflow:hidden; background:rgba(255,255,255,.96); border:1px solid rgba(12,18,36,.08); border-radius:18px; box-shadow:0 22px 46px rgba(13,18,36,.08); padding: calc(var(--space) * 1.8); display:flex; flex-direction:column; gap: calc(var(--space) * 1.4); min-height: 240px; transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease; isolation:isolate}
.card::before{content:""; position:absolute; inset:-60% -30%; background:radial-gradient(60% 60% at 50% 50%,rgba(43,110,246,.24),rgba(11,99,255,0)); opacity:0; transform:translate3d(0,32px,0) scale(.85); transition:opacity .45s ease, transform .45s ease; z-index:-2}
.card::after{content:""; position:absolute; inset:-42% -18%; background:radial-gradient(60% 60% at 50% 50%,rgba(43,110,246,.18),rgba(11,99,255,0)); opacity:0; transform:translate3d(0,18px,0) scale(.72); transition:opacity .45s ease, transform .45s ease; z-index:-1}
.card:hover{transform:translateY(-6px); box-shadow:0 24px 54px rgba(13,18,36,.14); border-color:rgba(43,110,246,.22)}
.card:hover::after{opacity:.75; transform:translate3d(0,0,0) scale(1)}
.card:hover::before{opacity:.4; transform:translate3d(0,0,0) scale(1)}



.offer-card__badge {
  position: absolute;
  top: calc(var(--space) * 1.1);
  right: calc(var(--space) * 1.1);

  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 6px 14px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  line-height: 1.2;
  text-align: center;
  white-space: normal;

  color: #fff;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  border-radius: 999px;
  box-shadow: 0 12px 24px rgba(11, 99, 255, .18);
}


.offer-card__brand{display:flex; align-items:center; gap:calc(var(--space) * 1.2); text-decoration:none; color:inherit}
.offer-card__brand:hover .offer-card__name{color:var(--accent)}
.offer-card__logo{position:relative; display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:18px; background:linear-gradient(135deg,rgba(67,129,255,.12),rgba(67,129,255,.04)); border:1px solid rgba(67,129,255,.24); box-shadow:0 12px 22px rgba(16,42,112,.12); overflow:hidden; flex-shrink:0}
.offer-card__logo img{width:100%; height:100%; object-fit:contain}
.offer-card__logo-fallback{font-size:20px; font-weight:700; color:var(--accent)}
.offer-card__brand-info{
  padding-right: 92px;           /* ширина бейджа + небольшой зазор */
}
.offer-card__name{
  font-size:20px;
  font-weight:800;
  color:var(--text);
  transition:color .25s ease;

  display:block;
  max-width:none;                /* важно: отменяем прошлое ограничение */
  white-space:normal;
  word-break:normal;             /* не ломаем слова по буквам */
  overflow-wrap:break-word;      /* переносим только при необходимости */
}

.offer-card__category{font-size:13px; color:var(--muted)}
.offer-card__params{display:flex; flex-direction:column; gap:12px; margin-top:calc(var(--space) * .4)}
.offer-card__param{display:flex; gap:10px; font-size:15px; align-items:baseline}
.offer-card__param-label{font-weight:600; color:var(--muted); min-width:68px; white-space:nowrap}
.offer-card__param-value{font-weight:700; color:var(--text)}
.offer-card__cta{margin-top:auto; display:flex; align-items:center; justify-content:center; width:100%; font-size:16px; padding-block:14px}






.btn-outline{padding:12px 18px; border-radius:12px; font-weight:700; border:1px solid rgba(12,18,36,.12); background:#fff; color:var(--accent); cursor:pointer; transition:background .3s ease, border-color .3s ease, color .3s ease}
.btn-outline:hover{border-color:var(--accent); color:var(--accent-2)}
.btn-outline:focus-visible{outline:none; box-shadow:var(--ring)}
.btn-outline.is-copied{background:linear-gradient(135deg,var(--accent),var(--accent-2)); border-color:transparent; color:#fff}







.card.is-visible::before{opacity:.32; transform:translate3d(0,0,0) scale(1); animation:cardGlow 18s ease-in-out infinite}

.guide-content{background:#fff; border:1px solid rgba(10,10,10,.06); border-radius:var(--radius); box-shadow:0 18px 42px rgba(22,33,54,.08); padding:calc(var(--space) * 2.1) calc(var(--space) * 2.5); display:flex; flex-direction:column; gap:calc(var(--space) * 1.5); color:var(--muted); line-height:1.65}
.guide-content h3{margin:0; font-size:22px; color:var(--text)}
.guide-content p{margin:0}
.guide-content ul,
.guide-content ol{margin:0; padding-left:24px; display:flex; flex-direction:column; gap:8px}
.guide-content li{color:var(--muted)}
.guide-content ol{list-style:decimal}

.site-footer{border-top:1px solid var(--border); background:rgba(255,255,255,.78); backdrop-filter: blur(6px)}
.footer-row{height:64px; display:flex; align-items:center; justify-content:space-between}
.footer-nav{display:flex; gap:calc(var(--space) * 1.5)}
.footer-nav a{text-decoration:none; color:var(--muted); font-size:14px}
.footer-nav a:hover{color:var(--accent)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.faq details{background:#fff; border:1px solid rgba(10,10,10,.06); border-radius:12px; padding:16px 20px; margin-bottom:var(--space); transition:border-color .3s ease, box-shadow .3s ease}
.faq details[open]{border-color:rgba(43,110,246,.35); box-shadow:0 14px 28px rgba(13,18,36,.08)}
.faq summary{list-style:none; cursor:pointer; font-weight:600; display:flex; align-items:center; gap:12px}
.faq summary::marker, .faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:""; width:18px; height:18px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent-2)); position:relative; flex-shrink:0; mask:radial-gradient(circle at 50% 50%, transparent 44%, black 45%); transition:transform .3s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:12px 0 0; color:var(--muted)}

.disclaimer p{max-width:820px; color:var(--muted); line-height:1.65}

@media (max-width: 960px){
  body.nav-open{overflow:hidden}
  .header-row{min-height:64px; gap:var(--space)}
  .menu-toggle{display:inline-flex}
  .nav{position:fixed; top:0; right:0; bottom:0; left:auto; --nav-width:clamp(260px, 78vw, 320px); width:var(--nav-width); max-width:0; padding:0; background:linear-gradient(180deg,#ffffff 0%,rgba(246,249,255,.98) 100%); box-shadow:none; flex-direction:column; align-items:flex-start; gap:calc(var(--space) * 2); opacity:0; pointer-events:none; transition:max-width .35s ease, padding .35s ease, opacity .2s ease, box-shadow .35s ease, border-color .35s ease, transform .35s ease; z-index:60; border-radius:24px 0 0 24px; border:1px solid transparent; overflow:hidden; max-height:100vh; overflow-y:auto; overscroll-behavior-contain:contain; transform:translate3d(18px,0,0)}
  .nav.is-open{max-width:var(--nav-width); padding:calc(var(--space) * 3) clamp(var(--space) * 1.5, 6vw, 36px); box-shadow:-22px 0 44px rgba(9,13,26,.22); opacity:1; pointer-events:auto; border-color:rgba(12,18,36,.08); transform:translate3d(0,0,0)}
  .nav a{font-size:16px; color:var(--text); width:100%; padding-block:12px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(12,18,36,.08); transition:color .25s ease, transform .25s ease}
  .nav a:last-child{border-bottom:none}
  .nav a::after{content:""; width:10px; height:10px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); opacity:0; transition:opacity .25s ease, transform .25s ease}
  .nav a:hover{color:var(--accent); transform:translateX(4px)}
  .nav a:hover::after{opacity:1; transform:translateX(2px) rotate(-45deg)}
  .hero{padding:clamp(44px, 12vw, 68px) 0 72px}
  .hero-grid{grid-template-columns:1fr; gap:clamp(28px,7vw,42px)}
  .hero-right{order:-1}
  .hero-right::before{width:165%; height:165%; filter:blur(92px)}
  .hero-right::after{inset:18% 22%}
  .hero-left{align-items:flex-start; text-align:left; gap:calc(var(--space) * 1.1)}
  .hero-left .kicker,
  .hero-left h1,
  .hero-left .lead,
  .hero-left .hero-footnote{margin-left:0; margin-right:0}
  .hero-left .lead{max-width:unset}
  .hero-stats{justify-content:flex-start; flex-wrap:wrap}
  .hero-footnote{margin-left:0; margin-right:0; max-width:620px}
  .cta-row{flex-wrap:wrap; justify-content:flex-start}
  .pros{justify-content:flex-start}
  .feature-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}

@media (max-width: 820px){
  :root{
    --page-padding: clamp(18px, 6vw, 30px);
    --space: calc(var(--step) * 1.9);
  }
  .hero{padding:clamp(40px, 15vw, 64px) 0 60px}
  .hero-grid{gap:clamp(24px, 8vw, 40px)}
  .hero-left{max-width:none}
  .hero-left .lead{font-size:clamp(15px, 4vw, 17px)}
  .hero-stats{gap:clamp(14px, 7vw, 24px)}
  .hero-stat{flex:1 1 min(240px, 100%)}
  .cta-row{width:100%; gap:calc(var(--space) * .9)}
  .cta-row .btn{flex:1 1 220px}
  .pros{width:100%; gap:calc(var(--space) * .8)}
  .pros li{flex:1 1 calc(50% - var(--space)); text-align:left; padding-inline:calc(var(--step) * 1.8)}
}

@media (max-width: 680px){
  .hero{padding:clamp(36px, 14vw, 60px) 0 56px}
  .hero-stats{flex-direction:column; align-items:stretch}
  .hero-left{align-items:center; text-align:center; gap:calc(var(--space) * 1.05); max-width:none}
  .hero-left .kicker,
  .hero-left h1,
  .hero-left .lead,
  .hero-left .hero-footnote{margin-left:auto; margin-right:auto}
  .hero-left .lead{max-width:unset}
  .hero-stats{gap:calc(var(--space) * 1.1); display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); justify-content:center}
  .hero-stat{width:100%; animation-duration:8.5s; padding:calc(var(--space) * 1.1) calc(var(--space) * 1.35); box-shadow:0 16px 32px rgba(22,33,54,.08)}
  .cta-row{flex-direction:column; align-items:center}
  .cta-row .btn{flex:none; width:auto; justify-content:center; min-width:0; max-width:100%}
  .pros{justify-content:center; width:100%; gap:calc(var(--space) * .75)}
  .pros li{flex:1 1 auto; text-align:center; padding:calc(var(--step) * 1.4) calc(var(--step) * 1.8)}
  .toolbar{gap:calc(var(--space) * .75); padding:calc(var(--space) * 1.25); border-radius:18px; background:rgba(255,255,255,.94); border:1px solid rgba(12,18,36,.06); box-shadow:0 22px 44px rgba(13,18,36,.08)}
  .toolbar > *{width:100%}
  .toolbar input[type="search"]{min-width:0}
  .toolbar .btn,
  .toolbar select{width:100%}
  .sort-wrap{margin-left:0; width:100%}
  .sort-wrap label{width:100%}
  .filters{flex-direction:column}
  .filters label{flex:1 1 100%}
  .results-info{text-align:center; font-size:13px}
  .catalog::before{background:linear-gradient(180deg,rgba(247,249,255,.96) 0%,rgba(255,255,255,.95) 40%,#ffffff 100%), radial-gradient(380px 240px at 8% 10%, rgba(43,110,246,.14), rgba(43,110,246,0) 70%), radial-gradient(420px 260px at 92% 0%, rgba(11,99,255,.12), rgba(11,99,255,0) 68%)}
  .catalog::after{inset:auto 10% -28% 10%; opacity:.4; filter:blur(72px)}
  .grid{gap:calc(var(--space) * 1.2)}
}

@keyframes shimmer{0%{transform:translateX(-120%) rotate(12deg);} 60%{transform:translateX(120%) rotate(12deg);} 100%{transform:translateX(120%) rotate(12deg);}}
@keyframes floatPhone{0%,100%{transform:translateY(0) rotate(-6deg);}50%{transform:translateY(-12px) rotate(-7deg);}}
@keyframes fadeIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}}
@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(43,110,246,.28);}70%{box-shadow:0 0 0 14px rgba(43,110,246,0);}100%{box-shadow:0 0 0 0 rgba(43,110,246,0);}}
@keyframes shine{0%{transform:translateX(-120%); opacity:0;}45%{opacity:1;}100%{transform:translateX(120%); opacity:0;}}
@keyframes fadeUp{0%{opacity:0; transform:translateY(14px);}100%{opacity:1; transform:translateY(0);}}
@keyframes popIn{0%{opacity:0; transform:translateY(16px) scale(.92);}65%{opacity:1; transform:translateY(-2px) scale(1.02);}100%{opacity:1; transform:translateY(0) scale(1);}}
@keyframes gradientShift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
@keyframes floatSoft{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes glowDrift{0%{transform:translate3d(-12%,0,0) scale(.92); opacity:.5;}50%{transform:translate3d(8%,6%,0) scale(1.05); opacity:.9;}100%{transform:translate3d(-12%,0,0) scale(.92); opacity:.5;}}
@keyframes glowDriftAlt{0%{transform:translate3d(-6%,0,0) scale(.9); opacity:.45;}50%{transform:translate3d(10%,8%,0) scale(1.05); opacity:.75;}100%{transform:translate3d(-6%,0,0) scale(.9); opacity:.45;}}
@keyframes glowPulse{0%,100%{opacity:.55;}50%{opacity:.85;}}
@keyframes fadeGlow{0%,100%{opacity:.65;}50%{opacity:.9;}}
@keyframes cardGlow{0%,100%{transform:translate3d(0,28px,0) scale(.9); opacity:.22;}50%{transform:translate3d(0,-10px,0) scale(1.05); opacity:.42;}}

@media (prefers-reduced-motion: reduce){
  .btn,
  .card,
  .card::after,
  .offer-card__brand,
  .offer-card__param,
  .btn-outline,
  .hero-stat,
  .btn-primary,
  .hero-right::before,
  .hero-right::after,
  .catalog::after,
  .hero::after,
  .step-card .step-badge,
  .card::before{transition:none !important; animation:none !important;}
}

@media (min-width: 1440px){
  :root{
    --container-max: 1480px;
    --page-padding: clamp(28px, 6vw, 132px);
  }
  h1{font-size: clamp(34px, 3.2vw, 56px);}
  .section-head h2{font-size: clamp(30px, 2.8vw, 44px);}
}

@media (max-width: 1180px){
  .hero-grid{grid-template-columns: 1fr; gap: 32px}
}

@media (max-width: 1024px){
  .hero-grid{grid-template-columns: 1fr; gap: 24px}
  .phone-img{width: clamp(220px, 40vw, 380px); transform: rotate(-4deg)}
  .hero-stats{gap:var(--space)}
  .feature-grid{grid-template-columns:1fr 1fr}
  .steps-grid{grid-template-columns:1fr 1fr}
  .footer-row{flex-direction:column; gap:var(--space); height:auto; padding:calc(var(--space) * 2) 0}
}
@media (max-width: 640px){
  :root{--page-padding: clamp(18px, 7vw, 32px);}
  .phone-img{width: clamp(200px, 55vw, 340px); transform: rotate(-3deg)}
  .hero-stats{flex-direction:column}
  .feature-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr}
  .offer-card__brand{align-items:flex-start}
  .offer-card__params{gap:10px}
  .section-head{text-align:center}
  .section-head h2,
  .section-head p{margin-left:auto; margin-right:auto}
  .feature-card,
  .step-card{padding:calc(var(--space) * 1.45); text-align:left}
  .grid{grid-template-columns:1fr}
}

@media (max-width: 540px){
  .hero-stats{flex-direction:column; align-items:stretch}
  .cta-row{flex-direction:column; width:100%; align-items:center}
  .cta-row .btn{flex:none; width:auto; justify-content:center; min-width:0; max-width:100%}
  .toolbar{flex-direction:column; align-items:stretch}
  .toolbar input[type="search"],
  .filters label,
  .sort-wrap select,
  .filters select{width:100%}
  .sort-wrap{margin-left:0; width:100%}
  .filters{flex-direction:column}
  .footer-nav{flex-wrap:wrap; gap:var(--step)}
  .footer-row{align-items:flex-start}
}

@media (max-width: 520px){
  h1{font-size: clamp(28px, 9vw, 36px)}
  .hero-footnote{font-size:13px}
  .hero-stat span{font-size:clamp(24px,7vw,30px)}
  .hero-stat small{font-size:12px}
  .cta-row .btn{font-size:15px}
  .pros li{font-size:13px}
  .card{padding:calc(var(--space) * 1.5); border-radius:16px}
  .offer-card__brand{align-items:flex-start; gap:calc(var(--space) * .9)}
  .offer-card__logo{width:52px; height:52px}
  .offer-card__params{gap:8px}
  .offer-card__param{flex-direction:column; align-items:flex-start; gap:4px}
  .offer-card__param-label{min-width:0}
  .offer-card__cta{font-size:15px; padding-block:12px}
}

@media (max-width: 460px){
  .offer-card__brand-info{padding-right:80px}
  .site-header{border-bottom:none; background:rgba(255,255,255,.94)}
  .hero{padding:clamp(32px, 18vw, 48px) 0 48px}
  .hero::after{width:360px; height:360px; right:4%; top:12%; filter:blur(72px); opacity:.45}
  .hero-stats{grid-template-columns:1fr}
  .toolbar{padding:calc(var(--space) * 1.15)}
  .feature-card,
  .step-card{padding:calc(var(--space) * 1.35)}
  .results-info{font-size:12px}
  .offer-card__badge{font-size:10px; padding:5px 12px}
  .offer-card__logo{width:48px; height:48px}
  .offer-card__cta{font-size:14px; padding-block:11px}
}

@media (max-width: 400px){
  :root{--page-padding: clamp(16px, 8vw, 24px);}
  .hero::before{height:220px; inset:auto -25% -42% -25%}
  .logo{font-size:16px}
  /* прячем градиентный «куб» */
  .logo-blob{ display:none !important; }

  /* сам логотип */
  .logo-img{
    display:block;
    width:auto;
    height:24px;        /* при желании 20–28px */
    border-radius:6px;  /* убери если логотип без скругления */
  }

  /* текст рядом (без первой Z) */
  .logo-text{
    color: var(--accent);
    font-weight: 800;
    font-size: 18px;
  }

  .hero-left{gap:calc(var(--space) * .9)}
  .hero-stat{padding:calc(var(--space) * 1) calc(var(--space) * 1.2); border-radius:14px}
  .btn{padding:calc(var(--step) * 1.4) calc(var(--step) * 2)}
  .grid{gap:calc(var(--space) * 1.05)}
  .card{padding:calc(var(--space) * 1.35)}
  .offer-card__brand{flex-direction:column; align-items:flex-start; gap:calc(var(--space) * .7)}
  .offer-card__logo{width:44px; height:44px}
  .offer-card__name{font-size:18px}
  .offer-card__param{gap:2px}
  .offer-card__cta{font-size:14px; padding-block:10px}
  .footer-row{align-items:center; text-align:center; gap:calc(var(--space) * .75)}
  .footer-nav{justify-content:center}
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important}
  .reveal{opacity:1 !important; transform:none !important}
}
