/* Правила custom.css, написанные со scoped-привязками Nuxt, — в версии без них:
   разметку главной строит Elementor, служебных атрибутов data-v-* у неё нет. */

@media screen and (max-width: 767px) {
    .header,
    .header-top-mobile { max-width: 100%; overflow-x: clip; }
    .header-top-mobile {
        min-width: 0;
        padding: 16px;
    }
    .header-top-mobile > * { min-width: 0; flex-shrink: 0; }
    .header-top-mobile .header-logo {
        flex: 1 1 auto;
        margin: 0 12px;
        overflow: hidden;
    }
    .header-top-mobile .header-logo img {
        display: block;
        height: 34px !important;
        max-width: 100% !important;
    }
    .header-mobile-menu {
        box-sizing: border-box;
        width: min(360px, 100vw);
        max-width: 100vw;
        overflow-x: hidden;
        overflow-y: auto;
    }}
@media screen and (min-width: 1280px) {
    .header--sticky .header-bottom {
        display: none;
    }
    .header--sticky .header-top__row { min-height: 64px; }}

/* Первый экран: чёткая иерархия, контрастный CTA и преимущества. */
.hero-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(115deg, #f7fbfe 0%, #eef8fd 100%);
}
.hero-section::after {
    content: "";
    position: absolute;
    width: 560px;
    height: 560px;
    right: -260px;
    top: -280px;
    border-radius: 50%;
    background: rgba(5, 136, 209, .08);
}
.hero-section .container { position: relative; z-index: 1; }
.hero-title { color: #1b1a1d; letter-spacing: -.02em; }
.hero-text { max-width: 560px !important; }
@media screen and (min-width: 1280px) {
    .hero-section { padding: 82px 0 96px; }
    .hero-title { font-size: 52px; line-height: 1.12; margin-bottom: 26px; }
    .hero-text { margin-bottom: 42px; }}