/* ====================================================
   RESPONSIVE MEDIA QUERIES
   ==================================================== */

/* Laptop / Desktop (1200px - 1399px) */
@media (max-width: 1399px) {
    .container {
        max-width: 1140px;
    }
}

/* Tablet / Laptop (992px - 1199px) */
@media (max-width: 1199px) {
    .container {
        max-width: 960px;
    }
    
    section {
        padding: 80px 0;
    }

    .nav-links {
        gap: 1.5rem;
    }

    .about-top-row {
        gap: 3rem;
    }

    .about-grid-span3 {
        aspect-ratio: 16/11;
    }

    .comp-card {
        flex: 0 0 calc(33.333% - 1rem);
    }

    .highlights-layout {
        gap: 2rem;
    }

    .spotlight-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .sustain-grid {
        gap: 1.5rem;
    }

    .clients-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Tablet (768px - 991px) */
@media (max-width: 991px) {
    .container {
        max-width: 720px;
    }

    section {
        padding: 70px 0;
    }

    .hamburger {
        display: flex;
    }

    .nav-links {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background-color: var(--primary);
        flex-direction: column;
        align-items: flex-start;
        padding: 6rem 2rem 2rem;
        gap: 2rem;
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15);
        transition: right 0.4s var(--ease);
        z-index: 1040;
    }

    .nav-links.open {
        right: 0;
    }

    .nav-links a {
        font-size: 0.95rem;
        color: rgba(255, 255, 255, 0.85);
    }

    .hamburger.open span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .hamburger.open span:nth-child(2) {
        opacity: 0;
    }
    .hamburger.open span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .hero-content {
        text-align: center;
        margin: 0 auto;
        padding-top: 2rem;
    }

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

    .stats-bar {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        width: 100%;
        margin: 2rem auto 0;
        flex-wrap: wrap;
        border-radius: 16px;
    }

    .stat-card {
        flex: 0 0 50%;
        border: 1px solid rgba(255, 255, 255, 0.05);
        padding: 1.2rem;
    }

    .stat-card + .stat-card::before {
        display: none;
    }

    .about-top-row {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .about-grid-5item {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.2rem;
    }

    .about-grid-span3 {
        grid-column: span 2;
        aspect-ratio: 16/10;
    }

    .about-grid-span2 {
        grid-column: span 1;
        aspect-ratio: 1;
    }

    .about-text-card {
        grid-column: span 2;
        aspect-ratio: 16/6;
        padding: 2rem;
    }

    .comp-card {
        flex: 0 0 calc(50% - 0.75rem);
    }

    .highlights-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .sustain-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
        max-width: 480px;
        margin: 0 auto;
    }

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

    .locations-wrap {
        min-height: 400px;
    }

    .map-area {
        height: 400px;
    }

    .hq-info-card {
        position: relative;
        top: auto;
        right: auto;
        max-width: 100%;
        margin: 1.5rem;
    }

    .contact-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

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

/* Mobile (480px - 767px) */
@media (max-width: 767px) {
    .container {
        max-width: 100%;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    section {
        padding: 60px 0;
    }

    .sec-header {
        margin-bottom: 2.5rem;
    }

    .sec-header h2 {
        font-size: 1.5rem;
    }

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

    .hero-sub {
        font-size: 0.8rem;
        letter-spacing: 2px;
    }

    .hero-btns {
        flex-direction: column;
        gap: 0.8rem;
    }

    .btn-premium {
        width: 100%;
    }

    .stat-card {
        flex: 0 0 100%;
    }

    .about-grid-5item {
        grid-template-columns: 1fr;
    }

    .about-grid-span3 {
        grid-column: span 1;
    }

    .about-grid-span2 {
        grid-column: span 1;
        aspect-ratio: 16/10;
    }

    .about-text-card {
        grid-column: span 1;
        aspect-ratio: auto;
        padding: 2rem 1.5rem;
    }

    .comp-card {
        flex: 0 0 100%;
    }

    .hl-stats-grid {
        grid-template-columns: 1fr;
    }

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

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

    .form-row-2col {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .contact-form-box {
        padding: 2rem 1.5rem;
    }

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

    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
}
