/* ===== MOBILE FIRST ADJUSTMENTS & MEDIA QUERIES ===== */

/* Base overrides for strict mobile first - currently desktop mostly defined in style.css for logic, adding tablet/mobile constraints */

@media (max-width: 1024px) {
    :root {
        --section-spacing: 80px;
    }

    .hero {
        flex-direction: column;
        text-align: center;
        gap: 3rem;
        padding-top: 4rem;
    }

    .hero-subtitle {
        margin: 0 auto 2.5rem auto;
    }

    .hero-actions {
        justify-content: center;
    }

    .hero-title {
        font-size: 3rem;
    }

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

    .grid-2 {
        gap: 2rem;
    }

    .service-card, .service-card.reverse {
        flex-direction: column;
        padding: 2rem;
    }

    .service-img {
        height: 300px;
    }

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

@media (max-width: 768px) {
    :root {
        --section-spacing: 60px;
    }

    .navbar {
        margin: 10px 1rem;
    }

    .nav-container {
        flex-direction: column;
        gap: 1rem;
    }

    .nav-links {
        width: 100%;
        justify-content: space-between;
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    .nav-links a {
        font-size: 0.85rem;
    }

    .hero-title {
        font-size: 2.2rem;
    }

    .grid-3, .grid-2 {
        grid-template-columns: 1fr;
    }

    .content-section, .content-section.reverse {
        grid-template-columns: 1fr;
    }

    .form-section {
        grid-template-columns: 1fr;
    }

    .contact-info, .contact-form, .legal-document {
        padding: 1.5rem;
    }

    .page-title {
        font-size: 2.2rem;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-brand {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
    }

    .hero-actions .btn {
        width: 100%;
    }
}