

@media (max-width: 960px) {
    .topbar-inner { justify-content: center; text-align: center; }
    .topbar-left { justify-content: center; }
    .topbar-right { display: none; }

    .nav-toggle { display: block; }
    .nav-inner > .btn-call { display: none; }
    .nav-menu {
        position: absolute;
        left: 20px;
        right: 20px;
        top: calc(100% + 10px);
        display: grid;
        gap: 6px;
        padding: 18px;
        border-radius: 22px;
        background: rgba(3, 24, 46, .98);
        box-shadow: 0 30px 70px rgba(0,0,0,.32);
        transform: translateY(-12px);
        opacity: 0;
        pointer-events: none;
        transition: .22s ease;
    }
    .nav-menu.open {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }
    .nav-menu a { padding: 14px; }
    .nav-dot { display: none; }

    .service-grid, .about-grid, .calc-wrap, .contact-grid, .footer-grid {
        grid-template-columns: 1fr;
    }
    .about-image { min-height: 330px; }
    .cta-inner { align-items: flex-start; flex-direction: column; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-bottom-inner { flex-direction: column; align-items: flex-start; padding: 18px 0; }
}

@media (max-width: 640px) {
    .container { width: min(100% - 28px, var(--container)); }
    .topbar { display: none; }
    .nav-inner { min-height: 74px; }
    .logo-img { width: min(250px, 62vw); }
    .logo-mark { width: 42px; height: 42px; border-radius: 14px; }
    .logo-text { font-size: 21px; }
    .hero-content {
        min-height: calc(100vh - 74px);
        padding-bottom: 54px;
    }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .btn-primary, .btn-ghost { width: 100%; }
    .section { padding: 68px 0; }
    .service-card, .calc-card, .contact-form { padding: 24px; }
    .calc-row, .calc-result, .about-stats, .gallery-grid { grid-template-columns: 1fr; }
    .cta-inner { padding: 28px; }
    .hero-copy { padding: 0; }
    .hero h1 { font-size: clamp(38px, 14vw, 64px); }
}


@media (max-width: 960px) {
    .contact-layout { grid-template-columns: 1fr; }
    .contact-mini-info { grid-template-columns: 1fr; }
    .page-hero { min-height: 360px; }
    .page-hero-content { min-height: 250px; padding: 62px 0 50px; }
}

@media (max-width: 640px) {
    .page-hero { min-height: 320px; }
    .page-hero-content { min-height: 240px; padding: 54px 0 44px; }
    .form-grid-2 { grid-template-columns: 1fr; }
    .contact-card-head, .faq-card-head { padding: 26px 22px 8px; }
    .contact-form.enhanced { padding: 18px 22px 26px; }
    .form-status { margin: 0 22px 8px; }
    .faq-list { padding: 10px 14px 20px; }
    .contact-mini-info { padding: 0 22px 26px; }
    .contact-submit-row .btn-primary { width: 100%; }
}

@media (max-width: 960px) {
    .nav-menu {
        background: rgba(255, 255, 255, .99);
        border: 1px solid rgba(6, 40, 77, .10);
    }
    .nav-menu a { color: var(--blue-950); }
}

@media (max-width: 640px) {
    .logo-img { width: min(215px, 58vw); }
    .footer-logo-img { width: 190px; }
}
