/* ==========================
TABLET DEVICES
========================== */

@media (max-width:1200px){

.hero-text h1{

    font-size:60px;
}

.section-title h2{

    font-size:45px;
}

.cta-card h2,
.quality-card h2,
.map-card h2{

    font-size:40px;
}

.footer-grid{

    gap:40px;
}

}



/* ==========================
TABLETS
========================== */

@media (max-width:992px){

.container{

    width:92%;
}


/* HERO */

.hero-text h1,
.about-hero .hero-text h1,
.contact-hero .hero-text h1{

    font-size:52px;
}


.hero-text p{

    font-size:18px;
}


/* GRID FIXES */

.footer-grid,
.contact-grid,
.services-grid,
.why-grid,
.about-grid{

    grid-template-columns:1fr 1fr;
}


/* COUNTER */

.counter-grid{

    grid-template-columns:1fr;
}


/* CARDS */

.about-card,
.service-card,
.contact-card,
.why-card{

    padding:35px;
}

}



/* ==========================
MOBILE DEVICES
========================== */

@media (max-width:768px){

html{

    overflow-x:hidden;
}

body{

    overflow-x:hidden;
}


/* NAVBAR */

.navbar{

    padding:18px 0;
}


.logo{

    font-size:24px;
}


/* HAMBURGER */

.menu-btn{

    display:block;

    color:#111;

    font-size:30px;
}


/* MOBILE MENU */

.nav-links{

    position:absolute;

    top:80px;
    right:-100%;

    width:270px;

    background:
    rgba(255,255,255,.97);

    backdrop-filter:
    blur(30px);

    border-radius:30px;

    flex-direction:column;

    padding:30px;

    gap:25px;

    box-shadow:
    0 25px 70px
    rgba(0,0,0,.15);

    transition:.5s;

    z-index:99999;
}


.nav-links.active{

    right:0;
}


.nav-links li{

    width:100%;
}


.nav-links a{

    display:block;

    text-align:center;

    padding:15px;

    border-radius:20px;
}



/* HERO */

.hero,
.about-hero,
.contact-hero{

    min-height:90vh;

    text-align:center;
}


.hero-content{

    padding-top:80px;
}


.hero-text{

    margin:auto;
}


.hero-text h1{

    font-size:42px;

    line-height:1.3;
}


.hero-text p{

    font-size:16px;
}


.hero-buttons{

    flex-direction:column;

    gap:15px;
}


.hero-buttons .btn{

    width:100%;
}


/* HIDE FLOATING CARDS */

.floating-card{

    display:none;
}

}










































/* ==========================
SMALL MOBILE DEVICES
========================== */

@media (max-width:576px){

.container{

    width:92%;
}


/* HERO */

.hero,
.about-hero,
.contact-hero{

    min-height:85vh;

    padding:120px 0 80px;
}


.hero-text h1{

    font-size:34px;
}


.hero-text p{

    font-size:15px;

    line-height:1.8;
}


/* SECTION TITLES */

.section-title{

    margin-bottom:50px;
}

.section-title h2{

    font-size:32px;
}

.section-title p{

    font-size:15px;
}


/* ALL GRIDS */

.footer-grid,
.contact-grid,
.services-grid,
.why-grid,
.about-grid{

    grid-template-columns:1fr;
}


/* CARDS */

.about-card,
.service-card,
.contact-card,
.why-card,
.counter-card{

    padding:30px;
}


/* ICONS */

.about-card i,
.service-card i,
.contact-card i,
.why-card i{

    font-size:50px;
}


/* HEADINGS */

.about-card h3,
.service-card h3,
.contact-card h3,
.why-card h3{

    font-size:25px;
}


/* CTA */

.cta-card{

    padding:45px 25px;
}

.cta-card h2{

    font-size:32px;
}

.cta-card p{

    font-size:15px;
}


/* QUALITY */

.quality-card,
.map-card{

    padding:40px 25px;
}

.quality-card h2,
.map-card h2{

    font-size:30px;
}


/* FOOTER */

.footer-grid{

    text-align:center;
}

.footer-grid h3{

    font-size:26px;
}


/* WHATSAPP */

.whatsapp{

    width:60px;
    height:60px;

    right:20px;
    bottom:20px;

    font-size:28px;
}

}



/* ==========================
VERY SMALL PHONES
========================== */

@media (max-width:400px){

.logo{

    font-size:20px;
}


.hero-text h1{

    font-size:28px;
}


.hero-text p{

    font-size:14px;
}


.section-title h2{

    font-size:28px;
}


.nav-links{

    width:240px;
}

}



/* ==========================
PERFORMANCE OPTIMIZATION
========================== */

/* Disable heavy effects on mobile */

@media (max-width:768px){

.hero,
.about-hero,
.contact-hero{

    background-attachment:scroll;
}


/* Reduce blur */

.about-card,
.service-card,
.contact-card,
.why-card,
.cta-card{

    backdrop-filter:blur(10px);
}


/* Disable heavy hover effects */

.about-card:hover,
.service-card:hover,
.contact-card:hover,
.why-card:hover{

    transform:none;
}


/* Smooth scrolling */

html{

    scroll-behavior:smooth;
}

}



/* ==========================
FIX MOBILE ZOOM ISSUE
========================== */

html{

    width:100%;
    overflow-x:hidden;
}

body{

    width:100%;
    overflow-x:hidden;
}


/* Prevent images from stretching */

img{

    max-width:100%;
    height:auto;
}


/* Prevent cards from overflowing */

.about-card,
.service-card,
.contact-card,
.why-card,
.counter-card{

    overflow:hidden;
}



/* ==========================
LANDSCAPE MOBILE
========================== */

@media (max-height:500px){

.hero,
.about-hero,
.contact-hero{

    min-height:120vh;
}

}











































