@media (max-width: 768px) {
    .main-nav ul {
        display: none;
        position: absolute;
        right: 20px;
        top: 70px;
        flex-direction: column;
        background: #fff;
        padding: 20px;
        border: 1px solid #ddd;
        border-radius: 8px;
        width: 220px;
        box-shadow: 0 18px 40px rgba(0,0,0,0.12);
    }
    
    .main-nav li {
        width: 100%;
        text-align: left;
    }

    .nav-cta {
        margin-top: 10px;
    }

    .nav-cta a {
        width: 100%;
        text-align: center;
    }

    .main-nav ul.active {
        display: flex;
    }

    .nav-toggle {
        display: flex;
    }
}

/* =========================
   HERO MOBILE — FINAL FIX
   ========================= */
@media (max-width: 768px) {

     /* Keep video ON */
    .hero-bg-video {
        display: block !important;
    }

    /* Hero container */
    .hero-video {
        position: relative;
        width: 100vw;
        height: calc(100vh - 74px);
        min-height: 520px;
        margin-top: 0;
        overflow: hidden;
    }

    /* Video behavior */
    .hero-bg-video {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .hero-content {
        padding: 0 16px;
        max-width: 760 px;
        justify-content: center;
    }

    .hero-content h1 {
        font-size: 2.1rem;
        line-height: 1.2;
        text-shadow:
            0 2px 6px rgba(0,0,0,0.55),
            0 12px 40px rgba(0,0,0,0.8);
    }

    .hero-content p {
        font-size: 1rem;
        text-shadow:
            0 2px 6px rgba(0,0,0,0.55),
            0 10px 30px rgba(0,0,0,0.75);
    }

    .hero-buttons {
        flex-direction: column;
        gap: 14px;
        width: 100%;
    }

    .btn {
        width: 100%;
        text-align: center;
    }
}



/* services tablet view */
@media (max-width: 992px) {
    .homepage-services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 36px;
    }

    .homepage-services-grid .service-card {
        padding: 70px 30px 45px;
    }

    .homepage-services-grid .service-icon {
        width: 96px;
        height: 96px;
    }

    .homepage-services-grid .service-icon img {
        max-width: 64px;
        width: 100%;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .homepage-services-grid {
        grid-template-columns: 1fr;
    }

    .homepage-services-grid .service-card {
        padding: 65px 25px 45px;
    }

    .homepage-services-grid .service-icon {
        width: 90px;
        height: 90px;
    }

    .homepage-services-grid .service-icon img {
        max-width: 68px;
        width: 100%;
    }
}


@media (max-width: 900px) {

    .index-why-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .index-why-image {
        order: -1;
    }

    .index-why-content {
        text-align: left;
    }
}



@media (max-width: 1100px) {
    .industries-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .industries-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 900px) {
    .safety-flex {
        flex-direction: column;
        text-align: left;
        gap: 50px;
    }

    .safety-content p {
        margin-left: auto;
        margin-right: auto;
    }

    .safety-list {
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }

    
}


@media (max-width: 768px) {
    .cta-section.cta-corporate {
        padding: 85px 0;
    }

    .cta-section.cta-corporate h2 {
        font-size: 2.1rem;
    }

    .cta-section.cta-corporate p {
        font-size: 1rem;
    }

    .cta-section.cta-corporate .cta-btn {
        width: 100%;
        max-width: 280px;
    }
}



@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 45px;
    }
}

@media (max-width: 500px) {
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-col h4::after {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-logo {
        margin-left: auto;
        margin-right: auto;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .inner-hero {
        min-height: 320px;
    }

    .inner-hero h1 {
        font-size: 2.2rem;
    }

    .inner-hero p {
        font-size: 1rem;
    }
}

@media (max-width: 900px) {

    .contact-section {
        padding: 70px 12px;
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .contact-form {
        padding: 36px 22px;
        border-radius: 16px;
    }

    .contact-form h2 {
        font-size: 26px;
    }

    .form-subtext {
        font-size: 14px;
        margin-bottom: 30px;
    }

    .form-group input,
    .form-group textarea {
        font-size: 14px;
        padding: 16px;
    }

    .contact-form .btn-primary {
        height: 52px;
        font-size: 15px;
    }

    .map-section iframe {
        height: 300px;
    }
}



@media (max-width: 768px) {

    .quote-section {
        padding: 70px 12px;
    }

    .quote-box {
        padding: 36px 22px;
        border-radius: 16px;
    }

    .quote-box h2 {
        font-size: 26px;
    }

    .quote-intro {
        font-size: 15px;
        margin-bottom: 32px;
    }

    .quote-form .form-row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .quote-form input,
    .quote-form select,
    .quote-form textarea {
        font-size: 14px;
        padding: 14px 16px;
    }

    .quote-form .btn-primary {
        height: 52px;
        font-size: 15px;
    }
}


/* =========================
   about us
   ========================= */

@media (max-width: 900px) {
    .about-grid,
    .values-grid,
    .why-grid,
    .counter-grid {
        grid-template-columns: 1fr;
    }

    .about-counters {
        padding: 90px 0;
    }

    .counter-number {
        font-size: 2.6rem;
    }

    .cta-box h2 {
        font-size: 2rem;
    }
    
    .story-grid {
        grid-template-columns: 1fr;
    }

    .story-images {
        grid-template-columns: 1fr;
    }

    .story-images img:nth-child(1) {
        grid-column: auto;
    }
    
    .about-cta.about-cta-corporate {
        padding: 85px 0;
    }

    .about-cta.about-cta-corporate h2 {
        font-size: 2.1rem;
    }

    .about-cta.about-cta-corporate p {
        font-size: 1rem;
    }

    .about-cta.about-cta-corporate .cta-btn {
        width: 100%;
        max-width: 280px;
    }
}

@media (max-width: 992px) {
    .services-grid,
    .benefits-grid {
        grid-template-columns: 1fr;
    }

    .service-card,
    .benefit-box {
        margin-bottom: 28px;
    }
}

@media (max-width: 576px) {
    .service-card {
        padding: 40px 25px;
    }

    .service-icon {
        width: 96px;
        height: 96px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .service-icon img {
        max-width: 64px;
        width: 100%;
    }

    .service-card h3,
    .benefit-box h4 {
        font-size: 18px;
    }

    .service-section .section-header h2,
    .service-benefits h2 {
        font-size: 28px;
    }

    .services-cta .cta-box h2 {
        font-size: 2.2rem;
    }
}


@media (pointer: coarse) {
    .os-scrollbar {
        --os-size: 6px;
    }
    
    .os-scrollbar.scrolling .os-scrollbar-handle::after {
        animation-duration: 1.2s;
    }
    
    .os-scrollbar > .os-scrollbar-track {
        background: transparent;
    }
    
    .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {
        background: rgba(31, 79, 216, 0.85);
        box-shadow: none;
    }
}