/* ===================================================================
   LED-буквы — главная страница. Тёмный premium + неон.
   Фирменные цвета бренда: жёлтый, синий, зелёный (логотип LED)
=================================================================== */
:root{
  --bg:#080b16;
  --bg-2:#0d1222;
  --panel:#121831;
  --panel-2:#161d3a;
  --line:rgba(255,255,255,.08);
  --text:#eaf0ff;
  --muted:#9aa6c6;
  --y:#ffd400;   /* неон жёлтый */
  --b:#27a6ec;   /* неон синий  */
  --g:#5ad24a;   /* неон зелёный*/
  --grad:linear-gradient(100deg,var(--y),var(--b) 50%,var(--g));
  --radius:18px;
  --shadow:0 20px 60px rgba(0,0,0,.45);
  --maxw:1200px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body::before{ /* фоновое сияние */
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(600px 400px at 12% 8%, rgba(255,212,0,.10), transparent 60%),
    radial-gradient(700px 500px at 88% 20%, rgba(39,166,236,.12), transparent 60%),
    radial-gradient(600px 500px at 50% 100%, rgba(90,210,74,.08), transparent 60%);
}
h1,h2,h3,h4,.btn{font-family:'Montserrat',sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}

.neon-y{color:var(--y);text-shadow:0 0 16px rgba(255,212,0,.6)}
.neon-b{color:var(--b);text-shadow:0 0 16px rgba(39,166,236,.6)}
.neon-g{color:var(--g);text-shadow:0 0 16px rgba(90,210,74,.6)}

/* ---------- КНОПКИ ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 28px;border-radius:60px;font-weight:700;font-size:16px;
  cursor:pointer;border:none;transition:.25s;text-align:center;line-height:1.2;
}
.btn--primary{
  background:var(--grad);color:#07101f;
  box-shadow:0 10px 30px rgba(39,166,236,.35),0 0 0 1px rgba(255,255,255,.1) inset;
  background-size:160% 160%;
}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(90,210,74,.45);background-position:100% 0}
.btn--ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn--ghost:hover{border-color:var(--b);color:var(--b);box-shadow:0 0 20px rgba(39,166,236,.25)}
.btn--full{width:100%}
.btn--sm{padding:11px 20px;font-size:14px}

/* ---------- TOPBAR (Блок 1) ---------- */
.topbar{background:var(--bg-2);border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.topbar__inner{display:flex;align-items:center;gap:22px;height:42px}
.topbar__item .ic{margin-right:4px}
.topbar__spacer{flex:1}
.topbar__item a:hover{color:var(--b)}
.topbar__socials{display:flex;gap:8px}
.soc{height:28px;min-width:28px;display:grid;place-items:center;border-radius:8px;transition:.22s;overflow:hidden}
.soc svg{width:17px;height:17px;display:block}
.soc--ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.soc--wa{background:#25d366}
.soc--wa svg{width:19px;height:19px}
.soc--max{background:linear-gradient(135deg,#7b5cff,#2b8cff);padding:0 8px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:11px;color:#fff;letter-spacing:.4px}
.soc:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 6px 16px rgba(0,0,0,.35)}

/* ---------- HEADER (Блок 2) ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(8,11,22,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:.3s}
.header.scrolled{box-shadow:0 10px 40px rgba(0,0,0,.5)}
.header__inner{display:flex;align-items:center;gap:24px;height:74px}
.logo img{height:42px;width:auto}
.nav{display:flex;align-items:center;gap:20px;margin-left:auto;font-size:14.5px;font-weight:500}
.nav a{color:var(--text);position:relative;padding:6px 0;transition:.2s}
.nav a:hover{color:var(--b)}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--grad);transition:.25s}
.nav a:hover::after{width:100%}
.nav__drop{position:relative}
.nav__submenu{position:absolute;top:100%;left:0;min-width:260px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px;display:none;flex-direction:column;box-shadow:var(--shadow)}
.nav__submenu a{padding:10px 14px;border-radius:9px;font-size:14px}
.nav__submenu a:hover{background:var(--panel-2)}
.nav__drop:hover .nav__submenu{display:flex}
.header__phone{font-family:'Montserrat';font-weight:700;font-size:16px;white-space:nowrap;color:var(--text)}
.header__phone:hover{color:var(--y);text-shadow:0 0 14px rgba(255,212,0,.5)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:26px;height:2.5px;background:var(--text);border-radius:3px;transition:.3s}
.burger.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;padding:70px 0 110px}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:240px;background:linear-gradient(to bottom,transparent,var(--bg) 92%);z-index:1;pointer-events:none}
.hero__glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;z-index:0;animation:floaty 9s ease-in-out infinite}
.hero__glow--y{width:380px;height:380px;background:var(--y);top:-80px;left:-60px}
.hero__glow--b{width:460px;height:460px;background:var(--b);top:10%;right:-120px;animation-delay:-3s}
.hero__glow--g{width:340px;height:340px;background:var(--g);bottom:-120px;left:30%;animation-delay:-6s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-30px)}}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .85fr;gap:50px;align-items:center}
.hero__badge{display:inline-block;font-size:13px;font-weight:600;color:var(--g);border:1px solid rgba(90,210,74,.35);background:rgba(90,210,74,.08);padding:7px 16px;border-radius:50px;margin-bottom:22px}
.hero__title{font-size:clamp(32px,4.6vw,58px);font-weight:900;line-height:1.08;letter-spacing:-.5px}
.hero__sub{margin:22px 0 26px;color:var(--muted);font-size:18px;max-width:560px}
.hero__usp{list-style:none;display:flex;gap:26px;flex-wrap:wrap;margin-bottom:30px}
.hero__usp li{display:flex;flex-direction:column}
.hero__usp b{font-family:'Montserrat';font-size:26px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__usp span{font-size:13px;color:var(--muted)}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}

.quickform{background:linear-gradient(160deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);position:relative;animation:levitate 5.5s ease-in-out infinite;will-change:transform}
.quickform:hover{animation-play-state:paused}
@keyframes levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.quickform::before{content:"";position:absolute;inset:-1px;border-radius:var(--radius);padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;pointer-events:none}
.quickform__title{font-family:'Montserrat';font-size:22px;font-weight:800}
.quickform__sub{color:var(--muted);font-size:14px;margin:4px 0 18px}
.quickform input,.quickform select,.cta__form input,.cta__form textarea{
  width:100%;padding:14px 16px;margin-bottom:12px;background:var(--bg);
  border:1px solid var(--line);border-radius:12px;color:var(--text);font-size:15px;font-family:inherit;transition:.2s}
.quickform input:focus,.quickform select:focus,.cta__form input:focus,.cta__form textarea:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 3px rgba(39,166,236,.18)}
.quickform select{appearance:none;cursor:pointer}
.quickform__note{font-size:11.5px;color:var(--muted);text-align:center;margin-top:10px}

.hero__scroll{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font-size:28px;color:var(--muted);z-index:2;animation:bounce 2s infinite}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* ---------- MARQUEE (Блок 3) ---------- */
.marquee{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:14px 0}
.marquee__track{display:flex;gap:42px;white-space:nowrap;width:max-content;animation:scrollx 28s linear infinite}
.marquee__track span{font-weight:600;font-size:15px;color:var(--muted)}
.marquee__track span:nth-child(3n+1){color:var(--y)}
.marquee__track span:nth-child(3n+2){color:var(--b)}
.marquee__track span:nth-child(3n){color:var(--g)}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ---------- SECTIONS ---------- */
.section{padding:80px 0;position:relative}
.section--alt{background:var(--bg-2)}
.section__head{text-align:center;max-width:760px;margin:0 auto 46px}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--b);margin-bottom:12px}
.section__title{font-size:clamp(26px,3.4vw,42px);font-weight:800;line-height:1.15;letter-spacing:-.5px}
.section__lead{color:var(--muted);font-size:17px;margin-top:14px}
.section__cta{text-align:center;margin-top:40px}
/* подзаголовок сетки товаров — на всю ширину */
#uslugi .section__head{max-width:none}

/* ---------- СЕТКА УСЛУГ (Блок 4) ---------- */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;transition:.3s;transform-style:preserve-3d}
.card:hover{transform:translateY(-8px);border-color:rgba(39,166,236,.5);box-shadow:0 24px 50px rgba(0,0,0,.5)}
.card__badge{position:absolute;top:12px;left:12px;z-index:3;background:var(--grad);color:#07101f;font-size:11px;font-weight:800;padding:5px 12px;border-radius:30px;font-family:'Montserrat'}
.card__img{aspect-ratio:300/216;overflow:hidden}
.card__img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.card:hover .card__img img{transform:scale(1.1)}
.card__body{padding:18px}
.card__body h3{font-size:18px;font-weight:700}
.card__type{color:var(--b);font-size:13.5px;font-weight:600;margin-bottom:8px}
.card__meta{color:var(--muted);font-size:12.5px;min-height:34px}
.card__price{font-family:'Montserrat';font-size:15px;margin:10px 0;color:var(--muted)}
.card__price b{font-size:26px;font-weight:800;color:var(--y);text-shadow:0 0 14px rgba(255,212,0,.4)}
.card__link{font-weight:700;font-size:14px;color:var(--g)}
.card__link:hover{text-shadow:0 0 12px rgba(90,210,74,.5)}
/* яркая интерактивная кнопка расчёта на карточке */
.card__link.js-calc,.card__link.js-order{display:inline-flex;align-items:center;gap:7px;margin-top:6px;padding:11px 18px;border:none;border-radius:50px;background:var(--grad);background-size:180% 180%;background-position:0 0;color:#07101f;font-family:'Montserrat',sans-serif;font-weight:800;font-size:13.5px;cursor:pointer;text-shadow:none;box-shadow:0 6px 18px rgba(39,166,236,.3);transition:transform .25s,box-shadow .25s,background-position .5s;animation:btnglow 3s ease-in-out infinite}
.card__link.js-calc:hover,.card__link.js-order:hover{transform:translateY(-3px) scale(1.03);background-position:100% 0;box-shadow:0 12px 28px rgba(90,210,74,.5),0 0 0 2px rgba(255,255,255,.15) inset;text-shadow:none}
.card__link.js-calc:active,.card__link.js-order:active{transform:translateY(-1px) scale(.99)}
/* слайдер фото в карточке */
.card__img--slider{position:relative}
.card__img--slider .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);filter:saturate(1.05);transition:opacity 1.6s cubic-bezier(.4,0,.2,1),filter 1.6s ease;will-change:opacity,transform}
.card__img--slider .slide.is-active{opacity:1;z-index:1;animation:kenburns 6.5s ease-out both}
@keyframes kenburns{0%{transform:scale(1.14) translate(1.5%,-1.5%)}100%{transform:scale(1) translate(0,0)}}
/* на слайдерах отключаем hover-зум (за плавность отвечает кинематографический морфинг) */
.card:hover .card__img--slider .slide{transform:none}
@media(prefers-reduced-motion:reduce){.card__img--slider .slide.is-active{animation:none;transform:none}}
@keyframes btnglow{0%,100%{box-shadow:0 6px 18px rgba(39,166,236,.3)}50%{box-shadow:0 6px 24px rgba(255,212,0,.45)}}
.card--cta{display:grid;place-items:center;text-align:center;background:linear-gradient(160deg,rgba(39,166,236,.12),rgba(90,210,74,.08))}
.card__ctabody{padding:24px}
.card__ctabody h3{font-size:20px;margin-bottom:8px}
.card__ctabody p{color:var(--muted);font-size:14px;margin-bottom:16px}

/* ---------- ПОЛНЫЕ УСЛУГИ (Блок 5) ---------- */
.grid-services{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.srv{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;transition:.3s;position:relative;overflow:hidden}
.srv::after{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:.35s}
.srv:hover{transform:translateY(-6px);background:var(--panel-2);box-shadow:var(--shadow)}
.srv:hover::after{transform:scaleX(1)}
.srv__ico{font-size:34px;margin-bottom:14px}
.srv h3{font-size:17px;font-weight:700;margin-bottom:8px}
.srv p{color:var(--muted);font-size:14px}

/* ---------- КАЛЬКУЛЯТОР (Блок 6) ---------- */
.calc{display:grid;grid-template-columns:1.3fr .9fr;gap:26px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}
.calc__field{display:block;margin-bottom:22px}
.calc__field>span{display:block;font-size:14px;color:var(--muted);margin-bottom:9px}
.calc__field>span b{color:var(--y)}
.calc__field select{width:100%;padding:13px 14px;background:var(--bg);border:1px solid var(--line);border-radius:11px;color:var(--text);font-family:inherit;font-size:15px}
input[type=range]{width:100%;-webkit-appearance:none;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--b),var(--g));outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--y);cursor:pointer;box-shadow:0 0 14px rgba(255,212,0,.6);border:3px solid #07101f}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--y);cursor:pointer;border:3px solid #07101f}
.calc__check{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;cursor:pointer}
.calc__check input{width:18px;height:18px;accent-color:var(--g)}
.calc__result{background:linear-gradient(160deg,rgba(39,166,236,.12),rgba(90,210,74,.06));border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.calc__label{color:var(--muted);font-size:14px}
.calc__sum{font-family:'Montserrat';font-size:42px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin:8px 0}
.calc__hint{font-size:13px;color:var(--muted);margin-bottom:18px}

/* ---------- СЧЁТЧИКИ (Блок 7) ---------- */
.counters{padding:54px 0;background:linear-gradient(100deg,rgba(255,212,0,.06),rgba(39,166,236,.08),rgba(90,210,74,.06));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.counters__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
.counter b{font-family:'Montserrat';font-size:clamp(30px,4vw,46px);font-weight:900;display:block;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.counter span{color:var(--muted);font-size:14.5px}

/* ---------- ПРЕИМУЩЕСТВА (Блок 8) ---------- */
.adv{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.adv__item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;transition:.3s;position:relative}
.adv__item:hover{transform:translateY(-6px);border-color:rgba(255,212,0,.4);box-shadow:var(--shadow)}
.adv__num{font-family:'Montserrat';font-size:40px;font-weight:900;color:transparent;-webkit-text-stroke:1.5px var(--b);margin-bottom:12px;opacity:.8}
.adv__item h3{font-size:18px;margin-bottom:10px}
.adv__item p{color:var(--muted);font-size:14px}

/* ---------- ЭТАПЫ (Блок 9) ---------- */
.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 16px;text-align:center;transition:.3s;position:relative}
.step:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.step__n{width:44px;height:44px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:var(--grad);color:#07101f;font-family:'Montserrat';font-weight:800;font-size:18px}
.step h3{font-size:15px;margin-bottom:6px}
.step p{color:var(--muted);font-size:12.5px}

/* ---------- ВИДЕО (Блок 10) ---------- */
.video__frame{position:relative;padding-bottom:50%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- ПОРТФОЛИО (Блок 11) ---------- */
.filters{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
.filter{padding:11px 24px;border-radius:50px;border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:600;font-size:14px;cursor:pointer;transition:.25s;font-family:'Montserrat'}
.filter:hover{color:var(--text);border-color:var(--b)}
.filter.is-active{background:var(--grad);color:#07101f;border-color:transparent}
.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pf{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line);transition:.4s}
.pf img{width:100%;height:100%;object-fit:cover;transition:.5s}
.pf:hover img{transform:scale(1.08)}
.pf:hover{box-shadow:0 24px 50px rgba(0,0,0,.55);border-color:rgba(39,166,236,.5)}
.pf__info{position:absolute;inset:auto 0 0 0;padding:18px;background:linear-gradient(transparent,rgba(8,11,22,.92));transform:translateY(8px);opacity:.92;transition:.3s}
.pf:hover .pf__info{transform:translateY(0);opacity:1}
.pf__info h3{font-size:17px}
.pf__info span{font-size:13px;color:var(--muted)}
.pf.hide{display:none}

/* ---------- ПРОИЗВОДСТВО (Блок 12) ---------- */
.prodgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.prodgrid img{aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:1px solid var(--line);transition:.4s;cursor:pointer}
.prodgrid img:hover{transform:scale(1.05);box-shadow:0 0 26px rgba(39,166,236,.35);border-color:var(--b)}

/* ---------- LED-ПРЕИМУЩЕСТВА (Блок 13) ---------- */
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.benefit{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 20px;transition:.3s}
.benefit:hover{transform:translateY(-6px);background:var(--panel-2);box-shadow:var(--shadow)}
.benefit__ico{font-size:30px;margin-bottom:12px}
.benefit h3{font-size:16px;margin-bottom:7px}
.benefit p{color:var(--muted);font-size:13.5px}

/* ---------- ПРИОРИТЕТЫ (Блок 14) ---------- */
.priorities{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;text-align:center}
.prio{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px 12px;transition:.3s}
.prio:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.prio b{font-family:'Montserrat';font-size:32px;font-weight:900;display:block;color:var(--g);text-shadow:0 0 16px rgba(90,210,74,.45)}
.prio span{color:var(--muted);font-size:12.5px;display:block;margin-top:6px}

/* ---------- ТЕГИ (Блок 15) ---------- */
.tags-wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.tag{padding:12px 22px;border-radius:50px;background:var(--panel);border:1px solid var(--line);font-weight:600;font-size:15px;transition:.25s;cursor:default}
.tag:hover{background:var(--grad);color:#07101f;border-color:transparent;transform:translateY(-3px)}

/* ---------- SPLIT (Блок 16) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.split__text .section__title{text-align:left}
.split__text p{color:var(--muted);font-size:16px;margin:16px 0 20px}
.checklist{list-style:none;margin-bottom:26px}
.checklist li{padding:9px 0 9px 32px;position:relative;font-size:15.5px}
.checklist li::before{content:"✓";position:absolute;left:0;top:8px;width:22px;height:22px;background:var(--grad);color:#07101f;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800}
.split__media img{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}

/* ---------- ОТЗЫВЫ (Блок 17) ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative;transition:.3s}
.review::before{content:"“";position:absolute;top:6px;left:18px;font-size:70px;font-family:Georgia,serif;color:var(--b);opacity:.25;line-height:1}
.review:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(39,166,236,.4)}
.review p{font-size:15px;position:relative;z-index:1;margin-bottom:16px}
.review cite{font-style:normal;font-weight:700;color:var(--y);font-family:'Montserrat'}

/* ---------- РЕЙТИНГ (Блок 18) ---------- */
.rating{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow)}
.rating__big{text-align:center}
.rating__big b{font-family:'Montserrat';font-size:62px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;line-height:1}
.stars{color:var(--y);font-size:22px;text-shadow:0 0 14px rgba(255,212,0,.5);margin:6px 0}
.rating__big span{color:var(--muted);font-size:14px}
.rating__items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.rating__items b{font-family:'Montserrat';font-size:30px;font-weight:800;display:block;color:var(--b)}
.rating__items span{color:var(--muted);font-size:13.5px}

/* ---------- ГАРАНТИЯ (Блок 19) ---------- */
.guarantee{display:flex;align-items:center;gap:34px;background:linear-gradient(120deg,rgba(90,210,74,.1),rgba(39,166,236,.08));border:1px solid var(--line);border-radius:var(--radius);padding:40px}
.guarantee__ico{font-size:74px;filter:drop-shadow(0 0 22px rgba(90,210,74,.5))}
.guarantee__text .section__title{text-align:left}
.guarantee__text p{color:var(--muted);margin-top:12px;font-size:16px}

/* ---------- АКЦИЯ (Блок 20) ---------- */
.promo{background:var(--grad);background-size:200% 200%;animation:gradmove 8s ease infinite;padding:8px}
@keyframes gradmove{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.promo__inner{background:var(--bg);border-radius:calc(var(--radius) - 2px);padding:34px 40px;display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center}
.promo__big{font-family:'Montserrat';font-size:64px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.promo__mid h2{font-size:24px;font-weight:800}
.promo__mid p{color:var(--muted);margin-top:6px}
.promo__right{text-align:center}
.promo__timer{font-family:'Montserrat';font-weight:800;font-size:26px;margin-bottom:12px;letter-spacing:1px}
.promo__timer span{background:var(--panel);padding:6px 10px;border-radius:9px;border:1px solid var(--line)}

/* ---------- CTA (Блок 21) ---------- */
.cta-section{overflow:hidden;position:relative}
.cta-glow{position:absolute;width:600px;height:600px;background:var(--b);filter:blur(140px);opacity:.18;border-radius:50%;top:-30%;right:-10%;z-index:0}
.cta{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center;position:relative;z-index:1;background:linear-gradient(160deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:24px;padding:44px;box-shadow:var(--shadow)}
.cta .section__title{text-align:left}
.cta__text p{color:var(--muted);font-size:16px;margin:16px 0 24px}
.cta__contacts{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.cta__phone{font-family:'Montserrat';font-weight:800;font-size:24px;color:var(--y);text-shadow:0 0 16px rgba(255,212,0,.4)}
.cta__wa{font-weight:700;color:#a99bff;border:1px solid rgba(123,92,255,.45);padding:11px 20px;border-radius:50px;transition:.25s}
.cta__wa:hover{background:rgba(123,92,255,.14);box-shadow:0 0 20px rgba(123,92,255,.3);color:#c4baff}

/* ---------- ПРАЙС (Блок 22) ---------- */
.pricetable{max-width:760px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.prow{display:flex;justify-content:space-between;align-items:center;padding:17px 26px;border-bottom:1px solid var(--line);transition:.2s}
.prow:last-child{border-bottom:none}
.prow:hover{background:var(--panel-2)}
.prow span{font-size:15.5px}
.prow b{font-family:'Montserrat';font-size:17px;color:var(--y);white-space:nowrap}
.prow--hl{background:linear-gradient(90deg,rgba(255,212,0,.08),transparent)}
.prow--hl b{color:var(--g)}

/* ---------- FAQ (Блок 23) ---------- */
.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq__item{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq__q{width:100%;text-align:left;background:none;border:none;color:var(--text);font-family:'Montserrat';font-weight:600;font-size:16px;padding:20px 24px;display:flex;justify-content:space-between;gap:16px;cursor:pointer}
.faq__q span{color:var(--b);font-size:24px;transition:.3s;line-height:1}
.faq__item.open .faq__q span{transform:rotate(45deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq__a p{padding:0 24px 20px;color:var(--muted);font-size:15px}

/* ---------- КАРТА (Блок 24) ---------- */
.mapwrap{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);height:420px;box-shadow:var(--shadow)}
.mapwrap iframe{width:100%;height:100%;border:0;filter:grayscale(.3) invert(.92) hue-rotate(180deg)}

/* ---------- КОНТАКТЫ (Блок 25) ---------- */
.contacts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.contact{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;text-align:center;transition:.3s}
.contact:hover{transform:translateY(-6px);border-color:rgba(39,166,236,.5);box-shadow:var(--shadow)}
.contact__ico{font-size:30px;margin-bottom:12px}
.contact b{font-family:'Montserrat';font-size:17px;display:block}
.contact span{color:var(--muted);font-size:13px}

/* ---------- ПЛАВАЮЩИЕ КНОПКИ (Блок 26) ---------- */
.floats{position:fixed;right:20px;bottom:24px;z-index:60;display:flex;flex-direction:column;gap:12px;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s ease}
.floats.is-hidden{transform:translateX(160%);opacity:0;pointer-events:none}
.float{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:24px;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:.3s}
.float--wa{background:#25d366}
.float--wa svg{display:block}
.float--max{background:linear-gradient(135deg,#7b5cff,#2b8cff);font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:#fff;letter-spacing:.5px}
.float--call{background:var(--grad)}
.float:hover{transform:scale(1.12)}
.float--max{animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(123,92,255,.5)}70%{box-shadow:0 0 0 16px rgba(123,92,255,0)}100%{box-shadow:0 0 0 0 rgba(123,92,255,0)}}

/* ---------- FOOTER (Блок 27/28) ---------- */
.footer{background:var(--bg-2);border-top:1px solid var(--line);padding-top:56px}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;padding-bottom:40px}
.footer__logo{margin-bottom:16px}
.footer__col p{color:var(--muted);font-size:14px;margin-bottom:12px}
.footer__col h4{font-size:16px;margin-bottom:16px;color:var(--text)}
.footer__col a{display:block;color:var(--muted);font-size:14px;padding:6px 0;transition:.2s}
.footer__col a:hover{color:var(--b);padding-left:5px}
.footer__bottom{border-top:1px solid var(--line);padding:20px 0}
.footer__bottom .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13px}

/* ---------- НАВЕРХ (Блок 29) ---------- */
.totop{position:fixed;right:20px;bottom:230px;z-index:60;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:20px;cursor:pointer;opacity:0;visibility:hidden;transition:.3s}
.totop.show{opacity:1;visibility:visible}
.totop:hover{background:var(--grad);color:#07101f;border-color:transparent}

/* ---------- COOKIE (Блок 30) ---------- */
.cookie{position:fixed;left:20px;bottom:20px;z-index:70;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow);transition:.4s}
.cookie.hide{transform:translateY(140%);opacity:0;visibility:hidden}
.cookie span{font-size:13px;color:var(--muted)}

/* ---------- АНИМАЦИЯ ПОЯВЛЕНИЯ ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.cards .card.reveal{transition-delay:calc(var(--i,0)*60ms)}

/* ===================================================================
   АДАПТИВНОСТЬ
=================================================================== */
@media(max-width:1024px){
  .cards,.grid-services,.benefits,.prodgrid,.contacts,.adv{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(4,1fr)}
  .priorities{grid-template-columns:repeat(3,1fr)}
  .reviews,.portfolio{grid-template-columns:repeat(2,1fr)}
  .hero__inner{grid-template-columns:1fr;gap:36px}
  .calc{grid-template-columns:1fr}
  .split,.cta,.rating{grid-template-columns:1fr;gap:30px}
  .rating__big b{font-size:50px}
}
@media(max-width:760px){
  .nav{position:fixed;top:74px;right:0;width:78%;max-width:320px;height:calc(100dvh - 74px);background:var(--bg-2);flex-direction:column;align-items:flex-start;padding:44px 24px 28px;gap:6px;transform:translateX(100%);transition:.35s;overflow-y:auto;border-left:1px solid var(--line)}
  .nav.open{transform:translateX(0)}
  .nav a{width:100%;padding:12px 0;border-bottom:1px solid var(--line)}
  .nav__submenu{position:static;display:flex;box-shadow:none;border:none;background:transparent;padding-left:14px}
  .nav__drop:hover .nav__submenu{display:flex}
  .burger{display:flex}
  .header__inner{gap:12px}
  .header__phone{display:inline-flex;margin-left:auto;font-size:15px}
  .logo img{height:36px}
  .topbar__inner{gap:12px;flex-wrap:wrap;height:auto;min-height:42px;padding:6px 0;row-gap:4px}
  .topbar__item{font-size:12.5px}
  .topbar__spacer{display:none}
  .counters__inner{grid-template-columns:repeat(2,1fr);gap:20px 16px}
  .cards,.grid-services,.benefits,.prodgrid,.contacts,.steps,.priorities,.reviews,.portfolio,.footer__grid,.rating__items,.adv{grid-template-columns:repeat(2,1fr)}
  .section{padding:54px 0}
  .promo__inner{grid-template-columns:1fr;text-align:center;gap:20px}
  .footer__bottom .container{flex-direction:column}
  .guarantee{flex-direction:column;text-align:center}
  .guarantee__text .section__title,.cta .section__title,.split__text .section__title{text-align:center}
  .hero__usp{gap:18px}
  .cta__contacts{justify-content:center}
}
@media(max-width:480px){
  .cards,.grid-services,.benefits,.prodgrid,.steps,.priorities,.reviews,.portfolio,.contacts,.footer__grid,.rating__items,.adv{grid-template-columns:1fr}
  .promo__big{font-size:48px}
  .hero__title{font-size:30px}
  .calc__sum{font-size:34px}
  .floats{right:14px;bottom:14px}
  .float{width:50px;height:50px;font-size:21px}
  .float--max{font-size:13px;letter-spacing:0}
  .totop{right:14px;bottom:202px}
  .header__phone{font-size:13px}
  .logo img{height:32px}
}

/* ---------- POPUP КАЛЬКУЛЯТОР ---------- */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;transition:.3s}
.modal.open{visibility:visible;opacity:1}
.modal__overlay{position:absolute;inset:0;background:rgba(4,7,16,.78);backdrop-filter:blur(6px)}
.modal__box{position:relative;z-index:2;width:100%;max-width:560px;max-height:94vh;overflow-y:auto;overflow-x:hidden;background:linear-gradient(160deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow);transform:translateY(24px) scale(.97);transition:.35s;scrollbar-width:none;-ms-overflow-style:none}
.modal__box::-webkit-scrollbar{width:0;height:0;display:none}
.modal.open .modal__box{transform:translateY(0) scale(1)}
.modal__box::before{content:"";position:absolute;inset:0;border-radius:22px;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;pointer-events:none}
.modal__close{position:absolute;top:16px;right:18px;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:24px;line-height:1;cursor:pointer;transition:.2s}
.modal__close:hover{background:var(--grad);color:#07101f;border-color:transparent}
.modal__head{margin-bottom:22px;padding-right:30px}
.modal__title{font-size:24px;font-weight:800;margin-top:6px}
.modal__sub{color:var(--muted);font-size:14px;margin-top:10px}
.modal__form .calc__field{margin-bottom:16px}
.modal__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.modal__form select,.modal__order input{width:100%;padding:13px 14px;background:var(--bg);border:1px solid var(--line);border-radius:11px;color:var(--text);font-family:inherit;font-size:15px;transition:.2s}
.modal__form select:focus,.modal__order input:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 3px rgba(39,166,236,.18)}
.modal__result{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(120deg,rgba(39,166,236,.12),rgba(90,210,74,.06));border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:20px 0}
.modal__sum{font-family:'Montserrat';font-size:34px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.modal__order{border-top:1px solid var(--line);padding-top:20px}
.modal__orderlabel{font-size:14.5px;font-weight:600;margin-bottom:14px}
.modal__order .modal__row{margin-bottom:14px}
.modal__order .btn{margin-top:4px}
@media(max-width:520px){.modal__box{padding:24px 20px}.modal__row{grid-template-columns:1fr}.modal__sum{font-size:28px}}

/* доступность: уважение к prefers-reduced-motion */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
}
