/* ─── Mobile Menu ─────────────────────────────────────────────── */
html { scroll-behavior: smooth; }

/* Prevent zoom on input focus (iOS) */
@media screen and (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    select,
    textarea {
        font-size: 16px !important;
    }
}

@media (max-width: 768px) {
    .nav-menu {
        position: fixed;
        top: 65px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 65px);
        background: rgba(5, 11, 24, 0.97);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-top: 1px solid rgba(0, 212, 255, 0.15);
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        padding: 2rem 0;
        transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 999;
        overflow-y: auto;
    }

    .nav-menu.active {
        left: 0;
        display: flex;
    }

    .nav-menu li {
        margin: 0.25rem 0;
        width: 88%;
        text-align: center;
    }

    .nav-link {
        font-size: 1.05rem;
        padding: 0.875rem 1.5rem;
        display: block;
        width: 100%;
        border-radius: 6px;
        color: rgba(255, 255, 255, 0.75);
        transition: all 0.25s ease;
    }

    .nav-link:hover,
    .nav-link:active {
        background: rgba(0, 212, 255, 0.08);
        color: #00d4ff;
        transform: none;
    }

    .nav-link::after { display: none; }

    .cta-button {
        margin-top: 0.75rem;
        padding: 0.875rem 2rem;
        font-size: 0.9rem;
        width: 88%;
        text-align: center;
        display: block;
    }

    /* Touch-friendly min sizes */
    .btn-primary,
    .btn-secondary {
        min-height: 48px;
        touch-action: manipulation;
    }

    /* Disable disruptive hover transforms on touch */
    .service-card:hover,
    .industry-card:hover,
    .team-member:hover,
    .feature-highlight:hover,
    .tech-item:hover,
    .process-step:hover .step-icon {
        transform: none;
        box-shadow: none;
    }

    .service-card:active,
    .industry-card:active,
    .team-member:active {
        transform: scale(0.98);
    }

    .social-links a,
    .social-link {
        min-width: 48px;
        min-height: 48px;
        touch-action: manipulation;
    }
}

@media (max-width: 480px) {
    .nav-menu {
        top: 58px;
        height: calc(100vh - 58px);
        padding: 1.5rem 0;
    }

    .nav-menu li {
        margin: 0.2rem 0;
        width: 92%;
    }

    .nav-link {
        font-size: 0.95rem;
        padding: 0.75rem 1rem;
    }

    .cta-button {
        padding: 0.75rem 1rem;
        font-size: 0.85rem;
        width: 92%;
    }
}

/* ─── Page load fade-in ───────────────────────────────────────── */
body {
    animation: pageFadeIn 0.5s ease-in;
}

@keyframes pageFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
