*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:'Poppins',sans-serif;

}

a{

text-decoration:none;

}

li{

list-style:none;

}

/* Navbar */

/* ===========================
   RESPONSIVE NAVBAR
=========================== */

.navbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:80px;
    padding:0 8%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#fff;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    z-index:9999;
}

.logo img{
    width: 85px;
    height: 85px;
}

.nav-menu{
    display:flex;
    align-items:center;
    gap:35px;
}

.nav-menu li{
    list-style:none;
}

.nav-menu a{
    text-decoration:none;
    color:#333;
    font-size:16px;
    font-weight:500;
    transition:.3s;
}

.nav-menu a:hover,
.nav-menu a.active{
    color:#0077ff;
}

.menu-btn{
    display:none;
    font-size:30px;
    cursor:pointer;
    color:#0077ff;
}





@media(max-width:992px){

.navbar{
    padding:0 5%;
}

.nav-menu{
    gap:20px;
}

}




@media(max-width:768px){

.menu-btn{
    display:block;
    z-index:10001;
}

.nav-menu{

    position:fixed;

    top:80px;

    left:-100%;

    width:100%;

    height:calc(100vh - 80px);

    background:#fff;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    align-items:center;

    padding-top:50px;

    gap:30px;

    transition:.4s;

    box-shadow:0 10px 20px rgba(0,0,0,.08);

}

.nav-menu.active{

    left:0;

}

.nav-menu li{

    width:100%;

    text-align:center;

}

.nav-menu li a{

    display:block;

    width:100%;

    padding:15px;

    font-size:20px;

}

}

/* HERO */

.hero{

padding:140px 8% 80px;

background:linear-gradient(135deg,#eaf7ff,#ffffff);

min-height:100vh;

display:flex;

align-items:center;

}

.hero-container{

display:grid;

grid-template-columns:1fr 1fr;

align-items:center;

gap:60px;

width:100%;

}

.hero-badge{

display:inline-flex;

align-items:center;

gap:10px;

background:#dff7ea;

color:#00a651;

padding:10px 22px;

border-radius:40px;

font-weight:600;

margin-bottom:20px;

}

.hero h1{

font-size:56px;

line-height:1.2;

color:#1f2937;

margin-bottom:25px;

}

.hero h1 span{

color:#0077ff;

}

.hero p{

font-size:18px;

color:#666;

line-height:1.8;

margin-bottom:35px;

}

.hero-buttons{

display:flex;

gap:20px;

margin-bottom:40px;

flex-wrap:wrap;

}

.btn-primary,

.btn-secondary{

padding:15px 30px;

border-radius:8px;

font-weight:600;

transition:.3s;

display:flex;

align-items:center;

gap:10px;

}

.btn-primary{

background:#0077ff;

color:#fff;

}

.btn-primary:hover{

background:#005fd4;

transform:translateY(-4px);

}

.btn-secondary{

background:#25d366;

color:#fff;

}

.btn-secondary:hover{

background:#1fa956;

transform:translateY(-4px);

}

.hero-features{

display:flex;

gap:25px;

flex-wrap:wrap;

}

.feature{

display:flex;

align-items:center;

gap:15px;

background:#fff;

padding:18px;

border-radius:12px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.feature i{

font-size:28px;

color:#0077ff;

}

.feature h3{

font-size:16px;

}

.feature p{

font-size:14px;

margin:0;

}

.hero-image{

position:relative;

display:flex;

justify-content:center;

}

.hero-image img{

width:100%;

max-width:470px;

animation:float 4s ease-in-out infinite;

}

.rating-card{

position:absolute;

bottom:30px;

left:-20px;

background:#fff;

padding:18px 24px;

border-radius:12px;

box-shadow:0 15px 35px rgba(0,0,0,.1);

}

.rating-card h2{

color:#ffc107;

font-size:24px;

margin-bottom:5px;

}

.rating-card p{

font-size:15px;

margin:0;

}

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}

@media(max-width:992px){

.hero{

padding-top:120px;

}

.hero-container{

grid-template-columns:1fr;

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.hero-features{

justify-content:center;

}

.hero h1{

font-size:42px;

}

.hero-image{

margin-top:40px;

}

.rating-card{

left:50%;

transform:translateX(-50%);

}

}

@media(max-width:576px){

.hero h1{

font-size:32px;

}

.hero p{

font-size:16px;

}

.hero-image img{

max-width:320px;

}

.hero-buttons{

flex-direction:column;

}

.btn-primary,

.btn-secondary{

justify-content:center;

width:100%;

}

}











/*=========================
      ABOUT SECTION
=========================*/

.about{

padding:100px 8%;

background:#ffffff;

/* Scroll Animation */

opacity:0;

transform:translateY(80px);

transition:all 1s ease;

}

.about.show{

opacity:1;

transform:translateY(0);

}

.container{

max-width:1200px;

margin:auto;

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.about-image{

position:relative;

}

.about-image img{

width:100%;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.12);

}

.experience-box{

position:absolute;

bottom:20px;

right:-20px;

background:#0077ff;

color:#fff;

padding:20px 30px;

border-radius:15px;

text-align:center;

box-shadow:0 15px 35px rgba(0,0,0,.2);

}

.experience-box h2{

font-size:42px;

margin-bottom:5px;

}

.section-tag{

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 22px;

background:#e8f7ff;

border-radius:30px;

color:#0077ff;

font-weight:600;

margin-bottom:20px;

}

.about-content h2{

font-size:42px;

line-height:1.3;

margin-bottom:20px;

color:#1f2937;

}

.about-content h2 span{

color:#0077ff;

}

.about-content p{

font-size:17px;

line-height:1.8;

color:#666;

margin-bottom:20px;

}

.about-list{

display:grid;

grid-template-columns:1fr 1fr;

gap:18px;

margin:35px 0;

}

.list-item{

display:flex;

align-items:center;

gap:10px;

font-weight:500;

color:#333;

}

.list-item i{

color:#00b894;

font-size:18px;

}

.about-btn{

display:inline-flex;

align-items:center;

gap:10px;

padding:15px 32px;

background:#0077ff;

color:#fff;

border-radius:8px;

font-weight:600;

transition:.3s;

}

.about-btn:hover{

background:#005fd4;

transform:translateY(-4px);

}

@media(max-width:992px){

.container{

grid-template-columns:1fr;

}

.about-content{

text-align:center;

}

.about-list{

grid-template-columns:1fr;

}

.about-btn{

justify-content:center;

}

.experience-box{

right:20px;

}

}

@media(max-width:576px){

.about{

padding:70px 20px;

}

.about-content h2{

font-size:32px;

}

.experience-box{

padding:15px 20px;

}

.experience-box h2{

font-size:30px;

}

}








/*=========================
      SERVICES SECTION
=========================*/

.services{

padding:100px 8%;

background:#f7fbff;

}

.section-title{

text-align:center;

max-width:700px;

margin:auto;

margin-bottom:60px;

}

.section-title span{

display:inline-block;

padding:8px 20px;

background:#e8f4ff;

color:#0077ff;

border-radius:30px;

font-weight:600;

margin-bottom:15px;

}

.section-title h2{

font-size:42px;

color:#1f2937;

margin-bottom:15px;

}

.section-title p{

font-size:17px;

color:#666;

line-height:1.8;

}

.services-container{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.service-card{

background:#fff;

padding:40px 30px;

border-radius:18px;

text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.4s;

cursor:pointer;

}

.service-card:hover{

transform:translateY(-12px);

box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.service-card i{

font-size:55px;

color:#0077ff;

margin-bottom:25px;

}

.service-card h3{

font-size:24px;

margin-bottom:15px;

color:#1f2937;

}

.service-card p{

font-size:16px;

line-height:1.8;

color:#666;

}

@media(max-width:992px){

.services-container{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.services-container{

grid-template-columns:1fr;

}

.section-title h2{

font-size:32px;

}

}






/*=========================
        GALLERY
=========================*/

.gallery{

padding:100px 8%;

background:#ffffff;

}

.gallery-container{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

.gallery-item{

overflow:hidden;

border-radius:15px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

cursor:pointer;

}

.gallery-item img{

width:100%;

display:block;

transition:.5s;

}

.gallery-item:hover img{

transform:scale(1.1);

}

/*=========================
        CTA
=========================*/

.cta{

padding:100px 8%;

background:linear-gradient(135deg,#0077ff,#00a651);

text-align:center;

color:#fff;

}

.cta h2{

font-size:42px;

margin-bottom:20px;

}

.cta p{

font-size:18px;

max-width:700px;

margin:auto;

line-height:1.8;

margin-bottom:40px;

}

.cta-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.cta-call,

.cta-whatsapp{

padding:16px 35px;

border-radius:8px;

font-weight:600;

display:flex;

align-items:center;

gap:10px;

transition:.3s;

}

.cta-call{

background:#ffffff;

color:#0077ff;

}

.cta-whatsapp{

background:#25d366;

color:#fff;

}

.cta-call:hover,

.cta-whatsapp:hover{

transform:translateY(-5px);

}

@media(max-width:992px){

.gallery-container{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.gallery-container{

grid-template-columns:1fr;

}

.cta h2{

font-size:32px;

}

}





/*=========================
      TESTIMONIALS
=========================*/

.testimonials{

padding:100px 8%;

background:#f7fbff;

}

.testimonial-slider{

max-width:850px;

margin:auto;

position:relative;

}

.testimonial-card{

display:none;

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 15px 35px rgba(0,0,0,.08);

text-align:center;

}

.testimonial-card.active{

display:block;

animation:fade .6s ease;

}

.stars{

font-size:26px;

color:#ffc107;

margin-bottom:20px;

}

.testimonial-card p{

font-size:17px;

line-height:1.8;

color:#666;

margin-bottom:30px;

}

.client{

display:flex;

justify-content:center;

align-items:center;

gap:15px;

}

.client img{

width:70px;

height:70px;

border-radius:50%;

object-fit:cover;

}

.client h3{

font-size:20px;

color:#1f2937;

}

.client span{

color:#0077ff;

}

@keyframes fade{

from{

opacity:0;

transform:translateY(20px);

}

to{

opacity:1;

transform:translateY(0);

}

}

@media(max-width:768px){

.testimonial-card{

padding:25px;

}

}







/*=========================
          FAQ
=========================*/

.faq{

padding:100px 8%;

background:#ffffff;

}

.faq-container{

max-width:900px;

margin:50px auto 0;

}

.faq-item{

background:#fff;

border-radius:12px;

margin-bottom:20px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

overflow:hidden;

}

.faq-question{

width:100%;

background:none;

border:none;

padding:22px 30px;

display:flex;

justify-content:space-between;

align-items:center;

font-size:18px;

font-weight:600;

cursor:pointer;

color:#1f2937;

}

.faq-question i{

color:#0077ff;

transition:.3s;

}

.faq-answer{

max-height:0;

overflow:hidden;

transition:max-height .4s ease;

}

.faq-answer p{

padding:0 30px 25px;

line-height:1.8;

color:#666;

}

.faq-item.active .faq-answer{

max-height:250px;

}

.faq-item.active .faq-question i{

transform:rotate(45deg);

}

@media(max-width:768px){

.faq-question{

font-size:16px;

padding:18px;

}

.faq-answer p{

padding:0 18px 20px;

}

}





/*=========================
        CONTACT
=========================*/

.contact{

padding:100px 8%;

background:#f7fbff;

}

.contact-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;

margin-top:60px;

}

.contact-info{

display:grid;

gap:20px;

}

.contact-card{

display:flex;

align-items:center;

gap:20px;

background:#fff;

padding:25px;

border-radius:15px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.3s;

}

.contact-card:hover{

transform:translateY(-5px);

}

.contact-card i{

font-size:28px;

color:#0077ff;

width:55px;

height:55px;

display:flex;

justify-content:center;

align-items:center;

background:#eaf4ff;

border-radius:50%;

}

.contact-card h3{

margin-bottom:5px;

color:#1f2937;

}

.contact-card p{

color:#666;

}

.contact-form{

background:#fff;

padding:35px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.contact-form input,

.contact-form textarea{

width:100%;

padding:15px;

margin-bottom:18px;

border:1px solid #ddd;

border-radius:8px;

font-size:16px;

font-family:Poppins,sans-serif;

outline:none;

transition:.3s;

}

.contact-form input:focus,

.contact-form textarea:focus{

border-color:#0077ff;

}

.contact-form button{

width:100%;

padding:16px;

background:#0077ff;

color:#fff;

border:none;

border-radius:8px;

font-size:17px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.contact-form button:hover{

background:#005fd4;

}

/*=========================
        MAP
=========================*/

.map{

width:100%;

}

.map iframe{

width:100%;

height:450px;

border:none;

display:block;

}

@media(max-width:992px){

.contact-container{

grid-template-columns:1fr;

}

}

@media(max-width:576px){

.contact{

padding:70px 20px;

}

.map iframe{

height:320px;

}

}





/*=========================
        FOOTER
=========================*/

.footer{

background:#0d1b2a;

color:#ffffff;

padding:80px 8% 0;

}

.footer-container{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:40px;

}

.footer-box h2{

font-size:28px;

margin-bottom:20px;

color:#ffffff;

}

.footer-box h3{

margin-bottom:20px;

font-size:22px;

color:#ffffff;

}

.footer-box p{

line-height:1.8;

color:#d8d8d8;

margin-bottom:10px;

}

.footer-box ul{

list-style:none;

}

.footer-box ul li{

margin-bottom:12px;

}

.footer-box ul li a{

color:#d8d8d8;

transition:.3s;

}

.footer-box ul li a:hover{

color:#00b4ff;

padding-left:6px;

}

.social-links{

display:flex;

gap:15px;

margin-top:20px;

}

.social-links a{

width:45px;

height:45px;

background:#1b2b42;

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

color:#ffffff;

font-size:18px;

transition:.3s;

}

.social-links a:hover{

background:#0077ff;

transform:translateY(-5px);

}

.footer-bottom{

margin-top:60px;

border-top:1px solid rgba(255,255,255,.15);

padding:25px 0;

text-align:center;

color:#d8d8d8;

font-size:15px;

}

.footer-box i{

margin-right:10px;

color:#00b4ff;

}

@media(max-width:992px){

.footer-container{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.footer-container{

grid-template-columns:1fr;

text-align:center;

}

.social-links{

justify-content:center;

}

}




/*=========================
    FLOATING WHATSAPP
=========================*/

.whatsapp-float{

position:fixed;

right:25px;

bottom:25px;

width:65px;

height:65px;

background:#25D366;

color:#fff;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:34px;

text-decoration:none;

box-shadow:0 8px 25px rgba(37,211,102,.45);

z-index:9999;

transition:.3s;

animation:whatsappPulse 2s infinite;

}

.whatsapp-float:hover{

transform:scale(1.1);

background:#1EBE5D;

}

@keyframes whatsappPulse{

0%{

box-shadow:0 0 0 0 rgba(37,211,102,.6);

}

70%{

box-shadow:0 0 0 18px rgba(37,211,102,0);

}

100%{

box-shadow:0 0 0 0 rgba(37,211,102,0);

}

}

@media(max-width:768px){

.whatsapp-float{

width:58px;

height:58px;

font-size:30px;

right:18px;

bottom:18px;

}

}




/*=========================
    FLOATING CALL BUTTON
=========================*/

.call-float{

position:fixed;

right:25px;

bottom:105px;

width:65px;

height:65px;

background:#0077ff;

color:#fff;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:30px;

text-decoration:none;

box-shadow:0 8px 25px rgba(0,119,255,.35);

z-index:9999;

transition:.3s;

animation:callPulse 2s infinite;

}

.call-float:hover{

background:#005fd4;

transform:scale(1.1);

}

@keyframes callPulse{

0%{

box-shadow:0 0 0 0 rgba(0,119,255,.55);

}

70%{

box-shadow:0 0 0 18px rgba(0,119,255,0);

}

100%{

box-shadow:0 0 0 0 rgba(0,119,255,0);

}

}

@media(max-width:768px){

.call-float{

width:58px;

height:58px;

font-size:26px;

right:18px;

bottom:90px;

}

}




/*=========================
      BACK TO TOP
=========================*/

#backToTop{

position:fixed;

right:25px;

bottom:185px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#0077ff;

color:#fff;

font-size:22px;

cursor:pointer;

display:flex;

justify-content:center;

align-items:center;

box-shadow:0 10px 25px rgba(0,119,255,.35);

opacity:0;

visibility:hidden;

transform:translateY(20px);

transition:all .4s ease;

z-index:9999;

}

#backToTop.show{

opacity:1;

visibility:visible;

transform:translateY(0);

}

#backToTop:hover{

background:#005fd4;

transform:translateY(-5px);

}

@media(max-width:768px){

#backToTop{

width:50px;

height:50px;

font-size:20px;

right:18px;

bottom:160px;

}

}






/*=========================
        PRELOADER
=========================*/

#preloader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:#ffffff;

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

transition:opacity .6s ease, visibility .6s ease;

}

#preloader.hide{

opacity:0;

visibility:hidden;

}

.loader{

position:relative;

text-align:center;

}

.loader-circle{

width:100px;

height:100px;

border:6px solid #d9ecff;

border-top:6px solid #0077ff;

border-radius:50%;

animation:spin 1s linear infinite;

margin:auto;

}

.loader i{

position:absolute;

top:32px;

left:50%;

transform:translateX(-50%);

font-size:34px;

color:#0077ff;

}

.loader h2{

margin-top:25px;

font-size:28px;

color:#1f2937;

}

.loader p{

margin-top:8px;

font-size:16px;

color:#666;

}

@keyframes spin{

0%{

transform:rotate(0deg);

}

100%{

transform:rotate(360deg);

}

}

@media(max-width:768px){

.loader-circle{

width:80px;

height:80px;

}

.loader i{

font-size:28px;

top:26px;

}

.loader h2{

font-size:22px;

}

}