        /* ==================================================
           RESPONSIVE
        ================================================== */
        @media (max-width: 1200px) {
            .container {
                padding: 0 2rem;
            }
            .projects-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .gallery-grid {
                grid-template-columns: repeat(3, 1fr);
                grid-auto-rows: 200px;
            }
        }

        @media (max-width: 992px) {
            .nav {
                display: none;
            }
            .hamburger {
                display: flex;
            }

            .intro-grid,
            .philosophy-grid,
            .contact-grid {
                grid-template-columns: 1fr;
                gap: 2.5rem;
            }
            .intro-stats {
                justify-content: flex-start;
            }
            .services-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .testimonials-grid {
                grid-template-columns: 1fr;
            }
            .quality-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .footer-grid {
                grid-template-columns: 1fr 1fr;
            }
            .gallery-grid {
                grid-template-columns: repeat(2, 1fr);
                grid-auto-rows: 180px;
            }
            .g-item--wide {
                grid-column: span 1;
            }
            .g-item--tall {
                grid-row: span 1;
            }
        }

        @media (max-width: 768px) {
            .container {
                padding: 0 1.5rem;
            }
            .hero h1 {
                margin-bottom: 1.2rem;
            }
            .hero-logo {
                width: clamp(180px, 45vw, 260px);
            }
            .hero-sub {
                font-size: 1rem;
            }
            .hero-text {
                font-size: 0.95rem;
            }
            .hero-meta {
                flex-wrap: wrap;
                gap: 1.2rem;
            }
            .services-grid {
                grid-template-columns: 1fr;
            }
            .projects-grid {
                grid-template-columns: 1fr;
            }
            .quality-grid {
                grid-template-columns: 1fr 1fr;
            }
            .footer-grid {
                grid-template-columns: 1fr;
                gap: 2rem;
            }
            .contact-grid {
                grid-template-columns: 1fr;
            }
            .gallery-grid {
                grid-template-columns: 1fr 1fr;
                grid-auto-rows: 160px;
            }
            .step {
                flex-direction: column;
                gap: 0.5rem;
            }
            .process-steps {
                padding-left: 1.5rem;
            }
            .process-steps::before {
                left: 6px;
            }

            .bg-services,
            .bg-process,
            .bg-testimonials {
                background-attachment: scroll;
            }
        }

        @media (max-width: 480px) {
            .container {
                padding: 0 1rem;
            }
            .hero {
                min-height: 90vh;
            }
            .hero-logo {
                width: clamp(160px, 55vw, 220px);
            }
            .hero-buttons .btn {
                width: 100%;
                text-align: center;
                justify-content: center;
            }
            .intro-stats {
                flex-direction: column;
                gap: 1rem;
            }
            .quality-grid {
                grid-template-columns: 1fr;
            }
            .gallery-grid {
                grid-template-columns: 1fr 1fr;
                grid-auto-rows: 130px;
            }
            .testimonial {
                padding: 1.5rem;
            }
        }

        /* ==================================================
           UTILIDADES
        ================================================== */
        .text-center {
            text-align: center;
        }
        .mt-1 {
            margin-top: 1rem;
        }
        .mt-2 {
            margin-top: 2rem;
        }
        .mb-1 {
            margin-bottom: 1rem;
        }
        .mb-2 {
            margin-bottom: 2rem;
        }

        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s ease, transform 0.8s ease;
        }
        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* ==================================================
           PREFERS REDUCED MOTION
        ================================================== */
        @media (prefers-reduced-motion: reduce) {
            *,
            *::before,
            *::after {
                animation-duration: 0.01ms !important;
                transition-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
            }
            .fade-in {
                opacity: 1 !important;
                transform: none !important;
            }
            .step {
                opacity: 1 !important;
                transform: none !important;
            }
            .scroll-indicator {
                display: none;
            }
            .bg-services,
            .bg-process,
            .bg-testimonials {
                background-attachment: scroll !important;
            }
            .hero-slider .slide {
                transition: opacity 0.5s ease-in-out;
            }
            .whatsapp-float::before {
                display: none;
            }
        }
