@supports not (aspect-ratio: 4 / 3) {
    .cat-img,.sol-img,.news-img {
        position:relative;
        padding-top:75%
    }
    .cat-img img,.sol-img img,.news-img img {
        position:absolute;
        inset:0;
        width:100%;
        height:100%
    }
}

@media(max-width:1180px) {
    .menu {
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:var(--bg);
        border-bottom:1px solid var(--panel-border);
        flex-direction:column;
        padding:14px;
        align-items:stretch;
        box-shadow:0 20px 40px -20px rgba(10,44,77,.25)
    }
    .menu.open {
        display:flex
    }
    .burger {
        display:block;
        margin-left:auto
    }
    .phone {
        display:none
    }
    .adv-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .catalog-grid {
        grid-template-columns:repeat(3,1fr)
    }
    .solutions-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .certs-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .why-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .news-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .footer-grid {
        grid-template-columns:1fr 1fr
    }
    .dropdown {
        position:static;
        transform:none;
        width:auto;
        box-shadow:none;
        border:none
    }
    .has-sub.open-sub .dropdown {
        display:block
    }
    .dropdown-grid {
        grid-template-columns:1fr 1fr
    }
}

@media(max-width:900px) {
    .price-cards {
        grid-template-columns:1fr;
        gap:18px
    }
}

@media(max-width:860px) {
    .nav {
        padding:14px 16px;
        gap:10px
    }
    .logo-img {
        height:40px
    }
    .logo-desc b {
        font-size:16px
    }
    .logo-desc i {
        font-size:8px
    }
    .logo-desc {
        padding-left:12px
    }
    .logo {
        gap:10px
    }
    .nav .btn {
        display:none
    }
    .mobile-call {
        display:inline-flex;
        margin-left:auto
    }
    .burger {
        margin-left:0
    }
    .hero {
        min-height:100dvh
    }
    .hero-in {
        padding:84px 18px 40px;
        align-items:flex-start
    }
    .hero-media img {
        object-position:center 94%
    }
    .hero h1 {
        font-size:clamp(21px,6.5vw,34px);
        letter-spacing:-0.3px;
        line-height:1.3
    }
    .hero h1 .line {
        white-space:normal
    }
    .hero h1 .line>span {
        white-space:normal
    }
    .hero .sub {
        font-size:13.5px;
        margin-top:18px;
        line-height:1.65
    }
    .hero-cta {
        margin-top:26px;
        gap:12px
    }
    .hero-cta .btn {
        width:100%;
        justify-content:center
    }
    .btn-call {
        font-size:14px;
        padding:17px 20px
    }
    .hero-stats {
        margin-top:28px;
        display:grid;
        grid-template-columns:1fr 1fr;
        border:1px solid var(--panel-border)
    }
    .hero-stats .st {
        padding:16px 16px;
        border-left:1px solid var(--cell-border);
        border-top:1px solid var(--cell-border)
    }
    .hero-stats .st:nth-child(1),.hero-stats .st:nth-child(2) {
        border-top:0
    }
    .hero-stats .st:nth-child(odd) {
        border-left:0
    }
    .hero-stats .n {
        font-size:26px
    }
    .hero-stats .l {
        font-size:9px;
        letter-spacing:.04em
    }
    .scroll-hint {
        display:none
    }
    .modal-phone {
        font-size:24px
    }
    .ticker span {
        font-size:17px;
        padding:16px 24px;
        gap:24px
    }
    .adv .wrap {
        padding:52px 18px
    }
    .adv-grid {
        grid-template-columns:1fr;
        gap:18px
    }
    .adv h2 {
        font-size:clamp(22px,7vw,34px)
    }
    .catalog .wrap {
        padding:52px 18px
    }
    .catalog-grid {
        grid-template-columns:repeat(2,1fr);
        gap:12px
    }
    .catalog h2 {
        font-size:clamp(22px,7vw,34px)
    }
    .cat-name {
        font-size:14px;
        min-height:48px
    }
    .pricing .wrap {
        padding:48px 18px
    }
    .pricing h2 {
        font-size:clamp(22px,7vw,34px)
    }
    .pc-row {
        padding:9px 18px
    }
    .pc-row .n {
        font-size:13px
    }
    .cta .wrap {
        padding:48px 18px;
        gap:24px
    }
    .cta h2 {
        font-size:clamp(22px,6.5vw,32px)
    }
    .cta-action {
        width:100%
    }
    .cta-action .btn {
        width:100%
    }
    .solutions .wrap {
        padding:52px 18px
    }
    .solutions-grid {
        grid-template-columns:1fr;
        gap:18px
    }
    .solutions h2 {
        font-size:clamp(22px,7vw,34px)
    }
    .sol-title {
        font-size:16px
    }
    .why-us .wrap {
        padding:52px 18px
    }
    .why-grid {
        grid-template-columns:1fr;
        gap:16px
    }
    .why-us h2 {
        font-size:clamp(22px,7vw,34px)
    }
    .knowledge .wrap {
        padding:52px 18px
    }
    .knowledge h2 {
        font-size:clamp(22px,7vw,34px)
    }
    .news-grid {
        grid-template-columns:repeat(2,1fr);
        gap:12px
    }
    .certs .wrap {
        padding:48px 18px
    }
    .certs-grid {
        display:flex;
        overflow-x:hidden;
        scroll-snap-type:x mandatory;
        gap:0;
        scrollbar-width:none;
        -ms-overflow-style:none
    }
    .certs-grid::-webkit-scrollbar {
        display:none
    }
    .cert-item {
        flex:0 0 100%;
        scroll-snap-align:start
    }
    .cert-nav {
        display:flex
    }
    .partners .wrap {
        padding:48px 18px
    }
    .partners-top {
        padding:0
    }
    .partner-logo {
        width:160px;
        height:96px
    }
    .partner-logo img {
        max-height:56px
    }
    .footer .wrap {
        padding:48px 18px 24px
    }
    .footer-grid {
        grid-template-columns:1fr;
        gap:28px
    }
}

@media(max-width:380px) {
    .hero h1 {
        font-size:clamp(19px,6vw,30px)
    }
    .hero-stats .n {
        font-size:23px
    }
}

@media(prefers-reduced-motion:reduce) {
    * {
        animation-duration:.001ms!important;
        animation-iteration-count:1!important;
        transition-duration:.001ms!important
    }
}
