/* =========================================
   RESPONSIVE DESIGN SYSTEM (Premium UI/UX)
   ========================================= */

/* --- TABLET & SMALL LAPTOP (max-width: 1024px) --- */
@media (max-width: 1024px) {
    .container {
        padding: 0 40px;
        /* More breathing room */
    }

    /* Hero Tuning */
    .hero h1 {
        font-size: 4rem;
        /* Balanced for tablet */
    }

    /* Grid Adaptations */
    .services-grid,
    .tech-specs-grid,
    .equipment-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

/* --- MOBILE DEVICES (max-width: 768px) --- */
@media (max-width: 768px) {

    /* 1. LAYOUT & SPACING REST */
    .section-padding {
        padding: 60px 0;
        /* Standardize mobile vertical spacing */
    }

    .container {
        padding: 0 24px;
        /* Standard mobile edge spacing */
    }

    .split-layout,
    .split-layout.reverse {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }

    /* 2. HEADER & NAVIGATION */
    .nav-menu {
        display: none;
        /* Hide desktop menu */
    }

    .hamburger {
        display: flex;
        /* Show hamburger */
    }

    #navbar {
        padding: 15px 0;
        /* Slimmer navbar */
    }

    .logo img {
        height: 40px;
        /* Slightly smaller logo */
    }

    /* 3. HERO SECTION - High Impact */
    .hero {
        min-height: 100vh;
        /* Fix for mobile browser address bars */
        min-height: -webkit-fill-available;
        padding: 100px 0 60px;
        /* Top padding for navbar, bottom for scroll */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .hero-content {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin-top: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero-badge {
        font-size: 0.7rem;
        padding: 6px 14px;
        margin-bottom: 20px;
    }

    .hero h1 {
        font-size: clamp(2.2rem, 9vw, 3.2rem);
        line-height: 1.15;
        margin-bottom: 20px;
        width: 100%;
    }

    .hero p {
        font-size: 1rem;
        line-height: 1.6;
        margin-bottom: 35px;
        padding: 0 10px;
        opacity: 0.9;
    }

    /* Premium Mobile Buttons */
    .btn-group {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 16px;
    }

    .btn {
        width: 100%;
        padding: 18px;
        font-size: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
    }

    .btn2 {
        width: 100%;
        display: block;
        /* Ensure full width block */
    }

    .btn-outline {
        margin-top: 0;
        background: rgba(255, 255, 255, 0.08);
        /* Better visibility */
    }

    /* Scroll Down Button Fix */
    .scroll-down-btn {
        position: absolute;
        /* Keep absolute relative to hero */
        bottom: 25px;
        left: 50%;
        transform: translateX(-50%);
        width: auto;
        margin: 0;
    }

    /* 4. CARDS & CONTENT BLOCKS */
    .services-grid,
    .tech-specs-grid,
    .equipment-list {
        grid-template-columns: 1fr;
        /* Single column stack */
        gap: 24px;
    }

    .service-card,
    .equip-item {
        padding: 30px 24px;
        text-align: center;
        /* Center align for better mobile symmetry */
    }

    .service-card i {
        margin: 0 auto 20px;
        /* Center icon */
    }

    .promo-box {
        padding: 40px 24px;
        text-align: center;
        border-radius: 16px;
    }

    .promo-box h2 {
        font-size: 2rem;
    }

    /* 5. SPLIT SECTIONS & IMAGES */
    .split-image {
        width: 100%;
        height: 300px;
        /* Fixed height for consistency */
        margin-bottom: 20px;
    }

    .split-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 12px;
    }

    /* Tech Badges */
    .badge-tech {
        font-size: 0.7rem;
        padding: 6px 12px;
        bottom: 15px;
        left: 15px;
        right: auto;
    }

    .badge-tech.right {
        left: auto;
        right: 15px;
    }

    /* 6. FAQ IMPROVEMENTS */
    .faq-accordion {
        width: 100%;
        margin-top: 30px;
    }

    .faq-item {
        margin-bottom: 12px;
    }

    .faq-header {
        padding: 20px;
        display: flex;
        flex-direction: row;
        /* Force row */
        align-items: flex-start;
        /* Align icon with first line of text */
        justify-content: space-between;
        text-align: left;
    }

    .faq-header h4 {
        font-size: 1rem;
        line-height: 1.5;
        padding-right: 16px;
        flex: 1;
        /* Text takes space */
        width: auto;
    }

    .faq-header i {
        margin-top: 4px;
        /* Visual alignment with text */
        font-size: 1.1rem;
    }

    .faq-content p {
        padding: 0 20px 24px 20px;
        font-size: 0.95rem;
    }

    /* 7. FORMS */
    .contact-wrapper {
        padding: 0;
    }

    .input-group {
        flex-direction: column;
        gap: 0;
    }

    .form-input {
        margin-bottom: 16px;
        padding: 16px;
    }

    /* 8. FOOTER */
    .footer-top {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 40px;
    }

    .brand-col {
        align-items: center;
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

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

    .footer-socials {
        justify-content: center;
        margin-top: 20px;
    }
}

/* --- SMALL MOBILE (max-width: 380px) --- */
@media (max-width: 380px) {
    .hero h1 {
        font-size: 2.5rem;
    }

    .btn {
        padding: 14px;
        font-size: 0.9rem;
    }
}