/* ═══════════════════════════════════════
   3-COLOR PALETTE: NAVY #1e2b52 | RED #8c1812 | GRAY
   ЛТМ групп
═══════════════════════════════════════ */
:root{
  --dk:#1e2b52;
  --dk2:#253362;
  --or:#b52318;
  --orh:#962018;
  --wh:#FFFFFF;
  --lt:#F4F7FB;
  --tx:#1e2b52;
  --mu:#757575;
  --bd:#DDE5EF;
  --ok:#1e6b3a;
  --r:12px; --rs:8px; --tr:.25s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Inter',sans-serif;color:var(--tx);background:var(--wh);-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;line-height:1.15;font-weight:800}
h1{font-size:clamp(1.75rem,5vw,3.1rem)} h2{font-size:clamp(1.35rem,3.5vw,2.1rem)}
h3{font-size:clamp(1rem,2vw,1.25rem);font-weight:700}
p{line-height:1.7} a{text-decoration:none;color:inherit} img{max-width:100%;height:auto;display:block}
.w{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.s{padding:72px 0} .sa{background:var(--lt)}
.lbl{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--or);background:none;padding:0;border-radius:0;margin-bottom:14px}
.tt{margin-bottom:12px} .sub{color:var(--mu);font-size:1.05rem;max-width:600px;margin-bottom:40px}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--rs);font-family:'Montserrat',sans-serif;font-size:.9375rem;font-weight:700;cursor:pointer;border:2px solid transparent;transition:var(--tr);white-space:nowrap}
.bp{background:var(--or);color:var(--wh);border-color:var(--or)}
.bp:hover{background:var(--orh);border-color:var(--orh);transform:translateY(-2px);box-shadow:0 6px 20px rgba(181,35,24,.38)}
.bo{background:transparent;color:var(--wh);border-color:rgba(255,255,255,.45)}
.bo:hover{border-color:var(--wh);background:rgba(255,255,255,.1)}
.bd-btn{background:transparent;color:var(--tx);border-color:var(--bd)}
.bd-btn:hover{border-color:var(--or);color:var(--or)}

/* ═══ HEADER ═══ */
.hdr{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--dk);border-bottom:1px solid rgba(255,255,255,.07);transition:box-shadow var(--tr)}
.hdr.stuck{box-shadow:0 2px 24px rgba(0,0,0,.45)}
.hdr-top{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:18px}
.hdr-nav{flex:1;display:flex;justify-content:center}
.hdr-nav ul{display:flex;list-style:none;gap:0}
.hdr-nav a{display:block;padding:8px 13px;color:rgba(255,255,255,.73);font-size:.82rem;font-weight:600;font-family:'Montserrat',sans-serif;transition:color var(--tr);position:relative;white-space:nowrap}
.hdr-nav a::after{content:'';position:absolute;bottom:2px;left:13px;right:13px;height:2px;background:var(--or);transform:scaleX(0);transition:transform var(--tr)}
.hdr-nav a:hover{color:var(--wh)} .hdr-nav a:hover::after{transform:scaleX(1)}
.logo{display:flex;align-items:center;gap:10px;color:var(--wh);flex-shrink:0}
.logo-ic{width:36px;height:36px;background:var(--or);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-nm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:var(--wh)}
.logo-nm em{color:var(--or);font-style:normal}
.logo-tg{font-size:.6rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.07em;margin-top:1px}
.hdr-right{display:flex;align-items:center;gap:14px;flex-shrink:0}
.hdr-ph{color:var(--wh);font-family:'Montserrat',sans-serif;font-weight:700;font-size:.93rem;line-height:1}
.hdr-ph small{display:block;font-size:.6rem;font-weight:400;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.to-top{position:fixed;bottom:90px;right:22px;z-index:149;width:44px;height:44px;background:var(--dk);border:1px solid rgba(255,255,255,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease,background var(--tr),border-color var(--tr);pointer-events:none}
.to-top.vis{opacity:1;transform:translateY(0);pointer-events:auto}
.to-top:hover{background:var(--or);border-color:var(--or)}
.to-top svg{transition:transform .2s ease}
.to-top:hover svg{transform:translateY(-2px)}
@media(min-width:769px){.to-top{bottom:32px;right:26px}}
.sc:hover .sc-ic svg path,.sc:hover .sc-ic svg line,.sc:hover .sc-ic svg circle,.sc:hover .sc-ic svg rect,.sc:hover .sc-ic svg polyline{stroke:var(--wh)!important}
.ic:hover .ic-ico svg path,.ic:hover .ic-ico svg line,.ic:hover .ic-ico svg circle,.ic:hover .ic-ico svg rect{stroke:var(--wh)!important}
.cc:hover .cc-ic svg path,.cc:hover .cc-ic svg circle,.cc:hover .cc-ic svg line,.cc:hover .cc-ic svg rect,.cc:hover .cc-ic svg polyline{stroke:var(--wh)!important;fill:none!important}
.cc:hover .cc-ic .f{fill:var(--wh)!important;stroke:none!important}
.brgr{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px;z-index:201;position:relative}
.brgr span{display:block;width:24px;height:2px;background:var(--wh);border-radius:2px;transition:transform .35s ease,opacity .35s ease,width .35s ease}
.brgr.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.brgr.open span:nth-child(2){opacity:0;width:0}
.brgr.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:201;backdrop-filter:blur(3px);opacity:0;transition:opacity .35s ease}
.mnav-overlay.on{display:block;opacity:1}
.mnav{display:block;position:fixed;top:0;right:0;bottom:0;width:min(340px,88vw);background:var(--dk);z-index:202;padding:72px 28px 40px;flex-direction:column;gap:0;overflow-y:auto;transform:translateX(100%);transition:transform .38s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(0,0,0,.35)}
.mnav.on{transform:translateX(0)}
.mnav a{color:var(--wh);font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.05rem;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;transition:color var(--tr)}
.mnav a:hover{color:var(--or)}
.mnav a::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--or);opacity:0;transition:opacity .2s}
.mnav a:hover::before{opacity:1}
.mnav-ph{color:var(--or)!important;font-size:1.25rem;margin-top:24px;border-top:1px solid rgba(255,255,255,.1)!important;border-bottom:none!important;padding-top:20px!important}
.mnav-ph::before{display:none!important}
.mnav-email{color:rgba(255,255,255,.5)!important;font-size:.8rem!important;font-weight:500!important;margin-top:4px;border:none!important;padding:2px 0!important}
.mnav-email::before{display:none!important}
.mnav-x{position:absolute;top:16px;right:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--wh);width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:background var(--tr)}
.mnav-x:hover{background:rgba(181,35,24,.2);color:var(--or)}
.mnav-head{position:absolute;top:18px;left:24px;display:flex;align-items:center;gap:10px}
.mnav-logo-nm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.95rem;color:var(--wh)}
.mnav-logo-nm em{color:var(--or);font-style:normal}
.mnav-sec{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);padding:20px 0 8px;border:none!important;font-size:.65rem}
.mnav-sec::before{display:none!important}
.fl-btn{display:none;position:fixed;bottom:22px;right:22px;z-index:150;background:var(--or);color:var(--wh);width:54px;height:54px;border-radius:50%;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(181,35,24,.5);transition:var(--tr)}
.fl-btn:hover{transform:scale(1.1)}

/* ═══ HERO ═══ */
.hero{background:var(--dk);min-height:100vh;display:flex;align-items:center;padding-top:130px;padding-bottom:60px;position:relative;overflow:hidden}
.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 80% 50%,rgba(181,35,24,.08) 0%,transparent 70%);pointer-events:none}
.hero-layout{display:grid;grid-template-columns:1fr 440px;gap:48px;align-items:stretch;min-height:calc(100vh - 190px)}
.hero-in{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--or);padding:0;border-radius:0;font-size:.78rem;font-weight:700;font-family:'Montserrat',sans-serif;margin-bottom:18px;letter-spacing:.08em;text-transform:uppercase}
.hero h1{color:var(--wh);margin-bottom:16px;letter-spacing:-.025em}
.hero h1 .ac{color:var(--or)}
.hero-d{color:rgba(255,255,255,.65);font-size:1.03rem;line-height:1.72;margin-bottom:30px;max-width:530px}
.hero-ctas{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:44px}
.hero-tr{display:flex;flex-wrap:wrap;gap:0;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.ti{padding-right:24px;margin-right:24px;border-right:1px solid rgba(255,255,255,.12)}
.ti:last-child{border-right:none;margin-right:0;padding-right:0}
.ti-n{font-family:'Montserrat',sans-serif;font-size:1.65rem;font-weight:800;color:var(--wh)}
.ti-n em{color:var(--or);font-style:normal}
.ti-l{font-size:.75rem;color:rgba(255,255,255,.45);line-height:1.35;margin-top:2px}
.hero-promo{position:relative;z-index:2;display:flex;flex-direction:column;padding:0}
.hp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-shrink:0}
.hp-title{font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.hp-dots{display:flex;gap:5px}
.hp-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);cursor:pointer;transition:background var(--tr)}
.hp-dot.on{background:var(--or)}
.hp-slides{overflow:hidden;flex:1;display:flex;flex-direction:column}
.hp-track{display:flex;transition:transform .45s ease;flex:1}
.hp-card{flex-shrink:0;width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);border-radius:var(--r);padding:28px;cursor:pointer;transition:border-color var(--tr);display:flex;flex-direction:column}
.hp-card:hover{border-color:rgba(181,35,24,.4)}
.hp-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;flex-shrink:0}
.hp-badge{background:var(--or);color:var(--wh);font-size:.7rem;font-weight:700;font-family:'Montserrat',sans-serif;padding:5px 12px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}
.hp-avail{font-size:.73rem;color:rgba(255,255,255,.45);font-family:'Montserrat',sans-serif;padding-top:4px}
.hp-name{color:var(--wh);font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.05rem;line-height:1.4;margin-bottom:20px;flex-shrink:0}
.hp-specs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px;flex-shrink:0}
.hp-img{flex:1;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.1);border-radius:8px;margin:0 0 6px;min-height:0;overflow:hidden;position:relative}
.hp-img-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;width:100%;height:100%}
.hp-img-label{font-family:'Montserrat',sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.22);text-transform:uppercase}
.hp-sp{background:rgba(255,255,255,.06);border-radius:6px;padding:12px 10px;text-align:center}
.hp-sp-k{font-size:.65rem;color:rgba(255,255,255,.4);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}
.hp-sp-v{font-size:.88rem;font-weight:700;color:var(--wh);font-family:'Montserrat',sans-serif}
.hp-price{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}
.hp-prices{display:flex;flex-direction:column;gap:3px}
.hp-old{color:rgba(255,255,255,.35);font-size:.82rem;text-decoration:line-through}
.hp-new{color:var(--or);font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.3rem}
.hp-btn{background:var(--or);color:var(--wh);font-size:.8rem;font-weight:700;font-family:'Montserrat',sans-serif;padding:11px 22px;border-radius:7px;border:none;cursor:pointer;transition:var(--tr);letter-spacing:.02em}
.hp-btn:hover{background:var(--orh);transform:translateY(-1px)}
.hp-nav{display:flex;gap:8px;margin-top:14px;justify-content:center;flex-shrink:0}
.hp-arr{width:36px;height:36px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,.6);font-size:.95rem;transition:var(--tr)}
.hp-arr:hover{background:rgba(181,35,24,.25);border-color:var(--or);color:var(--wh)}

/* ═══ BRANDS ═══ */
.brands-sec{background:var(--dk);border-top:1px solid rgba(255,255,255,.07);padding:22px 0}
.br-row{overflow:hidden}
.br-track{display:flex;align-items:center;gap:32px;animation:brand-scroll 24s linear infinite}
.br-track:hover{animation-play-state:paused}
.br-it{flex-shrink:0;color:rgba(255,255,255,.25);font-family:'Montserrat',sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transition:color var(--tr)}
.br-it:hover{color:rgba(255,255,255,.55)}
.br-sep{flex-shrink:0;width:1px;height:18px;background:rgba(255,255,255,.1)}
@keyframes brand-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══ CATEGORIES ═══ */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cc{background:var(--wh);border:1px solid var(--bd);border-radius:var(--r);padding:24px 20px;transition:var(--tr);display:block;position:relative;overflow:hidden}
.cc::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--or);transform:scaleY(0);transform-origin:bottom;transition:transform var(--tr)}
.cc:hover{border-color:var(--or);box-shadow:0 8px 28px rgba(181,35,24,.1);transform:translateY(-4px)}
.cc:hover::before{transform:scaleY(1)}
.cc-ic{width:50px;height:50px;background:rgba(181,35,24,.08);border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:background var(--tr)}
.cc:hover .cc-ic{background:var(--or)}
.cc h3{font-size:.98rem;margin-bottom:7px;color:var(--tx)}
.cc p{font-size:.845rem;color:var(--mu);line-height:1.5;margin-bottom:12px}
.cc-lnk{display:inline-flex;align-items:center;gap:5px;font-size:.845rem;font-weight:600;color:var(--or);font-family:'Montserrat',sans-serif}

/* ═══ ADVANTAGES ═══ */
.adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.adv-list{display:flex;flex-direction:column;gap:15px;margin-top:6px}
.adv-it{display:flex;align-items:flex-start;gap:13px}
.adv-ic{width:42px;height:42px;background:transparent;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.adv-ic svg path,.adv-ic svg line,.adv-ic svg circle,.adv-ic svg rect,.adv-ic svg polyline{stroke:var(--tx)!important}
.adv-bd h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.925rem;margin-bottom:3px}
.adv-bd p{font-size:.845rem;color:var(--mu);margin:0}
.adv-vis{background:var(--dk);border-radius:var(--r);padding:28px;overflow:hidden}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.si{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--rs);padding:18px 16px}
.sn{font-family:'Montserrat',sans-serif;font-size:1.85rem;font-weight:800;color:var(--wh);line-height:1}
.sn em{color:var(--or);font-style:normal}
.sl{font-size:.76rem;color:rgba(255,255,255,.45);margin-top:4px;line-height:1.4}
.rvbox{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--rs);padding:16px}
.rvtxt{color:rgba(255,255,255,.72);font-size:.84rem;line-height:1.6;margin-bottom:12px}
.rvaut{display:flex;align-items:center;gap:9px}
.rvav{width:34px;height:34px;background:var(--or);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--wh);font-weight:700;font-size:.85rem;flex-shrink:0}
.rvnm{color:var(--wh);font-size:.83rem;font-weight:600}
.rvps{color:rgba(255,255,255,.4);font-size:.72rem}

/* ═══ PRODUCTS ═══ */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pc{background:var(--wh);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;transition:var(--tr)}
.pc:hover{box-shadow:0 12px 40px rgba(10,30,70,.14);transform:translateY(-4px)}
.pi{height:165px;background:linear-gradient(135deg,#152d52 0%,#0b1c34 100%);display:flex;align-items:center;justify-content:center;position:relative}
.p-badge{position:absolute;top:11px;left:11px;background:var(--or);color:var(--wh);font-size:.67rem;font-weight:700;font-family:'Montserrat',sans-serif;padding:3px 9px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}
.p-in{position:absolute;top:11px;right:11px;background:rgba(255,255,255,.15);backdrop-filter:blur(4px);color:var(--wh);font-size:.67rem;font-weight:700;font-family:'Montserrat',sans-serif;padding:3px 9px;border-radius:4px}
.pb{padding:16px}
.pb h3{font-size:.9375rem;margin-bottom:5px}
.pb p{font-size:.83rem;color:var(--mu);margin-bottom:11px;line-height:1.5}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;margin-bottom:12px;background:var(--lt);border-radius:6px;padding:10px 12px}
.sp{display:flex;justify-content:space-between;align-items:center;font-size:.74rem}
.sp-k{color:var(--mu)} .sp-v{font-weight:700;color:var(--tx);font-family:'Montserrat',sans-serif}
.pf{display:flex;align-items:center;justify-content:space-between;padding-top:11px;border-top:1px solid var(--bd)}
.pfrom{font-size:.71rem;color:var(--mu)} .pval{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.05rem;color:var(--tx)}

/* ═══ INDUSTRY ═══ */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ic{background:var(--dk);border:1px solid rgba(255,255,255,.07);border-radius:var(--r);padding:20px 16px;transition:var(--tr);display:block}
.ic:hover{border-color:var(--or);transform:translateY(-3px);background:var(--dk2)}
.ic-ico{width:42px;height:42px;background:rgba(181,35,24,.15);border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;transition:background var(--tr)}
.ic:hover .ic-ico{background:var(--or)}
.ic h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.855rem;margin-bottom:5px;color:var(--wh)}
.ic p{font-size:.79rem;color:rgba(255,255,255,.5);line-height:1.5}

/* ═══ SERVICES ═══ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sc{background:var(--dk);border-radius:var(--r);padding:26px 22px;transition:var(--tr);display:block;border:1px solid rgba(255,255,255,.05)}
.sc:hover{background:var(--dk2);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3);border-color:rgba(181,35,24,.2)}
.sc-ic{width:46px;height:46px;background:rgba(181,35,24,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:background var(--tr)}
.sc:hover .sc-ic{background:var(--or)}
.sc h3{font-size:.98rem;color:var(--wh);margin-bottom:8px}
.sc p{font-size:.84rem;color:rgba(255,255,255,.55);line-height:1.6;margin-bottom:14px}
.sc-lnk{color:var(--or);font-size:.84rem;font-weight:600;font-family:'Montserrat',sans-serif;display:inline-flex;align-items:center;gap:5px}

/* ═══ PROCESS ═══ */
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
.proc::before{content:'';position:absolute;top:29px;left:12%;right:12%;height:1px;background:var(--bd)}
.ps{text-align:center;position:relative;z-index:1}
.psn{width:58px;height:58px;background:var(--wh);border:2px solid var(--or);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-size:1.2rem;font-weight:800;color:var(--or);margin:0 auto 14px}
.ps h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.875rem;margin-bottom:6px}
.ps p{font-size:.82rem;color:var(--mu);line-height:1.55}

/* ═══ CLIENTS ═══ */
.cl-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}
.cl{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rs);padding:13px 9px;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.cl:hover{border-color:var(--or);box-shadow:0 4px 14px rgba(181,35,24,.1)}
.cl-nm{font-family:'Montserrat',sans-serif;font-size:.67rem;font-weight:700;color:var(--mu);text-align:center;line-height:1.3;text-transform:uppercase;letter-spacing:.04em}

/* ═══ NEWS ═══ */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.nc{background:var(--wh);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;transition:var(--tr);display:block}
.nc:hover{box-shadow:0 8px 28px rgba(10,30,70,.1);transform:translateY(-3px)}
.nc-img{height:120px;background:var(--dk);display:flex;align-items:center;justify-content:center;position:relative}
.nc-cat{position:absolute;top:10px;left:10px;background:var(--or);color:var(--wh);font-size:.65rem;font-weight:700;font-family:'Montserrat',sans-serif;padding:3px 9px;border-radius:4px;text-transform:uppercase}
.nc-b{padding:15px}
.nc-dt{font-size:.72rem;color:var(--mu);margin-bottom:6px}
.nc h3{font-size:.875rem;margin-bottom:7px;line-height:1.4}
.nc p{font-size:.82rem;color:var(--mu);line-height:1.5}

/* ═══ FAQ ═══ */
.faq-w{max-width:800px;margin:0 auto}
.fi{border:1px solid var(--bd);border-radius:var(--rs);margin-bottom:9px;overflow:hidden}
.fq{width:100%;background:none;border:none;text-align:left;padding:17px 22px;font-family:'Montserrat',sans-serif;font-size:.9125rem;font-weight:700;color:var(--tx);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;transition:background var(--tr)}
.fq:hover,.fq.on{background:var(--lt)}
.fic{width:24px;height:24px;background:var(--dk);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--wh);font-size:.85rem;transition:transform var(--tr)}
.fq.on .fic{transform:rotate(45deg);background:var(--or)}
.fa{max-height:0;overflow:hidden;transition:max-height .35s ease}
.fa.on{max-height:500px}
.fa-in{padding:0 22px 17px;font-size:.87rem;color:var(--mu);line-height:1.72}

/* ═══ CTA ═══ */
.cta-s{background:var(--dk);padding:72px 0}
.cta-in{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.cta-t h2{color:var(--wh);margin-bottom:12px}
.cta-t p{color:rgba(255,255,255,.58);font-size:.98rem;margin-bottom:22px}
.cta-pts{display:flex;flex-direction:column;gap:10px;margin-bottom:26px}
.cta-pt{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.68);font-size:.87rem}
.cta-pt em{color:var(--or);font-style:normal;font-weight:700;flex-shrink:0;font-size:1rem}
.trow{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.tag{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);border-radius:20px;padding:4px 11px;font-size:.73rem;color:rgba(255,255,255,.55);font-family:'Montserrat',sans-serif}
.cta-pb{padding-top:24px;border-top:1px solid rgba(255,255,255,.1);margin-top:24px}
.cta-pl{font-size:.7rem;font-weight:600;color:rgba(255,255,255,.38);text-transform:uppercase;letter-spacing:.07em;font-family:'Montserrat',sans-serif;margin-bottom:5px}
.cta-pn{color:var(--wh);font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:800;display:block}
.cta-ps{color:rgba(255,255,255,.35);font-size:.77rem;margin-top:3px}
.fb{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:26px}
.ft{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--wh);font-size:.98rem;margin-bottom:16px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.fc{display:flex;flex-direction:column;gap:5px}
.fc label{font-size:.7rem;font-weight:600;color:rgba(255,255,255,.48);text-transform:uppercase;letter-spacing:.06em;font-family:'Montserrat',sans-serif}
.fc input,.fc select,.fc textarea{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:var(--rs);padding:11px 13px;color:var(--wh);font-size:.87rem;font-family:'Inter',sans-serif;outline:none;transition:border var(--tr);width:100%}
.fc input::placeholder,.fc textarea::placeholder{color:rgba(255,255,255,.28)}
.fc input:focus,.fc select:focus,.fc textarea:focus{border-color:var(--or)}
.fc select option{background:var(--dk);color:var(--wh)}
.fw{margin-bottom:10px}
.fprv{font-size:.71rem;color:rgba(255,255,255,.35);margin-top:7px;line-height:1.45}
.fprv a{color:rgba(255,255,255,.52);text-decoration:underline}

/* ═══ SEO ═══ */
.seo-s{padding:50px 0;background:var(--lt)}
.seo-c{columns:2;gap:36px}
.seo-c p{font-size:.855rem;color:var(--mu);line-height:1.82;margin-bottom:13px;break-inside:avoid}
.seo-c h3{font-size:.94rem;color:var(--tx);margin-bottom:7px;break-inside:avoid}

/* ═══ FOOTER ═══ */
footer{background:#07101E;padding:50px 0 22px;color:rgba(255,255,255,.58)}
.ftg{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:38px;margin-bottom:38px}
.fc2 h4{font-family:'Montserrat',sans-serif;font-size:.73rem;font-weight:700;color:rgba(255,255,255,.26);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
.fc2 ul{list-style:none}
.fc2 ul li{margin-bottom:8px}
.fc2 ul a{color:rgba(255,255,255,.55);font-size:.845rem;transition:color var(--tr)}
.fc2 ul a:hover{color:var(--wh)}
.ft-about p{font-size:.845rem;line-height:1.7;margin-bottom:14px}
.ft-ph{font-family:'Montserrat',sans-serif;font-size:.98rem;font-weight:700;color:var(--wh);display:block;margin-bottom:2px}
.ft-free{font-size:.72rem;color:rgba(255,255,255,.35)}
.ft-adr{font-size:.78rem;color:rgba(255,255,255,.38);margin-top:9px;line-height:1.55}
.ftb{border-top:1px solid rgba(255,255,255,.07);padding-top:18px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px}
.ftb p{font-size:.78rem}
.ftlinks{display:flex;gap:16px}
.ftlinks a{font-size:.78rem;color:rgba(255,255,255,.35);transition:color var(--tr)}
.ftlinks a:hover{color:var(--wh)}

/* ═══ 404 ═══ */
.not-found{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--dk);text-align:center;padding:40px 20px}
.not-found h1{color:var(--or);font-size:8rem;line-height:1;margin-bottom:16px}
.not-found h2{color:var(--wh);font-size:1.5rem;margin-bottom:12px}
.not-found p{color:rgba(255,255,255,.55);margin-bottom:30px}

/* ═══ ANIMATIONS ═══ */
.rv{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.rv.vis{opacity:1;transform:none}
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s}

/* ═══ MODAL ═══ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease;backdrop-filter:blur(4px)}
.modal-overlay.on{opacity:1;pointer-events:auto}
.modal-box{background:var(--dk);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:480px;padding:36px 32px 28px;position:relative;transform:translateY(20px) scale(.97);transition:transform .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 24px 80px rgba(0,0,0,.55)}
.modal-overlay.on .modal-box{transform:translateY(0) scale(1)}
.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,.6);transition:var(--tr);border:none}
.modal-close:hover{background:rgba(181,35,24,.18);color:var(--or)}
.modal-badge{display:inline-flex;align-items:center;gap:6px;color:var(--or);font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.modal-box h2{color:var(--wh);font-size:1.4rem;margin-bottom:8px;letter-spacing:-.02em}
.modal-sub{color:rgba(255,255,255,.5);font-size:.875rem;line-height:1.6;margin-bottom:22px}
.mf{display:flex;flex-direction:column;gap:11px}
.mf-field{display:flex;flex-direction:column;gap:5px}
.mf-field label{font-size:.7rem;font-weight:600;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.07em;font-family:'Montserrat',sans-serif}
.mf-field input,.mf-field textarea{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:var(--rs);padding:13px 15px;color:var(--wh);font-size:.9rem;font-family:'Inter',sans-serif;outline:none;transition:border var(--tr);width:100%}
.mf-field input::placeholder,.mf-field textarea::placeholder{color:rgba(255,255,255,.3)}
.mf-field input:focus,.mf-field textarea:focus{border-color:var(--or)}
.mf-prv{font-size:.71rem;color:rgba(255,255,255,.3);line-height:1.45;margin-top:2px}
.mf-prv a{color:rgba(255,255,255,.5);text-decoration:underline}
.modal-success{display:none;flex-direction:column;align-items:center;text-align:center;padding:16px 0}
.modal-success.on{display:flex}
.ms-icon{width:68px;height:68px;background:rgba(181,35,24,.12);border:2px solid var(--or);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.ms-icon svg path{stroke:var(--or)}
.ms-title{font-family:'Montserrat',sans-serif;font-size:1.35rem;font-weight:800;color:var(--wh);margin-bottom:10px}
.ms-txt{color:rgba(255,255,255,.55);font-size:.9rem;line-height:1.65;margin-bottom:24px}
.ms-ph{display:block;color:var(--or);font-family:'Montserrat',sans-serif;font-size:1.2rem;font-weight:800;margin-bottom:4px}
.ms-phsub{color:rgba(255,255,255,.35);font-size:.78rem}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1024px){
  .hero-layout{grid-template-columns:1fr;gap:40px}
  .hero-promo{max-width:480px}
  .cat-grid,.prod-grid{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .cl-grid{grid-template-columns:repeat(3,1fr)}
  .ftg{grid-template-columns:1fr 1fr;gap:26px}
  .adv-grid{gap:36px}
}
@media(max-width:768px){
  .s{padding:48px 0}
  .hdr-nav,.hdr-right .btn-hdr,.hdr-contact{display:none}
  .brgr{display:flex}
  .hero{padding-top:74px;min-height:auto}
  .hero-layout{grid-template-columns:1fr;min-height:auto}
  .hero-promo{display:none}
  .adv-grid,.cta-in,.proc,.cat-grid,.prod-grid,.svc-grid,.ind-grid,.news-grid{grid-template-columns:1fr}
  .hero-tr{gap:14px}
  .ti{border-right:none;padding-right:0;margin-right:0;padding-bottom:7px}
  .proc::before{display:none}
  .fr{grid-template-columns:1fr}
  .cl-grid{grid-template-columns:repeat(2,1fr)}
  .ftg{grid-template-columns:1fr}
  .ftb{flex-direction:column;text-align:center}
  .seo-c{columns:1}
  .fl-btn{display:flex}
}
@media(max-width:480px){
  .hero-ctas{flex-direction:column}
  .hero-ctas .btn{width:100%;justify-content:center}
  .sg{grid-template-columns:1fr 1fr}
  .modal-box{padding:28px 20px 22px}
  .modal-box h2{font-size:1.2rem}
}

/* ═══════════════════════════════════════
   УНИВЕРСАЛ-ЭМ — дополнительные стили
═══════════════════════════════════════ */

/* Переопределяем акцентный цвет под тему электрика (тёмно-синий + синий) */
:root {
  --dk:  #0D1B2E;
  --dk2: #152440;
  --or:  #1A6EBF;
  --orh: #145DA8;
  --ok:  #1B7F4A;
  --gold:#B8892A;
}
.logo-nm em { color: #7EB8F7; }

/* Topbar */
.topbar { background: #080F1A; color: rgba(255,255,255,.45); font-size:.8rem; padding: 7px 0; border-bottom:1px solid rgba(255,255,255,.05); }
.topbar .w { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; }
.topbar-l,.topbar-r { display:flex; gap:18px; flex-wrap:wrap; }
.topbar a { color:rgba(255,255,255,.45); }
.topbar a:hover { color:var(--wh); }

/* Hero overrides */
.hero { background:linear-gradient(135deg,#0D1B2E 0%,#1E3A5F 60%,#1E3D6F 100%); padding:0; position:relative; overflow:hidden; }
.hero::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M0 60L60 0M-10 10L10-10M50 70L70 50' stroke='rgba(255,255,255,0.025)' stroke-width='1'/%3E%3C/svg%3E"); }
.hero-layout { position:relative; display:grid; grid-template-columns:1fr 400px; gap:60px; align-items:center; padding:80px 0 70px; }
.hero-in { }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(26,110,191,.2); border:1px solid rgba(26,110,191,.4); color:#7EB8F7; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:20px; margin-bottom:20px; }
h1 .ac { color:#7EB8F7; }
.hero-d { color:#9BB5D0; font-size:1.03rem; line-height:1.7; margin-bottom:28px; max-width:520px; }
.hero-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:36px; }
.hero-tr { display:flex; gap:28px; flex-wrap:wrap; }
.ti { text-align:center; }
.ti-n { font-family:'Montserrat',sans-serif; font-weight:800; color:var(--wh); font-size:1.9rem; line-height:1; }
.ti-n em { font-size:1rem; font-style:normal; color:#7EB8F7; }
.ti-l { color:#9BB5D0; font-size:.72rem; margin-top:4px; }

/* Hero card */
.hero-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:28px; backdrop-filter:blur(10px); }
.hero-card-title { color:var(--wh); font-weight:700; font-size:1.05rem; margin-bottom:20px; font-family:'Montserrat',sans-serif; }
.hero-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
.hero-stat { text-align:center; }
.stat-num { font-family:'Montserrat',sans-serif; font-weight:800; color:var(--wh); font-size:1.8rem; line-height:1; }
.stat-num em { font-size:.9rem; font-style:normal; color:#7EB8F7; }
.stat-lbl { color:#9BB5D0; font-size:.7rem; margin-top:4px; }
.hcard-div { height:1px; background:rgba(255,255,255,.1); margin:18px 0; }
.hcard-cert { display:flex; align-items:center; gap:10px; padding:12px 14px; background:rgba(26,110,191,.15); border-radius:8px; margin-bottom:14px; }
.hcard-cert svg { color:#7EB8F7; flex-shrink:0; }
.hcard-cert strong { color:var(--wh); display:block; font-size:.82rem; }
.hcard-cert div { color:#9BB5D0; font-size:.72rem; line-height:1.4; }
.hcard-trust { display:flex; flex-direction:column; gap:6px; }
.hcard-trust div { display:flex; align-items:center; gap:8px; color:#9BB5D0; font-size:.78rem; }
.hcard-trust svg { color:#7EB8F7; flex-shrink:0; }

/* Quick benefits strip */
.qb-strip { background:#0A1525; border-bottom:1px solid rgba(255,255,255,.06); }
.qb-row { display:grid; grid-template-columns:repeat(4,1fr); }
.qb-item { display:flex; align-items:center; gap:14px; padding:22px 24px; border-right:1px solid rgba(255,255,255,.07); }
.qb-item:last-child { border-right:none; }
.qb-ic { width:42px; height:42px; background:rgba(26,110,191,.15); border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.qb-ic svg { color:var(--or); }
.qb-lbl { color:var(--wh); font-weight:600; font-size:.88rem; line-height:1.2; }
.qb-sub { color:rgba(255,255,255,.4); font-size:.72rem; margin-top:2px; }

/* Section header */
.s-hd { text-align:center; margin-bottom:44px; }

/* Services grid */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.svc-card { background:var(--wh); border:1.5px solid var(--bd); border-radius:14px; padding:28px 24px; transition:all .25s; position:relative; overflow:hidden; color:var(--tx); }
.svc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--or); transform:scaleX(0); transition:transform .25s; transform-origin:left; }
.svc-card:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(13,27,46,.1); border-color:var(--or); }
.svc-card:hover::before { transform:scaleX(1); }
.svc-ic { width:48px; height:48px; background:var(--lt); border-radius:8px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; transition:background .25s; }
.svc-card:hover .svc-ic { background:rgba(26,110,191,.1); }
.svc-ic svg { color:var(--or); }
.svc-arr { position:absolute; top:22px; right:20px; color:var(--bd); transition:color .25s; }
.svc-card:hover .svc-arr { color:var(--or); }
.svc-title { font-weight:700; font-size:1rem; margin-bottom:8px; }
.svc-desc { color:var(--mu); font-size:.83rem; line-height:1.55; margin-bottom:12px; }
.svc-price { color:var(--or); font-weight:600; font-size:.82rem; }

/* Price table */
.price-tbl { background:var(--wh); border:1px solid var(--bd); border-radius:14px; overflow:hidden; }
.price-tbl table { width:100%; border-collapse:collapse; }
.price-tbl thead th { background:var(--dk); color:var(--wh); font-weight:600; font-size:.82rem; padding:14px 20px; text-align:left; }
.price-tbl tbody tr { border-bottom:1px solid var(--bd); transition:background .15s; }
.price-tbl tbody tr:last-child { border-bottom:none; }
.price-tbl tbody tr:hover { background:var(--lt); }
.price-tbl td { padding:13px 20px; font-size:.88rem; }
.price-tbl td:last-child { font-weight:700; color:var(--or); text-align:right; white-space:nowrap; }
.price-cat td { background:var(--lt) !important; font-weight:700 !important; font-size:.72rem !important; color:var(--dk) !important; letter-spacing:.07em; text-transform:uppercase; padding:10px 20px !important; }

/* Steps */
.steps-row { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; }
.steps-row::before { content:''; position:absolute; top:30px; left:12.5%; right:12.5%; height:1px; background:var(--bd); z-index:0; }
.step-item { text-align:center; position:relative; z-index:1; }
.step-num { width:60px; height:60px; margin:0 auto 16px; background:var(--wh); border:2px solid var(--or); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.25rem; color:var(--or); }
.step-title { font-weight:700; font-size:.95rem; margin-bottom:8px; }
.step-desc { color:var(--mu); font-size:.83rem; line-height:1.55; }

/* Why grid */
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.why-card { background:var(--wh); border:1.5px solid var(--bd); border-radius:14px; padding:28px 24px; }
.why-ic { width:52px; height:52px; border-radius:8px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.ic-blue { background:rgba(26,110,191,.1); } .ic-blue svg { color:var(--or); }
.ic-green { background:rgba(27,127,74,.1); } .ic-green svg { color:var(--ok); }
.ic-gold { background:rgba(184,137,42,.1); } .ic-gold svg { color:var(--gold); }
.why-title { font-weight:700; font-size:.97rem; margin-bottom:8px; }
.why-text { color:var(--mu); font-size:.85rem; line-height:1.6; }

/* Reviews */
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.review-card { background:var(--wh); border:1.5px solid var(--bd); border-radius:14px; padding:24px; }
.review-hd { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.review-av { width:44px; height:44px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-weight:700; color:var(--wh); font-size:1.1rem; }
.review-nm { font-weight:600; font-size:.95rem; }
.review-dt { color:var(--mu); font-size:.75rem; margin-top:2px; }
.review-stars { color:var(--gold); letter-spacing:2px; font-size:.88rem; margin-bottom:10px; }
.review-txt { color:var(--mu); font-size:.85rem; line-height:1.6; }
.review-svc { display:inline-block; margin-top:12px; background:var(--lt); color:var(--dk); font-size:.7rem; font-weight:600; padding:3px 10px; border-radius:20px; }

/* FAQ */
.faq-wrap { max-width:780px; margin:0 auto; }
.faq-item { border:1.5px solid var(--bd); border-radius:8px; margin-bottom:10px; overflow:hidden; }
.fq { display:flex; align-items:center; justify-content:space-between; width:100%; padding:18px 22px; cursor:pointer; font-weight:600; font-size:.95rem; background:var(--wh); transition:background .15s; gap:12px; border:none; text-align:left; font-family:'Inter',sans-serif; color:var(--tx); }
.fq:hover { background:var(--lt); }
.fq svg { flex-shrink:0; transition:transform .3s; color:var(--or); }
.fq.on svg { transform:rotate(180deg); }
.fa { display:none; padding:0 22px 18px; color:var(--mu); font-size:.88rem; line-height:1.65; border-top:1px solid var(--bd); }
.fa.on { display:block; }
.fa p { padding-top:16px; }

/* CTA section */
.cta-section { background:linear-gradient(135deg,var(--dk) 0%,#1E3A5F 100%); padding:72px 0; }
.cta-in { text-align:center; }
.cta-in h2 { color:var(--wh); margin-bottom:12px; }
.cta-acts { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:28px; }
.cta-ph { display:flex; align-items:center; gap:10px; color:var(--wh); font-family:'Montserrat',sans-serif; font-weight:700; font-size:1.25rem; margin-top:20px; justify-content:center; }
.cta-ph svg { color:#7EB8F7; }

/* Footer specific */
.ft-ph { display:block; color:var(--wh); font-family:'Montserrat',sans-serif; font-weight:700; font-size:1.1rem; margin:12px 0 4px; }
.ft-free { color:rgba(255,255,255,.4); font-size:.75rem; }
.ft-adr { margin-top:8px; }
footer { background:var(--dk); color:rgba(255,255,255,.5); padding:0; }
.ftg { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding:56px 0 40px; }
.fc2 h4 { color:var(--wh); font-weight:700; font-size:.88rem; margin-bottom:16px; }
.fc2 ul { list-style:none; }
.fc2 ul li { margin-bottom:9px; }
.fc2 ul a { color:rgba(255,255,255,.5); font-size:.83rem; transition:color .2s; }
.fc2 ul a:hover { color:var(--wh); }
.ft-about p { font-size:.82rem; line-height:1.65; margin-top:14px; max-width:260px; }
.ftb { border-top:1px solid rgba(255,255,255,.07); display:flex; justify-content:space-between; align-items:center; padding:18px 0; flex-wrap:wrap; gap:10px; }
.ftb p,.ftb div { font-size:.75rem; }
.ftlinks { display:flex; gap:18px; flex-wrap:wrap; }
.ftlinks a { color:rgba(255,255,255,.4); font-size:.75rem; }
.ftlinks a:hover { color:var(--wh); }

/* Modal extras */
.modal-overlay { position:fixed; inset:0; z-index:9000; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .25s; padding:16px; }
.modal-overlay.on { opacity:1; pointer-events:all; }
.modal-box { background:var(--wh); border-radius:14px; width:100%; max-width:460px; position:relative; box-shadow:0 24px 80px rgba(0,0,0,.3); overflow:hidden; }
.modal-box #modalForm { padding:28px; }
.modal-badge { display:inline-flex; align-items:center; gap:6px; color:var(--or); font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; margin-bottom:10px; }
.modal-box h2 { font-size:1.2rem; margin-bottom:6px; color:var(--dk); }
.modal-sub { color:var(--mu); font-size:.85rem; margin-bottom:20px; line-height:1.55; }
.mf-field { margin-bottom:16px; }
.mf-field label { display:block; font-weight:600; font-size:.8rem; margin-bottom:5px; color:var(--tx); }
.mf-field input,.mf-field textarea { width:100%; border:1.5px solid var(--bd); border-radius:8px; padding:11px 14px; font-size:.9rem; font-family:'Inter',sans-serif; color:var(--tx); transition:border-color .2s; outline:none; }
.mf-field input:focus,.mf-field textarea:focus { border-color:var(--or); }
.mf-field textarea { resize:vertical; min-height:80px; }
.mf-prv { color:var(--mu); font-size:.72rem; margin-top:10px; text-align:center; line-height:1.5; }
.mf-prv a { color:var(--or); }
.modal-close { position:absolute; top:14px; right:14px; background:var(--lt); border:none; color:var(--mu); width:30px; height:30px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; z-index:1; }
.modal-close:hover { background:var(--bd); }
.modal-success { display:none; padding:40px 28px; text-align:center; }
.modal-success.on { display:block; }
.ms-icon { width:64px; height:64px; background:rgba(27,127,74,.1); border-radius:50%; margin:0 auto 20px; display:flex; align-items:center; justify-content:center; }
.ms-icon svg { color:var(--ok); }
.ms-title { font-family:'Montserrat',sans-serif; font-weight:700; font-size:1.3rem; margin-bottom:10px; }
.ms-txt { color:var(--mu); font-size:.9rem; line-height:1.6; }
.ms-ph { display:block; color:var(--or); font-family:'Montserrat',sans-serif; font-weight:700; font-size:1.2rem; margin-top:16px; }
.ms-phsub { color:var(--mu); font-size:.75rem; margin-top:4px; }

/* Floating button */
.fl-btn { position:fixed; bottom:80px; right:20px; z-index:150; width:48px; height:48px; background:var(--or); border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(26,110,191,.5); transition:transform .2s,background .2s; }
.fl-btn:hover { transform:scale(1.1); background:var(--orh); }
@media(min-width:769px){ .fl-btn { display:none; } }

/* Scroll reveal */
.rv { opacity:0; transform:translateY(20px); transition:opacity .55s ease,transform .55s ease; }
.rv.vis { opacity:1; transform:translateY(0); }

/* ── Responsive ── */
@media(max-width:1024px){
  .hero-layout { grid-template-columns:1fr; gap:40px; }
  .hero-stat-grid { grid-template-columns:repeat(4,1fr); }
  .qb-row { grid-template-columns:repeat(2,1fr); }
  .qb-item:nth-child(2){ border-right:none; }
  .svc-grid { grid-template-columns:repeat(2,1fr); }
  .ftg { grid-template-columns:1fr 1fr; }
}
@media(max-width:768px){
  .topbar { display:none; }
  .hero-layout { padding:50px 0 40px; }
  .hero-stat-grid { grid-template-columns:repeat(2,1fr); }
  .steps-row { grid-template-columns:1fr 1fr; gap:20px; }
  .steps-row::before { display:none; }
  .svc-grid { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .reviews-grid { grid-template-columns:1fr; }
  .ftg { grid-template-columns:1fr; gap:28px; padding:36px 0 28px; }
  .ftb { flex-direction:column; text-align:center; }
  .price-tbl { overflow-x:auto; }
}
@media(max-width:480px){
  .qb-row { grid-template-columns:1fr; }
  .qb-item { border-right:none; border-bottom:1px solid rgba(255,255,255,.07); }
  .steps-row { grid-template-columns:1fr; }
  .hero-ctas { flex-direction:column; }
  .hero-ctas .btn { width:100%; justify-content:center; }
  .cta-acts { flex-direction:column; align-items:center; }
}
