/* Responsive Styles - Additional Media Queries */

/* ========== EXTRA SMALL DEVICES (320px and up) ========== */
@media (min-width: 320px) {
    .container {
        padding: 0 var(--space-sm);
    }
}

/* ========== SMALL DEVICES (576px and up) ========== */
@media (min-width: 576px) {
    .container {
        padding: 0 var(--space-md);
    }

    .cta-buttons {
        flex-direction: row;
    }

    .btn {
        width: auto;
    }
}

/* ========== MEDIUM DEVICES (768px and up) ========== */
@media (min-width: 768px) {
    .container {
        padding: 0 var(--space-lg);
    }

    section {
        padding: var(--space-3xl) 0;
    }

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

    .contact-grid {
        grid-template-columns: 1fr 1.5fr;
    }

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

/* ========== LARGE DEVICES (1024px and up) ========== */
@media (min-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .process-grid {
        grid-template-columns: repeat(5, 1fr);
    }

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

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

/* ========== EXTRA LARGE DEVICES (1400px and up) ========== */
@media (min-width: 1400px) {
    .container {
        max-width: var(--container-xl);
    }
}

/* ========== TOUCH DEVICES ========== */
@media (hover: none) {
    /* Remove hover effects on touch devices */
    .service-card:hover,
    .why-card:hover,
    .experience-card:hover {
        transform: none;
    }

    .tech-item:hover {
        transform: none;
    }

    /* But keep the visual changes */
    .service-card:active {
        transform: translateY(-5px);
    }
}

/* ========== HIGH DPI DISPLAYS ========== */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    /* Ensure crisp borders on retina */
    .service-card,
    .form-group input,
    .form-group textarea,
    .form-group select {
        border-width: 0.5px;
    }
}

/* ========== LANDSCAPE PHONES ========== */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: var(--space-xl) 0;
    }

    .nav-links.active {
        padding-top: var(--space-md);
        justify-content: flex-start;
        gap: var(--space-sm);
    }
}

/* ========== PRINT STYLES ========== */
@media print {
    .navigation,
    .nav-toggle,
    .cta-buttons,
    .footer,
    .btn {
        display: none !important;
    }

    body {
        font-size: 12pt;
        color: black;
        background: white;
    }

    .page {
        display: block !important;
        page-break-after: always;
    }

    a {
        text-decoration: underline;
    }

    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 10pt;
    }
}

/* ========== DARK MODE SUPPORT (Future Enhancement) ========== */
/*
@media (prefers-color-scheme: dark) {
    :root {
        --navy: #E5E7EB;
        --white: #0A2540;
        --cream: #1A3A5C;
        --gray: #9CA3AF;
        --light-gray: #374151;
    }
}
*/
