@media (max-width: 1180px) {
    :root { --container: 1080px; }
    .site-container { width: min(calc(100% - 48px), var(--container)); }
    .primary-nav { gap: 20px; margin-right: 18px; }
    .site-header__cta { padding-inline: 18px; }
    .locale-switcher { margin-right: 12px; }
    .split-section__grid, .approach-section__grid { gap: 48px; }
    .benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .partner-row { flex-wrap: wrap; }
    .partners-detail__grid { gap: 48px; }
    .contact-layout { grid-template-columns: 340px minmax(0, 1fr); }
    .partner-network { flex-wrap: wrap; justify-content: center; }
    .hero-surveillance { display: none; }
}

@media (max-width: 1320px) {
    :root { --header-height: 72px; }
    .site-header__inner { justify-content: flex-start; }
    .brand--header { position: static; flex: 1; padding-right: 0; }
    .brand--header .brand__name {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 280px);
        max-width: none;
        text-align: center;
        font-size: 22px;
        overflow-wrap: anywhere;
    }
    .menu-toggle {
        position: relative;
        z-index: 3;
        display: block;
        flex: 0 0 auto;
        order: 3;
        margin-left: 12px;
        cursor: pointer;
    }
    .menu-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .menu-toggle.is-active span:nth-child(2) { opacity: 0; }
    .menu-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .primary-nav {
        position: absolute;
        z-index: 2;
        top: 100%;
        right: auto;
        bottom: auto;
        left: 0;
        display: flex;
        visibility: hidden;
        width: 100vw;
        height: calc(100vh - var(--header-height));
        height: calc(100dvh - var(--header-height));
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        margin: 0;
        padding: 32px max(32px, calc((100vw - var(--container)) / 2));
        overflow-y: auto;
        opacity: 0;
        background: rgba(4, 7, 12, 0.985);
        backdrop-filter: blur(18px);
        transform: translateY(-12px);
        pointer-events: none;
        transition: opacity 220ms ease, transform 220ms ease, visibility 220ms ease;
    }
    .primary-nav.is-open {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    .primary-nav a {
        flex-shrink: 0;
        width: 100%;
        padding: 18px 4px;
        border-bottom: 1px solid rgba(65, 71, 85, 0.48);
        font-family: var(--font-heading);
        font-size: clamp(24px, 4vw, 34px);
        font-weight: 600;
        letter-spacing: -0.02em;
        text-transform: none;
    }
    .primary-nav a::after { display: none; }
    .primary-nav__mobile-cta {
        display: inline-flex !important;
        min-height: 56px;
        align-items: center;
        justify-content: center;
        margin-top: 30px;
        padding: 14px 24px !important;
        border: 1px solid var(--blue) !important;
        border-radius: 8px;
        background: var(--blue);
        color: var(--ink) !important;
        font-family: var(--font-body) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
    }
    .site-header__cta { display: none; }
    .locale-switcher--desktop { display: none; }
    .locale-switcher--mobile { display: flex; align-self: center; flex-shrink: 0; gap: 8px; margin: 24px 0 0; }
    .primary-nav .locale-switcher--mobile a { width: auto; padding: 0 7px; border: 0; font-family: var(--font-mono); letter-spacing: normal; font-weight: 500; min-width: 64px; height: 44px; font-size: 14px; }
}

@media (max-width: 920px) {
    body { font-size: 17px; }
    .site-container { width: min(calc(100% - 40px), var(--container)); }
    .home-hero { min-height: 850px; }
    .home-hero__visual { display: none; }
    .home-hero__image { filter: none; transform: none; }
    .home-hero__content h1 { max-width: 760px; font-size: clamp(43px, 7.2vw, 64px); }
    .home-hero__content > p { max-width: 650px; font-size: 19px; }
    .split-section { padding-block: 80px; }
    .split-section__grid, .approach-section__grid { grid-template-columns: 1fr; }
    .threat-visual { min-height: 380px; }
    .threat-visual img { height: 380px; }
    .approach-section__grid { width: 100%; gap: 0; }
    .section-copy--dark { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
    .approach-section__visual { height: 460px; margin: 0; }
    .approach-section__visual::after { background: linear-gradient(180deg, var(--blue), transparent 25%); }
    .layers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-footer__copyright { flex-direction: column; text-align: center; }
    .service-card,
    .service-card:nth-child(3),
    .service-card:nth-child(4),
    .service-card:nth-child(5) { grid-column: span 3; min-height: 410px; }
    .about-hero { min-height: auto; padding-bottom: 80px; }
    .about-principles { grid-template-columns: 1fr; }
    .about-principle { min-height: 0; }
    .partners-detail__grid,
    .contact-layout { grid-template-columns: 1fr; }
    .contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .contact-card--hq { grid-row: span 2; }
    .error-panel { margin-right: 0; }
    .error-page__radar { left: 78%; width: 88vw; opacity: 0.2; }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero__visual,
    .hero-surveillance__radar,
    .hero-tracking-target,
    .hero-tracking-target::before,
    .hero-tracking-target__corner,
    .hero-telemetry__header i,
    .hero-telemetry__signal span,
    .hero-map-feed__sweep,
    .hero-map-feed__core,
    .hero-map-feed__core::after,
    .hero-map-feed__blip,
    .hero-map-feed__scanline,
    .hero-threat-alert,
    .hero-threat-alert::after,
    .hero-threat-alert__icon,
    .hero-threat-alert > i,
    .hero-surveillance__scanline {
        animation: none !important;
    }
}

@media (max-width: 680px) {
    .site-container { width: min(calc(100% - 32px), var(--container)); }
    .brand { font-size: 20px; }
    .brand--header .brand__logo { width: 72px; height: auto; }
    .brand--header .brand__name { width: calc(100% - 184px); font-size: clamp(16px, 4.6vw, 20px); letter-spacing: -0.3px; }
    .home-hero { min-height: 780px; align-items: flex-end; padding-top: calc(var(--header-height) + 36px); padding-bottom: 118px; }
    .home-hero__image { background-position: 64% center; }
    .home-hero::before { background: linear-gradient(180deg, rgba(4,7,12,.18), rgba(4,7,12,.92) 72%, var(--ink)); }
    .home-hero__grid { background-size: 42px 42px; }
    .home-hero__content h1 { margin-top: 16px; font-size: clamp(30px, 9.7vw, 38px); overflow-wrap: anywhere; }
    .section-copy h2, .section-heading h2,
    .inner-hero__content h1, .about-hero__content h1,
    .contact-heading h1, .bottom-cta h2 { overflow-wrap: anywhere; }
    .home-hero__content > p { font-size: 17px; }
    .button-row { flex-direction: column; align-items: stretch; margin-top: 30px; }
    .scroll-indicator { bottom: 36px; }
    .section-copy h2, .section-heading h2 { font-size: 34px; }
    .threat-visual { min-height: 280px; }
    .threat-visual img { height: 280px; }
    .target-corner { width: 38px; height: 38px; }
    .approach-section__visual { height: 330px; }
    .sectors-section, .layers-section, .benefits-section { padding-block: 72px; }
    .sector-grid, .layers-grid, .benefits-grid { grid-template-columns: 1fr; }
    .sector-heading { padding-top: 110px; padding-bottom: 36px; }
    .sector-heading__image { aspect-ratio: 4 / 3; }
    .sector-heading__intro { font-size: 17px; }
    .sector-details { grid-template-columns: 1fr; gap: 32px; padding-bottom: 64px; }
    .sector-catalog { padding-bottom: 64px; }
    .sector-related { padding: 22px; }
    .sector-card { min-height: 460px; }
    .sector-card__body { padding: 26px; }
    .risk-chain { grid-template-columns: repeat(5, 150px); overflow-x: auto; padding-bottom: 18px; }
    .risk-chain::before { display: none; }
    .partner-row { flex-direction: column; gap: 32px; }
    .bottom-cta { padding-block: 68px; }
    .bottom-cta h2 { font-size: 36px; }
    .site-footer__grid { grid-template-columns: 1fr; }
    .site-footer__continuation { padding-top: 0; }
    .inner-hero { min-height: 600px; }
    .inner-hero__content h1,
    .about-hero__content h1,
    .contact-heading h1 { font-size: 37px; }
    .inner-hero__content h1 br { display: none; }
    .services-section,
    .partners-detail,
    .contact-section { padding-block: 72px; }
    .services-grid { grid-template-columns: 1fr; }
    .service-card,
    .service-card:nth-child(3),
    .service-card:nth-child(4),
    .service-card:nth-child(5) { grid-column: auto; min-height: 0; padding: 26px; }
    .about-hero { padding-top: 80px; }
    .about-principles { margin-top: 42px; }
    .partners-detail__grid { gap: 48px; }
    .idda-feature { padding: 32px 26px; }
    .idda-feature__title { flex-direction: column; align-items: flex-start; }
    .partner-network { margin-top: 48px; padding-inline: 12px; }
    .partner-network { gap: 26px; }
    .partner-network span { font-size: 17px; }
    .partner-network__idda,
    .partner-network__bultech { font-size: 22px !important; }
    .contact-heading { margin-bottom: 42px; }
    .contact-details { grid-template-columns: 1fr; }
    .contact-card--hq { grid-row: auto; }
    .contact-form-panel { padding: 28px 22px; }
    .form-grid { grid-template-columns: 1fr; gap: 22px; }
    .form-field--full { grid-column: auto; }
    .error-header,
    .error-footer { width: calc(100% - 32px); }
    .error-header { height: 72px; }
    .error-header .brand { font-size: 18px; }
    .error-page { align-items: center; padding: 94px 16px 70px; }
    .error-panel { padding: 24px 22px 26px; }
    .error-panel__meta { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 28px; }
    .error-panel__code { margin-bottom: -5px; font-size: 88px; }
    .error-panel h1 { font-size: 34px; }
    .error-panel__copy { font-size: 15px; }
    .error-panel__actions { flex-direction: column; }
    .error-panel__actions .button { width: 100%; }
    .error-panel__reference { align-items: flex-start; flex-direction: column; gap: 6px; }
    .error-footer { font-size: 8px; }
    .error-footer span:last-child { display: none; }
}
@media (max-width: 767px) {
    .text-page { padding-top: 115px; }
    .contact-page-image { max-height: 280px; }
}
@media (max-width: 767px) {
    .text-page .document-content { padding: 16px; }
}

@media (max-width: 1180px) {
    .product-grid { gap: 20px; }
    .product-card__body { padding: 22px; }
    .product-details { gap: 36px; }
}

@media (max-width: 920px) {
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-mobile-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
    .product-details { grid-template-columns: 1fr; gap: 40px; }
    .product-related { position: static; }
    .product-gallery__photo img { height: 460px; }
}

@media (max-width: 680px) {
    .product-heading { padding-top: 110px; padding-bottom: 36px; }
    .product-heading h1 { font-size: 34px; }
    .product-heading__intro { font-size: 17px; }
    .product-mobile-actions .button { width: 100%; }
    .product-catalog, .product-details { padding-bottom: 64px; }
    .product-categories { gap: 8px; margin-bottom: 28px; }
    .product-categories a { padding: 10px 14px; font-size: 14px; }
    .product-grid { grid-template-columns: 1fr; }
    .product-card h3 { font-size: 24px; }
    .product-gallery__photo { padding: 12px; }
    .product-gallery__photo img { height: 330px; }
    .product-gallery__thumbnails a { width: 76px; height: 76px; }
    .product-detail-block h2 { font-size: 26px; }
    .product-specifications table { font-size: 14px; }
    .product-specifications th, .product-specifications td { padding: 12px; }
    .product-inquiry, .product-empty { padding: 24px; }
    .product-empty h2 { font-size: 23px; }
    .product-pagination { flex-wrap: wrap; justify-content: center; gap: 18px; }
    .product-pagination > span:not([aria-disabled]) { order: -1; width: 100%; text-align: center; }
    .featured-products-section { padding-block: 72px; }
}
