@media (max-width: 1024px) {
    .trust-grid,
    .grid-3,
    .product-grid,
    .process-timeline {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-line {
        display: none;
    }

    .split,
    .split.reverse,
    .contact-grid,
    .inquiry-layout {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    :root {
        --header: 70px;
    }

    .desktop-nav {
        display: none;
    }

    .mobile-nav-toggle {
        display: flex;
    }

    .site-header {
        background: rgba(255, 255, 255, 0.94);
        border-bottom: 1px solid var(--line);
    }

    .mobile-nav {
        position: fixed;
        inset: var(--header) 0 auto 0;
        display: grid;
        gap: 4px;
        padding: 18px 20px 24px;
        background: rgba(255, 255, 255, 0.96);
        border-bottom: 1px solid var(--line);
        box-shadow: 0 24px 60px rgba(23, 33, 29, 0.12);
        transform: translateY(-120%);
        transition: transform 240ms ease;
    }

    .mobile-nav.open {
        transform: translateY(0);
    }

    .mobile-link {
        padding: 14px 0;
        border-bottom: 1px solid var(--line);
    }

    .hero {
        min-height: 78vh;
        padding: calc(var(--header) + 48px) 0 72px;
    }

    .hero::before,
    .page-hero::before {
        background: linear-gradient(90deg, rgba(12, 28, 22, 0.86) 0%, rgba(12, 28, 22, 0.62) 100%);
    }

    .page-hero {
        min-height: 64vh;
        padding: calc(var(--header) + 54px) 0 72px;
    }

    .section {
        padding: 78px 0;
    }

    .section.compact {
        padding: 58px 0;
    }

    .trust-grid,
    .grid-2,
    .grid-3,
    .product-grid,
    .process-timeline,
    .office-grid,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .trust-strip {
        transform: none;
        margin: 0;
        padding: 28px 0 0;
    }

    .trust-item {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .trust-item:last-child {
        border-bottom: 0;
    }

    .media-frame {
        min-height: 300px;
    }

    .category-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .contact-panel {
        padding: 24px;
    }

    .inquiry-visual-section {
        min-height: auto;
        padding: 76px 0;
    }

    .inquiry-panel {
        margin-left: 0;
    }

    .inquiry-copy {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .container,
    .header-inner,
    .footer-grid,
    .footer-bottom {
        width: min(100% - 28px, var(--max));
    }

    .hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .btn {
        width: 100%;
    }

    .faq-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .faq-header {
        position: static;
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
    }

    .team-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 768px) {
    .testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .testimonials-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .team-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 480px) {
    .floating-overlay {
        bottom: 20px;
        right: 20px;
    }

    .floating-btn {
        width: 46px;
        height: 46px;
    }

    .floating-btn svg {
        width: 20px;
        height: 20px;
    }
}
