/* ===========================
   Google Font
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

body{
    font-family:'Poppins',sans-serif;
    background:#fafafa;
}


/*=============================
Header
==============================*/

.header-area{
    background:#fff;
    position:sticky;
    top:0;
    z-index:999;
}


/* Logo */

.logo{
    height:80px;
}


/* Navbar */

.navbar-nav .nav-item{
    margin:0 10px;
}

.nav-link{

    color:#222 !important;

    font-weight:500;

    transition:.3s;

}

.nav-link:hover{

    color:#7b2cbf !important;

}

.nav-link.active{

    color:#7b2cbf !important;

}


/* Dropdown */

.dropdown-menu{

    border:none;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    border-radius:15px;

}

.dropdown-item{

    padding:10px 20px;

}

.dropdown-item:hover{

    background:#7b2cbf;

    color:#fff;

}


/* Phone */

.call-box{

    background:#fff;

    border-radius:50px;

    padding:12px 22px;

    box-shadow:0 5px 18px rgba(0,0,0,.08);

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:600;

}

.call-box i{

    width:40px;

    height:40px;

    background:#f3ebff;

    color:#7b2cbf;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

}


/* Button */

.quote-btn{

    background:#7b2cbf;

    color:#fff;

    padding:14px 28px;

    border-radius:12px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.quote-btn:hover{

    background:#5a189a;

    color:#fff;

}


/* Mobile */

@media(max-width:991px){

.call-box{

margin:20px 0;

}

.quote-btn{

display:inline-block;

margin-bottom:20px;

}

.navbar-nav{

margin:20px 0;

}

}

/*==============================
Footer
===============================*/

.footer-section{

    background:linear-gradient(135deg,#1f1237,#2f1756);

    color:#fff;

    padding:70px 0 0;

    position:relative;

}

.footer-logo{

    width:190px;

}

.footer-text{

    color:#d9d3ea;

    font-size:14px;

    line-height:28px;

    margin-top:15px;

}

.footer-section h5{

    color:#fff;

    font-size:20px;

    margin-bottom:22px;

    font-weight:600;

}

.footer-links{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-links li{

    margin-bottom:12px;

}

.footer-links li a{

    color:#d8d5e5;

    text-decoration:none;

    transition:.3s;

    font-size:15px;

}

.footer-links li a:hover{

    color:#b77cff;

    padding-left:8px;

}

.contact-list{

    list-style:none;

    padding:0;

}

.contact-list li{

    display:flex;

    align-items:flex-start;

    gap:12px;

    margin-bottom:18px;

    color:#d8d5e5;

    font-size:15px;

    line-height:24px;

}

.contact-list i{

    color:#b77cff;

    margin-top:5px;

    width:20px;

}

.social-icons{

    margin-top:25px;

}

.social-icons a{

    width:40px;

    height:40px;

    display:inline-flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    margin-right:10px;

    background:rgba(255,255,255,.12);

    color:#fff;

    transition:.3s;

}

.social-icons a:hover{

    background:#7b2cbf;

    transform:translateY(-5px);

}

.footer-bottom{

    margin-top:60px;

    border-top:1px solid rgba(255,255,255,.08);

    padding:18px 0;

    text-align:center;

    color:#cfc8df;

    font-size:14px;

}

/* WhatsApp */

.whatsapp-btn{

    position:fixed;

    right:25px;

    bottom:25px;

    width:60px;

    height:60px;

    background:#25D366;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    text-decoration:none;

    font-size:28px;

    box-shadow:0 10px 30px rgba(0,0,0,.25);

    z-index:999;

    transition:.3s;

}

.whatsapp-btn:hover{

    color:#fff;

    transform:scale(1.08);

}

@media(max-width:991px){

.footer-section{

text-align:center;

}

.contact-list li{

justify-content:center;

}

.footer-logo{

margin:auto;

display:block;

}

}

/*=====================================
        HERO SECTION
=====================================*/

.hero-section{
    background: linear-gradient(135deg,#fbf8ff 0%,#f4eeff 50%,#ffffff 100%);
    position: relative;
    padding:90px 0;
}

/*============================
        Badge
============================*/

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#fff;
    padding:10px 20px;
    border-radius:50px;
    font-size:14px;
    font-weight:600;
    color:#6f42c1;
    box-shadow:0 10px 25px rgba(111,66,193,.12);
}

.hero-badge i{
    color:#7c3aed;
}

/*============================
        Heading
============================*/

.hero-title{
    font-size:58px;
    font-weight:800;
    line-height:1.15;
    color:#1f2937;
}

.hero-title span{
    color:#7c3aed;
}

.hero-text{
    font-size:18px;
    line-height:32px;
    color:#6b7280;
    max-width:470px;
}

/*============================
        Statistics
============================*/

.hero-stats{
    display:flex;
    gap:28px;
    flex-wrap:wrap;
}

.stat-item{
    display:flex;
    align-items:center;
    gap:12px;
}

.stat-item h6{
    margin:0;
    font-size:18px;
    font-weight:700;
    color:#222;
}

.stat-item small{
    color:#777;
    font-size:13px;
}

.icon{
    width:52px;
    height:52px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    background:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.icon.purple{
    color:#7c3aed;
}

.icon.yellow{
    color:#f59e0b;
}

.icon.green{
    color:#10b981;
}

/*============================
        Buttons
============================*/

.hero-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.btn-book{
    background:#7c3aed;
    color:#fff;
    padding:15px 34px;
    border-radius:12px;
    font-weight:600;
    transition:.3s;
}

.btn-book:hover{
    background:#6425d3;
    color:#fff;
    transform:translateY(-3px);
}

.btn-service{
    background:#fff;
    border:2px solid #7c3aed;
    color:#7c3aed;
    padding:15px 34px;
    border-radius:12px;
    font-weight:600;
    transition:.3s;
}

.btn-service:hover{
    background:#7c3aed;
    color:#fff;
}

/*============================
        Center Image
============================*/

.hero-image-wrapper{
    position:relative;
}

.hero-image{
    max-width:100%;
    border-radius:25px;
    filter:drop-shadow(0 30px 45px rgba(0,0,0,.18));
}

/*============================
        Quote Card
============================*/

.quote-card{
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);
    border-radius:25px;
    padding:35px;
    box-shadow:0 20px 45px rgba(124,58,237,.15);
}

.quote-card h3{
    font-size:30px;
    font-weight:700;
    color:#222;
}

/*============================
        Tabs
============================*/

.quote-tabs{
    background:#f4f2fb;
    border-radius:50px;
    padding:6px;
    display:flex;
}

.quote-tabs button{
    width:50%;
    border:none;
    background:none;
    padding:12px;
    border-radius:40px;
    font-weight:600;
    transition:.3s;
}

.quote-tabs button.active{
    background:#7c3aed;
    color:#fff;
}

/*============================
        Form
============================*/

.quote-card label{
    font-weight:600;
    font-size:14px;
    color:#555;
}

.quote-card .form-control,
.quote-card .form-select{

    height:54px;
    border-radius:12px;
    border:1px solid #ddd;
    box-shadow:none;

}

.quote-card .form-control:focus,
.quote-card .form-select:focus{

    border-color:#7c3aed;
    box-shadow:0 0 0 .2rem rgba(124,58,237,.15);

}

.input-group-text{

    background:#fff;
    border-right:none;
    border-radius:12px 0 0 12px;
    color:#7c3aed;

}

.input-group .form-control{

    border-left:none;

}

.quote-btn{

    background:#7c3aed;
    color:#fff;
    border:none;
    height:56px;
    font-size:18px;
    font-weight:600;
    border-radius:14px;
    transition:.3s;

}

.quote-btn:hover{

    background:#6125cb;
    color:#fff;
    transform:translateY(-2px);

}

.quote-small{

    color:#888;
    font-size:14px;

}

/*============================
        Bottom Features
============================*/

.hero-features{

    margin-top:80px;
    background:#fff;
    border-radius:20px;
    padding:30px;
    box-shadow:0 15px 35px rgba(0,0,0,.06);

}

.feature-box{

    display:flex;
    align-items:center;
    gap:18px;

}

.feature-icon{

    width:65px;
    height:65px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    background:#faf7ff;

}

.feature-icon.purple{

    color:#7c3aed;

}

.feature-icon.red{

    color:#ef4444;

}

.feature-icon.blue{

    color:#2563eb;

}

.feature-icon.green{

    color:#10b981;

}

.feature-box h6{

    margin-bottom:6px;
    font-weight:700;
    font-size:18px;

}

.feature-box p{

    margin:0;
    color:#777;
    font-size:14px;

}

/*============================
        Hover Effect
============================*/

.feature-box{

    transition:.3s;

}

.feature-box:hover{

    transform:translateY(-6px);

}

.quote-card{

    transition:.4s;

}

.quote-card:hover{

    transform:translateY(-8px);

}

/*============================
        Responsive
============================*/

@media(max-width:1200px){

.hero-title{

    font-size:48px;

}

}

@media(max-width:991px){

.hero-section{

    text-align:center;

}

.hero-title{

    font-size:42px;

}

.hero-text{

    margin:auto;

}

.hero-buttons,
.hero-stats{

    justify-content:center;

}

.feature-box{

    justify-content:center;
    text-align:center;
    flex-direction:column;

}

.quote-card{

    margin-top:40px;

}

}

@media(max-width:767px){

.hero-title{

    font-size:34px;

}

.hero-text{

    font-size:16px;
    line-height:28px;

}

.hero-buttons{

    flex-direction:column;

}

.hero-buttons .btn{

    width:100%;

}

.hero-stats{

    flex-direction:column;
    align-items:center;

}

.quote-card{

    padding:25px;

}

.hero-features{

    padding:25px;

}

}

/*==============================
Decorative Elements
===============================*/

.hero-circle{

    position:absolute;
    border-radius:50%;
    z-index:0;

}

.hero-circle-1{

    width:280px;
    height:280px;
    background:rgba(124,58,237,.08);

    top:-80px;
    left:-80px;

}

.hero-circle-2{

    width:220px;
    height:220px;

    background:rgba(168,85,247,.08);

    bottom:-80px;
    right:-70px;

}

.hero-circle-3{

    width:120px;
    height:120px;

    background:rgba(139,92,246,.15);

    top:140px;
    right:32%;

}

/*======================*/

.hero-dot{

    position:absolute;

    border-radius:50%;

    animation:floatDot 5s infinite ease-in-out;

}

.hero-dot-1{

    width:16px;
    height:16px;

    background:#7c3aed;

    top:170px;
    left:48%;

}

.hero-dot-2{

    width:10px;
    height:10px;

    background:#c084fc;

    bottom:120px;
    right:25%;

}

/*======================*/

.hero-wave{

    position:absolute;

    top:60px;
    right:40px;

    font-size:45px;

    color:#7c3aed;

    animation:waveMove 3s infinite ease-in-out;

}

/*======================*/

.hero-section .container{

    position:relative;
    z-index:2;

}

/*======================*/

@keyframes floatDot{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-12px);

}

100%{

transform:translateY(0);

}

}

/*======================*/

@keyframes waveMove{

0%{

transform:rotate(0deg);

}

50%{

transform:rotate(10deg);

}

100%{

transform:rotate(0deg);

}

}

.hero-image{

    animation:floating 5s ease-in-out infinite;

}

@keyframes floating{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}

.btn-book,
.quote-btn{

    position:relative;

    overflow:hidden;

}

.btn-book::before,
.quote-btn::before{

    content:'';

    position:absolute;

    width:0;

    height:0;

    border-radius:50%;

    background:rgba(255,255,255,.3);

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    transition:.6s;

}

.btn-book:hover::before,
.quote-btn:hover::before{

    width:350px;

    height:350px;

}

.feature-box{

    cursor:pointer;

    padding:15px;

    border-radius:15px;

}

.feature-box:hover{

    background:#faf7ff;

    box-shadow:0 10px 25px rgba(124,58,237,.12);

}

.quote-card{

    animation:upDown 4s infinite ease-in-out;

}

@keyframes upDown{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-8px);

}

100%{

transform:translateY(0);

}

}

/*==================================================
            SERVICES SECTION
==================================================*/

.services-section{
    padding:100px 0;
    background:#ffffff;
    position:relative;
    overflow:hidden;
}

.section-tag{
    display:inline-block;
    color:#7c3aed;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.section-title{
    font-size:42px;
    font-weight:800;
    color:#1f2937;
}

.section-desc{
    color:#6b7280;
    font-size:17px;
    margin-top:10px;
}

/*==================================
        Service Card
==================================*/

.service-card{

    background:#fff;
    border-radius:18px;
    overflow:hidden;
    transition:.4s;
    border:1px solid #ede9fe;
    box-shadow:0 15px 35px rgba(124,58,237,.08);
    height:100%;

}

.service-card:hover{

    transform:translateY(-12px);
    box-shadow:0 25px 45px rgba(124,58,237,.18);

}

.service-image{

    position:relative;
    overflow:hidden;

}

.service-image img{

    width:100%;
    height:170px;
    object-fit:cover;
    transition:.5s;

}

.service-card:hover img{

    transform:scale(1.08);

}

.service-icon{

    position:absolute;
    top:15px;
    left:15px;

    width:45px;
    height:45px;

    border-radius:12px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#7c3aed;
    color:#fff;

    font-size:18px;

    box-shadow:0 10px 25px rgba(124,58,237,.3);

}

.service-icon.green{

    background:#10b981;

}

.service-icon.orange{

    background:#f59e0b;

}

.service-icon.blue{

    background:#2563eb;

}

.service-icon.yellow{

    background:#f59e0b;

}

.service-icon.violet{

    background:#8b5cf6;

}

.service-content{

    padding:22px;

}

.service-content h5{

    font-size:20px;
    font-weight:700;
    margin-bottom:12px;
    color:#222;

}

.service-content p{

    color:#6b7280;
    font-size:15px;
    line-height:26px;
    min-height:75px;

}

.service-content a{

    color:#7c3aed;
    text-decoration:none;
    font-weight:700;

}

.service-content a:hover{

    color:#5b21b6;

}

/*==================================
        HOW IT WORKS
==================================*/

.steps-wrapper{

    position:relative;
    padding-top:20px;

}

.step-line{

    position:absolute;
    top:55px;
    left:10%;
    width:80%;
    border-top:2px dashed #d8b4fe;
    z-index:0;

}

.step-item{

    position:relative;
    z-index:2;
    text-align:center;

}

.step-icon{

    width:80px;
    height:80px;

    margin:auto;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#f5f3ff;
    border:2px solid #ddd6fe;

    color:#7c3aed;

    font-size:28px;

    transition:.4s;

}

.step-item:hover .step-icon{

    background:#7c3aed;
    color:#fff;
    transform:rotate(10deg) scale(1.08);

}

.step-icon.green{

    color:#10b981;

}

.step-icon.orange{

    color:#f59e0b;

}

.step-icon.purple{

    color:#7c3aed;

}

.step-item h6{

    margin-top:22px;
    font-size:20px;
    font-weight:700;

}

.step-item p{

    color:#6b7280;
    font-size:15px;
    line-height:25px;

}

/*==================================
        Help Card
==================================*/

.help-card{

    background:#fff;
    border-radius:22px;
    padding:35px;
    border:1px solid #ede9fe;
    box-shadow:0 20px 40px rgba(124,58,237,.12);
    transition:.4s;

}

.help-card:hover{

    transform:translateY(-8px);

}

.help-card h4{

    font-size:28px;
    font-weight:700;

}

.help-card p{

    color:#6b7280;
    line-height:28px;

}

.help-btn{

    background:#7c3aed;
    color:#fff;
    border-radius:12px;
    padding:14px 22px;
    font-weight:600;
    margin-top:10px;

}

.help-btn:hover{

    background:#5b21b6;
    color:#fff;

}

.help-card img{

    max-height:210px;

}

/*==================================
        Decorative Background
==================================*/

.services-section::before{

    content:'';

    position:absolute;

    width:320px;
    height:320px;

    background:rgba(124,58,237,.05);

    border-radius:50%;

    top:-120px;
    right:-120px;

}

.services-section::after{

    content:'';

    position:absolute;

    width:240px;
    height:240px;

    background:rgba(168,85,247,.05);

    border-radius:50%;

    left:-120px;
    bottom:-100px;

}

/*==================================
        Animation
==================================*/

.service-card{

    animation:floatCard 6s ease-in-out infinite;

}

@keyframes floatCard{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-5px);

    }

    100%{

        transform:translateY(0);

    }

}

.help-card{

    animation:helpFloat 5s infinite ease-in-out;

}

@keyframes helpFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0);

    }

}

/*==================================
        Responsive
==================================*/

@media(max-width:1200px){

.section-title{

    font-size:36px;

}

}

@media(max-width:991px){

.service-content{

    text-align:center;

}

.step-line{

    display:none;

}

.step-item{

    margin-bottom:40px;

}

.help-card{

    margin-top:40px;

}

}

@media(max-width:767px){

.section-title{

    font-size:30px;

}

.section-desc{

    font-size:15px;

}

.service-content h5{

    font-size:18px;

}

.step-icon{

    width:65px;
    height:65px;
    font-size:22px;

}

.help-card{

    padding:25px;

}

}

/*====================================
        Background Blobs
====================================*/

.service-blob{

    position:absolute;
    border-radius:50%;
    filter:blur(30px);
    z-index:0;

}

.service-blob-1{

    width:260px;
    height:260px;
    background:rgba(124,58,237,.08);

    top:-80px;
    left:-100px;

    animation:blobMove 12s infinite ease-in-out;

}

.service-blob-2{

    width:220px;
    height:220px;
    background:rgba(168,85,247,.08);

    right:-80px;
    bottom:80px;

    animation:blobMove2 10s infinite ease-in-out;

}

/*====================================*/

@keyframes blobMove{

0%{

transform:translateY(0);

}

50%{

transform:translateY(25px);

}

100%{

transform:translateY(0);

}

}

@keyframes blobMove2{

0%{

transform:translateX(0);

}

50%{

transform:translateX(-30px);

}

100%{

transform:translateX(0);

}

}

.service-card{

    position:relative;
    overflow:hidden;

}

.service-card::before{

    content:"";

    position:absolute;

    width:80px;
    height:300px;

    background:rgba(255,255,255,.45);

    transform:rotate(35deg);

    top:-80px;
    left:-150px;

    transition:.8s;

}

.service-card:hover::before{

    left:130%;

}

.service-icon{

    transition:.4s;

}

.service-card:hover .service-icon{

    transform:rotate(15deg) scale(1.15);

}

.service-content a{

    transition:.3s;

}

.service-card:hover a{

    letter-spacing:.5px;

}

.service-content a i{

    transition:.3s;

}

.service-card:hover a i{

    transform:translateX(6px);

}

.help-card{

    position:relative;
    overflow:hidden;

}

.help-card::before{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    background:rgba(124,58,237,.08);

    border-radius:50%;

    right:-80px;
    top:-80px;

}

.help-card img{

    animation:floatSupport 4s infinite ease-in-out;

}

@keyframes floatSupport{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}
.step-item{

    transition:.4s;

}

.step-item:hover{

    transform:translateY(-8px);

}

.premium-divider{

    width:100%;
    height:1px;

    background:linear-gradient(
        to right,
        transparent,
        #c4b5fd,
        transparent
    );

}

/*==================================
        ABOUT SECTION
==================================*/

.about-section{

    padding:100px 0;
    background:linear-gradient(180deg,#faf7ff 0%,#ffffff 100%);
    position:relative;

}

.about-section .container{

    position:relative;
    z-index:2;

}

.about-images{

    position:relative;
    min-height:560px;

}

.about-image-big{

    width:78%;
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 20px 45px rgba(124,58,237,.16);

}

.about-image-big img{

    width:100%;
    height:600px;
    object-fit:cover;

}

.about-image-small{

    position:absolute;
    right:0;
    bottom:40px;
    width:44%;
    border-radius:22px;
    overflow:hidden;
    border:8px solid #fff;
    box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.about-image-small img{

    width:100%;
    height:300px;
    object-fit:cover;

}

.about-points{

    display:grid;
    gap:14px;

}

.about-point{

    display:flex;
    align-items:flex-start;
    gap:12px;
    color:#374151;
    font-size:16px;
    line-height:26px;

}

.about-point i{

    color:#7c3aed;
    margin-top:4px;

}

.about-stats{

    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;

}

.about-stat{

    background:#fff;
    border-radius:18px;
    padding:22px 18px;
    box-shadow:0 14px 30px rgba(124,58,237,.08);
    border:1px solid #efe7ff;
    text-align:center;

}

.about-stat h3{

    font-size:32px;
    font-weight:800;
    color:#7c3aed;
    margin-bottom:6px;

}

.about-stat p{

    margin:0;
    color:#6b7280;
    font-size:14px;

}

/*==================================
        PROJECTS SECTION
==================================*/

.projects-section{

    padding:90px 0 110px;
    background:#fff;
    position:relative;

}

.project-card{

    background:#fff;
    border-radius:22px;
    overflow:hidden;
    border:1px solid #ede9fe;
    box-shadow:0 18px 38px rgba(124,58,237,.08);
    transition:.4s;
    height:100%;

}

.project-card:hover{

    transform:translateY(-10px);
    box-shadow:0 26px 48px rgba(124,58,237,.16);

}

.project-image{

    overflow:hidden;

}

.project-image img{

    width:100%;
    height:240px;
    object-fit:cover;
    transition:.5s;

}

.project-card:hover .project-image img{

    transform:scale(1.06);

}

.project-content{

    padding:24px;

}

.project-label{

    display:inline-block;
    color:#7c3aed;
    background:#f4ecff;
    font-size:13px;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;
    border-radius:999px;
    padding:8px 14px;
    margin-bottom:14px;

}

.project-content h5{

    margin:0;
    font-size:20px;
    line-height:30px;
    font-weight:700;
    color:#1f2937;

}

@media(max-width:991px){

.about-images{

    min-height:unset;

}

.about-image-big{

    width:100%;

}

.about-image-big img{

    height:420px;

}

.about-image-small{

    width:42%;

}

.about-stats{

    grid-template-columns:1fr;

}

}

@media(max-width:767px){

.about-section{

    padding:75px 0;

}

.about-image-small{

    position:static;
    width:55%;
    margin-top:-70px;
    margin-left:auto;

}

.about-image-small img{

    height:180px;

}

.project-content{

    padding:20px;

}

.project-content h5{

    font-size:18px;

}

}

/*==========================================
        TESTIMONIALS SECTION
==========================================*/

.testimonial-section{

    padding:100px 0;
    background:#ffffff;
    position:relative;
    overflow:hidden;

}

.testimonial-section::before{

    content:"";
    position:absolute;
    width:300px;
    height:300px;
    border-radius:50%;
    background:rgba(124,58,237,.06);
    top:-120px;
    right:-100px;

}

.testimonial-section::after{

    content:"";
    position:absolute;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(168,85,247,.06);
    left:-100px;
    bottom:-100px;

}

.testimonial-carousel{

    position:relative;
    z-index:2;

}

.testimonial-card{

    max-width:880px;
    margin:auto;
    background:#fff;
    border:1px solid #ede9fe;
    border-radius:28px;
    padding:38px 42px;
    box-shadow:0 22px 50px rgba(124,58,237,.12);
    position:relative;
    overflow:hidden;

}

.testimonial-card::before{

    content:"";
    position:absolute;
    width:120px;
    height:120px;
    background:rgba(124,58,237,.06);
    border-radius:50%;
    top:-40px;
    right:-30px;

}

.testimonial-quote{

    width:58px;
    height:58px;
    border-radius:18px;
    background:#f4ecff;
    color:#7c3aed;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    margin-bottom:18px;

}

.testimonial-card p{

    font-size:18px;
    line-height:32px;
    color:#4b5563;
    margin-bottom:26px;

}

.testimonial-person{

    display:flex;
    align-items:center;
    gap:16px;

}

.testimonial-avatar{

    width:58px;
    height:58px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:700;
    letter-spacing:.5px;
    box-shadow:0 12px 25px rgba(124,58,237,.2);

}

.testimonial-avatar.purple{

    background:linear-gradient(135deg,#7c3aed,#a855f7);

}

.testimonial-avatar.green{

    background:linear-gradient(135deg,#10b981,#34d399);

}

.testimonial-avatar.orange{

    background:linear-gradient(135deg,#f59e0b,#f97316);

}

.testimonial-person h5{

    margin:0;
    font-size:18px;
    font-weight:700;
    color:#1f2937;

}

.testimonial-person small{

    color:#6b7280;
    font-size:14px;

}

.testimonial-indicators{

    position:static;
    margin:0 0 28px;

}

.testimonial-indicators [data-bs-target]{

    width:12px;
    height:12px;
    border-radius:50%;
    background:#d8b4fe;
    border:none;
    opacity:1;

}

.testimonial-indicators .active{

    background:#7c3aed;

}

.testimonial-control{

    width:58px;
    height:58px;
    top:50%;
    transform:translateY(-50%);
    border-radius:50%;
    background:#fff;
    border:1px solid #ede9fe;
    box-shadow:0 12px 28px rgba(124,58,237,.15);
    opacity:1;

}

.testimonial-control:hover{

    background:#7c3aed;

}

.testimonial-control .carousel-control-prev-icon,
.testimonial-control .carousel-control-next-icon{

    filter:invert(32%) sepia(82%) saturate(2121%) hue-rotate(236deg) brightness(95%) contrast(91%);

}

.testimonial-control:hover .carousel-control-prev-icon,
.testimonial-control:hover .carousel-control-next-icon{

    filter:brightness(0) invert(1);

}

/*==========================================
        CITY BADGES SECTION
==========================================*/

.cities-section{

    padding:30px 0 110px;
    background:linear-gradient(180deg,#ffffff 0%,#faf7ff 100%);

}

.city-banner{

    background:#fff;
    border:1px solid #ede9fe;
    border-radius:28px;
    padding:36px;
    box-shadow:0 20px 45px rgba(124,58,237,.10);
    position:relative;
    overflow:hidden;

}

.city-banner::before{

    content:"";
    position:absolute;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(124,58,237,.05);
    top:-80px;
    right:-80px;

}

.city-badges{

    display:flex;
    flex-wrap:wrap;
    gap:14px;
    position:relative;
    z-index:2;

}

.city-badge{

    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#f7f2ff;
    color:#4c1d95;
    border:1px solid #e9d5ff;
    border-radius:999px;
    padding:12px 18px;
    font-size:15px;
    font-weight:600;
    box-shadow:0 10px 22px rgba(124,58,237,.08);
    transition:.3s;

}

.city-badge i{

    color:#7c3aed;

}

.city-badge:hover{

    background:#7c3aed;
    color:#fff;
    transform:translateY(-4px);

}

.city-badge:hover i{

    color:#fff;

}

.cities-section .section-desc{

    max-width:420px;

}

@media(max-width:991px){

.testimonial-section,
.cities-section{

    padding:75px 0;

}

.testimonial-card{

    padding:30px 24px;

}

.testimonial-card p{

    font-size:16px;
    line-height:28px;

}

.testimonial-control{

    display:none;

}

.city-banner{

    padding:28px 22px;

}

.cities-section .section-desc{

    max-width:none;

}

}

@media(max-width:767px){

.testimonial-card{

    border-radius:22px;
    padding:24px 20px;

}

.testimonial-quote{

    width:52px;
    height:52px;
    font-size:22px;

}

.testimonial-person{

    gap:12px;

}

.testimonial-avatar{

    width:52px;
    height:52px;
    font-size:14px;

}

.city-badges{

    gap:10px;

}

.city-badge{

    padding:10px 14px;
    font-size:13px;

}

}

/*==========================================
        WHY CHOOSE US SECTION
==========================================*/

.why-section{
    padding:100px 0;
    background:#ffffff;
    position:relative;
    overflow:hidden;
}

.why-section::before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    background:rgba(124,58,237,.06);
    border-radius:50%;
    top:-120px;
    left:-120px;
}

.why-section::after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    background:rgba(168,85,247,.06);
    border-radius:50%;
    bottom:-100px;
    right:-100px;
}

.why-wrapper{
    position:relative;
    z-index:2;
}

/*==========================================
            LEFT IMAGE
==========================================*/

.why-image{
    position:relative;
    text-align:center;
}

.why-image img{
    max-width:100%;
    animation:truckFloat 5s ease-in-out infinite;
    filter:drop-shadow(0 25px 40px rgba(0,0,0,.18));
}

@keyframes truckFloat{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-15px);
}

100%{
transform:translateY(0);
}

}

/*==========================================
            TITLE
==========================================*/

.why-section .section-title{

    font-size:46px;
    font-weight:800;
    color:#1f2937;
    line-height:1.25;

}

.why-section .section-title span{

    color:#7c3aed;

}

.why-section .section-desc{

    color:#6b7280;
    font-size:17px;
    line-height:30px;
    max-width:650px;

}

/*==========================================
            FEATURE CARD
==========================================*/

.why-card{

    display:flex;
    align-items:flex-start;
    gap:18px;

    background:#fff;

    padding:24px;

    border-radius:18px;

    border:1px solid #ede9fe;

    box-shadow:0 15px 35px rgba(124,58,237,.08);

    transition:.35s;

    height:100%;

    position:relative;

    overflow:hidden;

}

.why-card::before{

    content:"";

    position:absolute;

    width:0;

    height:100%;

    top:0;

    left:0;

    background:linear-gradient(
        90deg,
        rgba(124,58,237,.06),
        transparent
    );

    transition:.4s;

}

.why-card:hover::before{

    width:100%;

}

.why-card:hover{

    transform:translateY(-8px);

    box-shadow:0 22px 40px rgba(124,58,237,.18);

}

/*==========================================
            ICONS
==========================================*/

.why-icon{

    min-width:70px;
    width:70px;
    height:70px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    font-size:26px;

    transition:.35s;

}

.why-card:hover .why-icon{

    transform:rotate(10deg) scale(1.1);

}

.why-icon.purple{

    background:#7c3aed;

}

.why-icon.orange{

    background:#f59e0b;

}

.why-icon.green{

    background:#10b981;

}

.why-icon.blue{

    background:#2563eb;

}

.why-icon.cyan{

    background:#06b6d4;

}

.why-icon.red{

    background:#ef4444;

}

/*==========================================
            TEXT
==========================================*/

.why-card h5{

    font-size:20px;
    font-weight:700;
    margin-bottom:10px;
    color:#1f2937;

}

.why-card p{

    margin:0;

    color:#6b7280;

    font-size:15px;

    line-height:27px;

}

/*==========================================
            SHINE EFFECT
==========================================*/

.why-card::after{

    content:"";

    position:absolute;

    width:70px;
    height:250px;

    background:rgba(255,255,255,.45);

    transform:rotate(30deg);

    top:-80px;
    left:-120px;

    transition:.8s;

}

.why-card:hover::after{

    left:130%;

}

/*==========================================
            RESPONSIVE
==========================================*/

@media(max-width:1200px){

.why-section .section-title{

    font-size:40px;

}

}

@media(max-width:991px){

.why-section{

    text-align:center;

}

.why-card{

    text-align:left;

}

.why-image{

    margin-bottom:50px;

}

}

@media(max-width:767px){

.why-section{

    padding:70px 0;

}

.why-section .section-title{

    font-size:32px;

}

.why-section .section-desc{

    font-size:15px;

}

.why-card{

    padding:20px;

}

.why-icon{

    width:60px;
    height:60px;
    min-width:60px;

    font-size:22px;

}

.why-card h5{

    font-size:18px;

}

}
/*=====================================================
                COUNTER SECTION
=====================================================*/

.counter-wrapper{

    margin-top:70px;

    background:linear-gradient(135deg,#6d28d9,#8b5cf6);

    border-radius:25px;

    padding:40px 20px;

    box-shadow:0 25px 60px rgba(109,40,217,.25);

}

.counter-box{

    color:#fff;

    padding:15px;

    transition:.35s;

}

.counter-box i{

    width:75px;

    height:75px;

    background:rgba(255,255,255,.15);

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto auto 20px;

    font-size:30px;

    backdrop-filter:blur(10px);

}

.counter-box h3{

    font-size:42px;

    font-weight:800;

    margin-bottom:10px;

}

.counter-box p{

    margin:0;

    font-size:15px;

    color:rgba(255,255,255,.9);

}

.counter-box:hover{

    transform:translateY(-8px);

}

.counter-box:hover i{

    background:#fff;

    color:#7c3aed;

}

/*=====================================================
                OFFER BANNER
=====================================================*/

.offer-banner{

    margin-top:80px;

    background:#fff;

    border-radius:25px;

    padding:50px;

    border:1px solid #ece5ff;

    box-shadow:0 20px 45px rgba(124,58,237,.12);

    position:relative;

    overflow:hidden;

}

.offer-banner::before{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    background:rgba(124,58,237,.06);

    border-radius:50%;

    right:-120px;

    top:-120px;

}

.offer-banner h2{

    font-size:44px;

    font-weight:800;

    color:#222;

    margin-bottom:15px;

}

.offer-banner p{

    font-size:18px;

    color:#6b7280;

    margin-bottom:25px;

}

.offer-banner strong{

    color:#7c3aed;

}

/*=====================================================
                    BUTTON
=====================================================*/

.offer-btn{

    background:#7c3aed;

    color:#fff;

    padding:15px 35px;

    border-radius:12px;

    font-weight:600;

    transition:.35s;

}

.offer-btn:hover{

    background:#5b21b6;

    color:#fff;

    transform:translateY(-3px);

}

/*=====================================================
                DISCOUNT BADGE
=====================================================*/

.offer-discount{

    width:170px;

    height:170px;

    border-radius:50%;

    background:linear-gradient(135deg,#7c3aed,#a855f7);

    color:#fff;

    margin:auto;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    box-shadow:0 20px 45px rgba(124,58,237,.35);

    animation:discountPulse 3s infinite;

}

.offer-discount span{

    font-size:13px;

    letter-spacing:2px;

}

.offer-discount h1{

    font-size:56px;

    font-weight:800;

    margin:5px 0;

}

.offer-discount small{

    font-size:18px;

}

/*=====================================================
                TRUCK IMAGE
=====================================================*/

.offer-truck{

    max-width:100%;

    animation:truckMove 5s ease-in-out infinite;

    filter:drop-shadow(0 20px 35px rgba(0,0,0,.2));

}

/*=====================================================
                ANIMATIONS
=====================================================*/

@keyframes truckMove{

0%{

transform:translateX(0);

}

50%{

transform:translateX(15px);

}

100%{

transform:translateX(0);

}

}

@keyframes discountPulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.08);

}

100%{

transform:scale(1);

}

}

/*=====================================================
            DECORATIVE DOTS
=====================================================*/

.offer-banner::after{

    content:"";

    position:absolute;

    width:120px;

    height:120px;

    background-image:radial-gradient(#a855f7 2px,transparent 2px);

    background-size:16px 16px;

    opacity:.15;

    left:40px;

    bottom:30px;

}

/*=====================================================
                RESPONSIVE
=====================================================*/

@media(max-width:1200px){

.offer-banner h2{

    font-size:36px;

}

}

@media(max-width:991px){

.counter-wrapper{

    padding:30px;

}

.counter-box{

    margin-bottom:30px;

}

.offer-banner{

    text-align:center;

    padding:40px 30px;

}

.offer-discount{

    margin:40px auto;

}

.offer-truck{

    margin-top:30px;

}

}

@media(max-width:767px){

.counter-box h3{

    font-size:32px;

}

.counter-box i{

    width:60px;

    height:60px;

    font-size:24px;

}

.offer-banner{

    padding:30px 20px;

}

.offer-banner h2{

    font-size:28px;

}

.offer-banner p{

    font-size:16px;

}

.offer-discount{

    width:140px;

    height:140px;

}

.offer-discount h1{

    font-size:44px;

}

.offer-btn{

    width:100%;

}

}

/*==========================================
        Floating Background Blobs
==========================================*/

.why-blob{
    position:absolute;
    border-radius:50%;
    filter:blur(40px);
    z-index:0;
}

.why-blob-1{
    width:260px;
    height:260px;
    background:rgba(124,58,237,.08);
    top:-80px;
    right:-100px;
    animation:blobFloat1 12s infinite ease-in-out;
}

.why-blob-2{
    width:220px;
    height:220px;
    background:rgba(168,85,247,.08);
    bottom:-80px;
    left:-80px;
    animation:blobFloat2 10s infinite ease-in-out;
}

@keyframes blobFloat1{

0%{transform:translateY(0);}
50%{transform:translateY(35px);}
100%{transform:translateY(0);}

}

@keyframes blobFloat2{

0%{transform:translateX(0);}
50%{transform:translateX(-35px);}
100%{transform:translateX(0);}

}

/*==========================================
            Dots
==========================================*/

.why-dots{

    position:absolute;

    width:120px;
    height:120px;

    background-image:
    radial-gradient(#7c3aed 2px,transparent 2px);

    background-size:18px 18px;

    opacity:.12;

}

.why-dots-1{

    top:120px;
    left:40px;

}

.why-dots-2{

    bottom:80px;
    right:60px;

}

.offer-btn{

    position:relative;

    overflow:hidden;

}

.offer-btn::before{

    content:"";

    position:absolute;

    width:0;
    height:0;

    border-radius:50%;

    background:rgba(255,255,255,.25);

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    transition:.6s;

}

.offer-btn:hover::before{

    width:350px;
    height:350px;

}

.why-card:hover i{

    animation:bounceIcon .7s;

}

@keyframes bounceIcon{

0%{

transform:scale(.8);

}

50%{

transform:scale(1.25);

}

100%{

transform:scale(1);

}

}

.counter-wrapper{

    position:relative;

}

.counter-wrapper::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:25px;

    background:linear-gradient(
    90deg,
    rgba(255,255,255,.08),
    transparent,
    rgba(255,255,255,.08)
    );

    animation:glowMove 8s linear infinite;

}

@keyframes glowMove{

0%{

transform:translateX(-100%);

}

100%{

transform:translateX(100%);

}

}

.why-card:nth-child(odd){

animation:floatOdd 5s ease-in-out infinite;

}

.why-card:nth-child(even){

animation:floatEven 6s ease-in-out infinite;

}

@keyframes floatOdd{

0%{transform:translateY(0);}
50%{transform:translateY(-5px);}
100%{transform:translateY(0);}

}

@keyframes floatEven{

0%{transform:translateY(0);}
50%{transform:translateY(5px);}
100%{transform:translateY(0);}

}

.app-download-buttons {
    margin-top: 20px;
}

.app-store-disabled {
    display: inline-block;
    cursor: not-allowed;
    opacity: 0.45;
    filter: grayscale(100%);
    pointer-events: none;
}

.app-store-disabled img {
    height: 37px;
}

.section-desc {
    text-align: justify;
    line-height: 1.7;
}

@media (max-width: 576px) {
    .section-desc {
        text-align: left;
        line-height: 1.7;
    }
}
