/* ── RESPONSIVE ──────────────────────────────── */
@media (max-width: 1024px) {
    .price-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .price-card:nth-child(3) {
        grid-column: span 2;
    }
    .mini-services {
        grid-template-columns: repeat(2, 1fr);
    }
    .mini-card:last-child {
        grid-column: span 2;
        max-width: 50%;
        margin-inline: auto;
        width: 100%;
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }
    .reviews-grid {
        grid-template-columns: 1fr 1fr;
    }
    .reviews-grid .review-card:last-child {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .nav-links {
        display: none;
    }
    .btn-cta.desktop {
        display: none;
    }
    .hamburger {
        display: flex;
    }
    .hero-inner {
        grid-template-columns: 1fr;
    }
    .hero-visual {
        display: none;
    }
    .hero-content {
        text-align: center;
    }
    .hero-eyebrow {
        justify-content: center;
    }
    .hero-lead {
        margin-inline: auto;
    }
    .trust-chips {
        justify-content: center;
    }
    .hero-btns {
        justify-content: center;
    }
    .about-grid {
        grid-template-columns: 1fr;
    }
    .about-img {
        display: none;
    }
    .sec-header {
        grid-template-columns: 1fr;
    }
    .sec-sub {
        grid-row: auto;
        max-width: 100%;
    }
    .results-grid {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }
    .results-grid .result-card:last-child {
        grid-column: auto;
    }
    .price-grid {
        grid-template-columns: 1fr;
    }
    .price-card:nth-child(3) {
        grid-column: auto;
    }
    .mini-services {
        grid-template-columns: 1fr;
    }
    .mini-card:last-child {
        grid-column: auto;
        max-width: 100%;
    }
    .reviews-grid {
        grid-template-columns: 1fr;
    }
    .reviews-grid .review-card:last-child {
        grid-column: auto;
    }
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .cta-btns {
        flex-direction: column;
        align-items: center;
    }
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    /* Services strip wraps nicely on mobile */
    .strip-item + .strip-item {
        border-left: none;
    }
    .services-strip-inner {
        gap: 0.4rem 0;
    }
    .strip-item {
        padding: 0.2rem 0.8rem;
    }
}

@media (max-width: 480px) {
    .hero-h1 {
        font-size: 2.6rem;
    }
    .hero-btns {
        flex-direction: column;
    }
    .btn-primary,
    .btn-outline {
        justify-content: center;
    }
    .trust-chips {
        gap: 0.4rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        transition-duration: 0.001ms !important;
    }
}
