/* ========================================
   RESPONSIVE — Mobile-first breakpoints
   ======================================== */

/* ---- Max 1280px ---- */
@media (max-width: 1280px) {
    .footer__grid {
        grid-template-columns: 1.5fr 1fr 1fr;
    }

    .footer__contact {
        grid-column: 1 / -1;
    }

    .hero__clients-grid {
        gap: var(--space-sm) var(--space-lg);
    }
}

/* ---- Max 1024px ---- */
@media (max-width: 1024px) {
    .about__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .services__grid {
        grid-template-columns: 1fr;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .method__timeline {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-2xl);
    }

    .method__timeline::before {
        display: none;
    }

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

    .contact__info {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-lg);
    }

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

    .footer__brand {
        grid-column: 1 / -1;
    }
}

/* ---- Max 768px ---- */
@media (max-width: 768px) {
    :root {
        --navbar-height: 70px;
    }

    /* Navbar mobile */
    .navbar__nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        max-width: 320px;
        height: 100vh;
        background: rgba(10, 14, 23, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        flex-direction: column;
        justify-content: center;
        padding: var(--space-3xl);
        transition: right var(--transition-base);
        border-left: 1px solid var(--color-border);
        z-index: var(--z-overlay);
    }

    .navbar__nav--open {
        right: 0;
    }

    .navbar__list {
        flex-direction: column;
        gap: var(--space-2xl);
    }

    .navbar__link {
        font-size: var(--fs-xl);
    }

    .navbar__cta {
        display: none;
    }

    .navbar__toggle {
        display: flex;
    }

    /* Mobile overlay */
    .navbar__overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        visibility: hidden;
        transition: all var(--transition-base);
        z-index: calc(var(--z-overlay) - 1);
    }

    .navbar__overlay--visible {
        opacity: 1;
        visibility: visible;
    }

    /* Hero */
    .hero__ctas {
        flex-direction: column;
        align-items: stretch;
    }

    .hero__ctas .btn {
        justify-content: center;
    }

    .hero__clients-grid {
        gap: var(--space-xs) var(--space-md);
    }

    .hero__client {
        font-size: var(--fs-xs);
    }

    /* About */
    .about__grid {
        grid-template-columns: 1fr;
    }

    /* Method */
    .method__timeline {
        grid-template-columns: 1fr;
    }

    /* Why us */
    .why-us__question p {
        font-size: var(--fs-xl);
    }

    /* Contact */
    .contact__info {
        grid-template-columns: 1fr;
    }

    .form__row {
        flex-direction: column;
        gap: 0;
    }

    /* Footer */
    .footer__grid {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }

    .footer__brand {
        grid-column: auto;
    }

    .footer__bottom {
        flex-direction: column;
        text-align: center;
    }

    /* Section spacing */
    .section {
        padding: var(--space-4xl) 0;
    }
}

/* ---- Max 480px ---- */
@media (max-width: 480px) {
    .section__header {
        margin-bottom: var(--space-2xl);
    }

    .hero__title {
        font-size: clamp(1.75rem, 1.2rem + 3vw, 2.5rem);
    }

    .services__card {
        padding: var(--space-xl);
    }

    .method__step-content {
        padding: var(--space-lg);
    }

    .card {
        padding: var(--space-xl);
    }

    .contact__form {
        padding: var(--space-xl);
    }

    .btn--lg {
        padding: 0.85rem 1.5rem;
        font-size: var(--fs-sm);
    }

    .for-who__text {
        font-size: var(--fs-base);
    }
}
