/* ============================================================
   intact — общие стили статической выгрузки (WordPress / Elementor)
   Подключается во всех страницах. Раскладка секций — на inline-стилях
   в разметке; здесь только сброс, шрифт, адаптив, меню и хелперы.
   ============================================================ */

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Onest',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#0B1020;background:#fff;-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit}
::selection{background:#0A2FE0;color:#fff}

@keyframes floatUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- Header / nav ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #E9ECF4}
.site-header__bar{max-width:1280px;margin:0 auto;padding:0 40px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-logo img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}
.nav__link{padding:10px 16px;font-size:15px;font-weight:500;color:#5A6478;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.nav__link:hover{color:#0B1020}
.nav__link.is-active{color:#0B1020;font-weight:600}
.header-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;background:#0A2FE0;color:#fff;font-weight:600;font-size:15px;padding:12px 22px;border-radius:11px;white-space:nowrap}
.header-cta:hover{background:#0926B8}

/* mega menu (CSS-hover на десктопе) */
.has-mega{position:relative}
.mega{position:absolute;top:72px;left:50%;transform:translateX(-50%);width:1100px;max-width:calc(100vw - 48px);background:#fff;border:1px solid #E9ECF4;border-radius:20px;box-shadow:0 24px 60px rgba(11,16,32,.14);padding:32px;display:grid;grid-template-columns:repeat(4,1fr) 250px;gap:28px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease}
.has-mega:hover .mega{opacity:1;visibility:visible;pointer-events:auto;animation:floatUp .18s ease}
.mega__col-title{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#0A2FE0;margin-bottom:14px}
.mega__col-title a{color:#0A2FE0}
.mega__link{display:block;font-size:14.5px;color:#3A4252;padding:7px 0;font-weight:500}
.mega__link:hover{color:#0A2FE0}
.mega__cta{background:#0A2FE0;border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.mega__cta-btn{margin-top:18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:#0A2FE0;font-weight:600;font-size:14.5px;padding:12px 18px;border-radius:11px}

/* burger + mobile panel */
.burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;border:1px solid #DCE1EC;background:#fff;cursor:pointer;flex-shrink:0;order:3}
.mobile-nav{display:none;position:sticky;top:72px;z-index:49;background:#fff;border-bottom:1px solid #E9ECF4;padding:16px 20px;flex-direction:column;gap:2px}
.mobile-nav.is-open{display:flex}
.mobile-nav a{padding:13px 8px;font-size:16px;font-weight:600;border-bottom:1px solid #F1F3F8;color:#0B1020}
.mobile-nav a:last-child{border-bottom:none}
.mobile-nav .mobile-cta{margin-top:12px;text-align:center;background:#0A2FE0;color:#fff;border-radius:11px;border-bottom:none;padding:14px}

/* ---------- Footer ---------- */
.site-footer{background:#0B1020;color:#fff}
.site-footer__inner{max-width:1280px;margin:0 auto;padding:64px 40px 36px}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
.site-footer img{height:32px;width:auto;margin-bottom:18px}
.site-footer p{font-size:14.5px;color:#A7B0C2;line-height:1.6;max-width:320px;margin-bottom:24px}
.footer-cta{display:inline-flex;align-items:center;gap:9px;background:#0A2FE0;color:#fff;font-weight:600;font-size:15px;padding:13px 24px;border-radius:11px}
.footer-cta:hover{background:#2B5BFF}
.site-footer__col-title{font-size:13px;font-weight:700;margin-bottom:18px}
.site-footer__col a{display:block;font-size:14px;color:#A7B0C2;padding:6px 0}
.site-footer__col a:hover{color:#fff}
.site-footer__phone{font-size:16px;color:#fff;font-weight:600;padding:4px 0}
.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:14px}
.site-footer__bottom span{font-size:13px;color:#6B7486}
.site-footer__bottom a{font-size:13px;color:#6B7486}

/* ---------- фильтр-чипы ---------- */
.chip{border:1px solid #DCE1EC;background:#fff;color:#3A4252;font-weight:600;font-size:14px;padding:10px 18px;border-radius:999px;cursor:pointer;font-family:inherit;transition:.15s}
.chip:hover{border-color:#0A2FE0;color:#0A2FE0}
.chip.is-active-chip{background:#0A2FE0;border-color:#0A2FE0;color:#fff}

/* ---------- helpers ---------- */
.is-hidden{display:none !important}

/* ---------- адаптив ---------- */
@media(max-width:1080px){
  .nav{display:none}
  .burger{display:inline-flex}
  .section [style*="grid-template-columns"]{grid-template-columns:1fr !important}
  .section h1{font-size:34px !important;line-height:1.08 !important}
  .section h2{font-size:27px !important}
  .site-footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .site-header__bar{padding:0 20px}
  .section{padding-left:0;padding-right:0}
  .site-footer__grid{grid-template-columns:1fr}
}
