/* Custom Styles */
:root {
    /* Fonts */
    --font-montserrat: "Montserrat", sans-serif;
    --font-bricolage: "Bricolage Grotesque", sans-serif;
    /* Colors */
    --black: #000000;
    --white: #ffffff;
    --primary: #0d6efd;
    --secondary: #6c757d;
    --light: #f8f9fa;
    --dark: #212529;
    --yellow: #FCAF01;

    /* Spacing */
    --spacing-responsive: clamp(2rem, 4vw + 1rem, 3.5rem);
    --padding-responsive: clamp(2rem, 4vw + 1rem, 3.5rem);
    --margin-responsive: clamp(2rem, 4vw + 1rem, 3.5rem);
}


body {
    font-family: var(--font-montserrat);
    padding-top: 0;
    overflow-x: hidden;
} 

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--black);
    font-family: var(--font-bricolage);
}

h1 {
    font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem);
}

h2 {
    font-size: clamp(2rem, 4vw + 1rem, 3.5rem);
}

h3 {
    font-size: clamp(1.75rem, 3vw + 1rem, 3rem);
}

h4 {
    font-size: clamp(1.5rem, 2vw + 1rem, 2.5rem);
}

h5 {
    font-size: clamp(1.25rem, 1vw + 1rem, 2rem);
}

h6 {
    font-size: clamp(1rem, 0.5vw + 1rem, 1.5rem);
}

p {
    font-size: 1rem;
}

.btn.btn-warning {
    border-radius: 49.194px;
    background: #FCB900;
    box-shadow: 0 3.28px 24.597px 0 rgba(255, 105, 0, 0.45), 0 -3.28px 12.299px 0 rgba(255, 105, 0, 0.58) inset, 0 3.28px 6.559px 0 rgba(255, 105, 0, 0.53) inset;
    padding: 16px 40px;
    color: #10194B;
    font-size: 18.038px;
    font-style: normal;
    font-weight: 900;
    line-height: 128%;
    text-transform: uppercase;
    font-family: var(--font-montserrat);
    transition: all 0.7s ease !important;
}

.btn.btn-warning:hover {
    background: #FCB900;
    box-shadow: 0 3.28px 24.597px 0 rgba(255, 105, 0, 0.45), 0 -3.28px 12.299px 0 rgba(255, 105, 0, 0.58) inset, 0 3.28px 6.559px 0 rgba(255, 105, 0, 0.53) inset;
    transform: scale(1.03) !important;
}

.wpcf7-form-control.wpcf7-submit {
    border-radius: 49.194px;
    background: #FCB900;
    box-shadow: 0 3.28px 24.597px 0 rgba(255, 105, 0, 0.45), 0 -3.28px 12.299px 0 rgba(255, 105, 0, 0.58) inset, 0 3.28px 6.559px 0 rgba(255, 105, 0, 0.53) inset;
    padding: 16px 40px !important;
    color: #10194B;
    font-size: 18.038px;
    font-style: normal;
    font-weight: 900;
    line-height: 128%;
    text-transform: uppercase;
    font-family: var(--font-montserrat);
    transition: all 0.7s ease !important;
}

.wpcf7-form-control.wpcf7-submit:hover {
    background: #FCB900;
    box-shadow: 0 3.28px 24.597px 0 rgba(255, 105, 0, 0.45), 0 -3.28px 12.299px 0 rgba(255, 105, 0, 0.58) inset, 0 3.28px 6.559px 0 rgba(255, 105, 0, 0.53) inset;
    transform: scale(1.03) !important;
}

.wpcf7-response-output {
    position: absolute;
    top: 100%;
    border: none !important;
    font-size: 13px;
}


/* FAQ end here */

/* Slider tweaks: ensure controlled spacing and first slide flush-left */
.test-slider .slick-list {
    padding-left: 0 !important;
}

.test-slider .slick-slide-item {
    margin: 0 0.5rem;
    box-sizing: border-box;
}

.slick-marquee .container-fluid,
.slick-marquee .container,
.slick-marquee .row {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.test-slider .slick-list {
    padding: 0 !important;
}

.test-slider .slick-track {
    margin-left: 0 !important;
}

.test-slider .slick-slide {
    float: none !important;
}

.test-slider .slick-slide:first-child {
    margin-left: 0 !important;
}



.my-slider {
    /* padding: 0 70px; */
}

/* .slick-initialized .slick-slide {
    background-color: #b32532;
    color: #FFF;
    height: 200px;
    margin: 0 15px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
} */



.slick-next,
.slick-prev {
    z-index: 5;
}

.slick-next {
    right: 15px;
}

.slick-prev {
    left: 15px;
}

.slick-next:before,
.slick-prev:before {
    color: #000;
    font-size: 26px;
}

.navbar.navbar-pill {
    border-radius: 100px;
    padding-left: 2rem;
    padding-right: 0.5rem;
    top: 29px;
}

.navbar.navbar-pill .nav-link {
    color: var(--black);
    font-size: 1rem;
    transition: all 0.3s ease;
    font-family: var(--font-bricolage);
    font-weight: 700;
    padding-left: 23px;
    padding-right: 23px;
}

.navbar.navbar-pill .nav-link:hover,
.navbar.navbar-pill .nav-link.active {
    color: #FCB900;
}

.btn-call {
    padding: 0;
    border: 4px solid rgba(248, 244, 239, 0.30);
    background: none;
    box-shadow: 4px 4px 14px 0 rgba(0, 0, 0, 0.14);
    transition: transform 0.2s ease;
    font-family: var(--font-bricolage);
    font-weight: 700;
}

.btn-call:hover {
    transform: scale(1.02);
    background: none;
    border: 4px solid rgba(248, 244, 239, 0.30);
}

.btn-call-content {
    background: linear-gradient(90deg, #2340C8 0%, #2A3770 100%);
    padding: 0 30px 0 6px;
    transition: transform 0.2s ease;
    font-size: 26px;
    border-radius: 60px;
    height: 68px;
}

.btn-call-content img {
    width: 85px;
    height: 85px;
}

.call-icon-bg {
    margin-left: -33px;
}

.navbar-pill .dropdown-toggle::after {
    vertical-align: middle;
    margin-left: 0.5rem;
    display: inline-block;
    margin-left: .255em;
    content: "";
    border-top: .45em solid;
    border-right: .4em solid transparent;
    border-bottom: 0;
    border-left: .4em solid transparent;
    color: #2A3875;
}

/* Custom Dropdown styling */
.navbar-pill .dropdown-menu {
    border-radius: 15px;
    margin-top: 15px;
}

/* Hero Banner Styles */
.hero-banner {
    background: url(../images/banner-bg.png) no-repeat center top;
    background-size: 100% 105%;
    padding-top: 280px;
    padding-bottom: 180px;
    height: 883px;
    background-position: 0 -38px;
    background-color:#3c5377;
}

.hero-banner h1 {
    font-family: var(--font-bricolage);
    letter-spacing: -1px;
    font-size: clamp(2.2rem, 2.2vw + 1rem, 3.8rem);
    margin-bottom: 30px;
    color: #FFF;
    line-height: 111%;
}

.hero-banner .lead {
    font-family: var(--font-montserrat);
    font-size: 1.12rem;
    color: #FFF;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    margin-bottom: 35px;
}

.banner-features {
    gap: 20px 0;
    margin-bottom: 45px;
}

.banner-features li {
    font-family: var(--font-montserrat);
    font-size: 1rem;
    padding-right: 15px;
}

.banner-features .fa-check {
    color: #28a745;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.banner-cta {
    background: linear-gradient(90deg, #FFC107 0%, #FF9800 100%);
    border: none;
    color: #000;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    font-family: var(--font-bricolage);
    letter-spacing: 0.5px;
}


.wave-separator {
    z-index: 1;
    line-height: 0;
}

.offcanvas {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.offcanvas-header .btn-close {
    opacity: 1;
}

@media (max-width: 991.98px) {
    .offcanvas-body .nav-link {
        font-size: 1.25rem;
        padding: 15px 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    }

    .offcanvas-body .nav-link:last-child {
        border-bottom: none;
    }

    .offcanvas-body .btn-call {
        width: 100%;
        justify-content: center;
        margin-top: 20px;
    }

    .offcanvas-body .dropdown-menu {
        border: none;
        padding-left: 20px;
        background: #f8f9fa;
        /* Slight varying background for sub-items */
    }
}


/* Trust Indicators Section */
.trust-section {
    margin-top: clamp(4rem, 5vw + 1rem, 5rem);
    margin-bottom: clamp(2rem, 5vw + 1rem, 3.2rem);
}

.trust-wrapper {
    border-radius: 100px;
    /* Pill shape */
    padding: 0 30px;
    border-radius: 197px;
    background: #FFF;
    box-shadow: 0 4px 160.6px 0 #EAEEFF;
}

.trust-badge {
    top: -20px;
    color: var(--black);
    font-size: 0.8rem;
    font-family: var(--font-bricolage);
    font-weight: 800;
    white-space: nowrap;
    z-index: 2;
    border-radius: 35.635px;
    border: 1px solid rgba(41, 57, 127, 0.31);
    background: #FFF;
    box-shadow: 0 2.376px 17.818px 0 rgba(41, 57, 127, 0.24);
}

.icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #1a2b5f !important;
    transition: transform 0.3s ease;
}



.cta-image-wrapper img {
    height: 310px;
}

.trust-wrapper h6 {
    font-family: var(--font-montserrat);
    color: var(--black);
    font-size: 1rem;
}

.trust-container {
    padding: clamp(2rem, 5vw + 1rem, 4.5rem);
}

.trust-wrapper .col-6.col-md-3 {
    position: relative;
    transition: transform 0.3s ease;
}

.trust-wrapper .col-6.col-md-3:hover {
    transform: scale(1.02);
}

.trust-wrapper .col-6.col-md-3:hover .icon-circle {
    background-color: #FCB900 !important;
    /* transform: scale(1.1); */
}

.trust-wrapper .col-6.col-md-3:after {
    content: "";
    width: 1px;
    height: 44px;
    background: #E6EAFF;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.trust-wrapper .col-6.col-md-3:last-child:after {
    display: none;
}

@media (max-width: 991px) {
    .trust-wrapper {
        border-radius: 30px;
        /* Less rounded on smaller screens */
        padding: 40px 20px;
    }

}


/* Problem Section */
.problem-section {
    padding-top: clamp(2rem, 5vw + 1rem, 3rem);
    padding-bottom: clamp(3.5rem, 5vw + 1rem, 6rem);
}

.problem-section h2 {
    font-family: var(--font-bricolage);
    font-size: clamp(2.2rem, 2vw + 1rem, 3.5rem);
    font-weight: 800;
    line-height: 117%;
    margin-bottom: 2rem;
    color: #0F0F0F;
}

.problem-list li {
    font-family: var(--font-montserrat);
    font-size: 1rem;
    color: var(--black);
}

.problem-list .fa-circle-xmark {
    color: #F44336;
}

.problem-image-wrapper img {}

.rating-badge {
    right: -88px;
    bottom: -24px;
    gap: 0.6rem !important;
}

.problem-image-wrapper {
    top: -10px;
}

.star-icon {
    color: #FF8000 !important;
    font-size: 9px;
}

.trusted-client {
    color: #29387C;
    font-family: var(--font-montserrat);
    font-size: 16px;
    font-weight: 800;
    line-height: 180%;
    text-decoration-line: underline;
    text-decoration-style: solid;
}

.problem-list {
    gap: 31px;
    display: flex;
    flex-direction: column;
}



/* Reviews Section */
.reviews-section {
    background: #F9FAFC;
    overflow: hidden;
    padding: clamp(3.5rem, 5vw + 1rem, 5rem) 0;
    background: url(../images/newsletter-bg.jpg) center/cover no-repeat;
}

.reviews-section h2 {
    font-family: var(--font-bricolage);
    font-weight: 800;
    font-size: clamp(2.5rem, 1.6vw + 1rem, 3rem);
    line-height: 117%;
    margin-bottom: clamp(2.5rem, 3vw + 1rem, 4.5rem);
    color: #0F0F0F;
}

.review-card {
    min-width: 400px;
    max-width: 400px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    margin-right: 24px;
    display: flex;
    flex-direction: column;
}

.review-card .verified-badge {
    color: var(--black);
    font-family: var(--font-montserrat);
    font-weight: 400;
    font-size: 0.875rem;
}

.review-card .fa-circle-check {
    color: #4DA1FF;
    /* Light blue verified color */
}

.review-card p {
    font-family: var(--font-montserrat);
    color: #0F0F0F;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 144%;
    flex: 1;
    /* 23.04px */
}

.review-card .user-name {
    font-family: var(--font-montserrat);
    font-weight: 600;
    font-size: 1rem;
    color: #0D0A1D;
}

.review-card .star-rating {
    color: #FFC107;
    font-size: 0.8rem;
}

.marquee-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.marquee-row {
    display: flex;
    width: max-content;
    animation: scroll 40s linear infinite;
}

.marquee-row:hover {
    animation-play-state: paused;
}

/* Reverse animation for the second row if needed, 
   though the design usually has them consistent or reversed. 
   I'll keep them consistent for now or reverse one. */
.marquee-row.reverse {
    animation-direction: reverse;
}

.review-card-footer {
    border-top: 1px solid #F0F0F0;
    padding-top: 15px;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
        /* Move by 50% assuming content is doubled */
    }
}

@media (max-width: 768px) {
    .review-card {
        min-width: 300px;
        max-width: 300px;
    }

    .reviews-section h2 {
        font-size: 2.1rem;
    }
}



/* Services Section */
.services-section {
    padding-top: clamp(3.5rem, 5vw + 1rem, 5.5rem);
    padding-bottom: clamp(4rem, 5vw + 1rem, 5.5rem);
}

.services-section h2 {
    font-size: clamp(2rem, 1.6vw + 1rem, 3rem);
    font-weight: 800;
}

.services-section .service-intro {
    font-family: var(--font-bricolage);
    font-weight: 500;
    font-size: 1rem;
    color: var(--black);
    margin-bottom: 50px;
}

.service-card {
    border-radius: 15px;
    background: #EDF0FF;
    padding: 16px;
    height: 100%;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.service-card:hover {
    background: #fff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    border-color: #E0E0E0;
    transform: translateY(-5px);
}

.service-card .card-img-wrapper {
    border-radius: 15px;
    overflow: hidden;
    height: 240px;
    margin-bottom: 24px;
}

.service-card .card-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.service-card:hover .card-img-wrapper img {
    transform: scale(1.05);
}

.service-card h3 {
    font-family: var(--font-bricolage);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.3;
    color: #000;
    margin-bottom: 0;
    padding-right: 10px;
}

.service-card .arrow-btn {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background: #2A3875;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: all 0.3s ease;
}

.service-card:hover .arrow-btn {
    background: #FCB900;
    color: #000;
}

.service-card .arrow-btn i {
    font-size: 1rem;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}

.service-card:hover .arrow-btn i {
    transform: rotate(45deg) scale(1.1);
}

.services-cta-btn {
    background: linear-gradient(90deg, #FFC107 0%, #FF9800 100%);
    border-radius: 50px;
    padding: 18px 40px;
    font-family: var(--font-bricolage);
    font-weight: 800;
    text-transform: uppercase;
    color: #10194B;
    font-size: 1.1rem;
    box-shadow: 0 10px 30px rgba(255, 160, 0, 0.3);
    border: none;
    transition: all 0.3s ease;
}

.services-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 35px rgba(255, 160, 0, 0.4);
    color: #10194B;
}

@media (max-width: 768px) {
    .service-card {
        padding: 16px;
    }

    .service-card .card-img-wrapper {
        height: 160px;
    }
}

/* Gallery Section */
.gallery-section {
    padding-top: clamp(3.5rem, 5vw + 1rem, 6rem);
}

/* New Trust Section Styles */
.trust-section-new {
    background: linear-gradient(180deg, #F0F4FF 0%, #FFFFFF 100%);
    padding-top: clamp(3rem, 5vw + 1rem, 6rem);
}

.trust-section-new .section-title {
    font-size: clamp(2rem, 2vw + 1rem, 3.15rem);
    color: #000;
    line-height: 1.2;
    margin-bottom: clamp(3rem, 5vw + 1rem, 5rem);
}

.trust-new-card {
    border-radius: 18.182px;
    background: linear-gradient(to bottom, #A1A9CF 0%, #F7F8FE 100%);
    padding: 1px;
    transition: all 0.3s ease;
}

.trust-new-card-inner {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.50) 0%, #E3E8FF 100%);
    border-radius: 15px;
    padding: clamp(2rem, 2vw + 1rem, 4rem);
}

.trust-new-card:hover {
    transform: scale(1.05);
}

.icon-circle-new {
    width: 88px;
    height: 88px;
    top: -45px;
    border-radius: 347px;
    border: 4px solid #0F2589;
    background: linear-gradient(90deg, #0F2589 0%, #29387C 100%);
    box-shadow: 4px 4px 14px 0 rgba(0, 0, 0, 0.14);
}

.trust-card-title {
    font-size: 1.25rem;
    color: #000;
    font-family: var(--font-bricolage);
    margin-bottom: 0;
    font-weight: 800 !important;
    line-height: 140%;
}

.trust-new-card .mt-4 {
    margin-top: 1.5rem !important;
}

.trust-section-new .row {
    gap: clamp(3.5rem, 4vw + 1rem, 6rem) 0;
}

.trust-sec-img {
    margin-top: -250px;
}

.trust-sec-img img {
    height: 600px;
    object-fit: cover;
}

.gallery-section h2 {
    font-size: clamp(2.1rem, 1.6vw + 1rem, 3rem);
    font-weight: 800;
    margin-bottom: 40px;
}

.gallery-item {
    overflow: hidden;
    padding: 10px;
}

.gallery-item img {
    border-radius: 8px;
    transition: transform 0.3s ease;
    object-fit: cover;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

.trust-section-new .container {
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {}


/* About Us Section */
.about-section {
    padding-top: clamp(3rem, 5vw + 1rem, 6rem);
    padding-bottom: clamp(3rem, 5vw + 1rem, 6rem);
    background: #F7FCFF;
    margin-top: clamp(4rem, 5vw + 1rem, 6rem);
}

.about-section .ls-1 {
    letter-spacing: 1px;
}

.about-section h2 {
    font-size: clamp(2rem, 2vw + 1rem, 3.5rem);
    font-weight: 800;
    line-height: 1.2;
    color: #000;
    margin-bottom: 19px;
}

.about-features .fa-circle-check {
    color: #198754 !important;
}

.about-section h6 {
    color: #25357F;
    font-family: var(--font-montserrat);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 148%;
    text-transform: uppercase;
}

.about-section p {
    color: var(--Black, #141414);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 27px;
}

.about-border {
    border-radius: 0 6px 6px 0;
    background: #F9C902;
    width: 2px;
    height: 8px;
    display: inline-block;
    vertical-align: top;
    margin-top: 6px;
    margin-right: 4px;
}

.about-features h5 {
    font-family: var(--font-bricolage);
    font-size: 1.1rem;
    color: #000;
    margin-bottom: 0 !important;
}

.about-bg-img {
    z-index: -1;
    position: relative;
    margin-top: -20px;
}

@media (max-width: 991.98px) {
    .about-img-wrapper {
        height: 400px;
        margin-bottom: 3rem;
        border-radius: 20px 80px 20px 80px;
    }
}




/* CTA Section */
.cta-section {
    padding-bottom: clamp(6rem, 4.5vw + 1rem, 6rem);
    /* overflow-x: hidden; */
}

.cta-wrapper {
    border-radius: 347px;
    border: 0 solid rgba(248, 244, 239, 0.30);
    background: url(../images/need-hasle-bg.jpg) no-repeat center center;
    box-shadow: 4px 4px 14px 0 rgba(0, 0, 0, 0.14);
    padding: 80px 100px 80px 150px;
    background-size: cover;
}

.cta-wrapper h2 {
    font-family: var(--font-bricolage);
    color: #fff;
    line-height: 1.2;
    font-size: clamp(2rem, 1.2vw + 1rem, 2.5rem);
    margin-bottom: clamp(1.5rem, 1.2vw + 1rem, 2rem);
    font-weight: 800;
}


.cta-features {
    color: #FFF;
    font-family: var(--font-montserrat);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 114%;
    /* 20.52px */
}

.cta-image-wrapper {
    position: absolute;
    right: -120px;
    bottom: 40px;
    width: 55%;
    max-width: 700px;
    z-index: 1;
}

@media (max-width: 991.98px) {
    .cta-wrapper {
        border-radius: 40px;
        padding: 40px 30px;
        text-align: center;
    }

    .cta-features {
        justify-content: center;
        flex-wrap: wrap;
    }

    .cta-image-wrapper {
        position: relative;
        width: 100%;
        right: auto;
        bottom: auto;
        margin-top: 30px;
    }
}


/* Process Section (3 Easy Steps) */
.process-section {
    /* padding-top: clamp(3rem, 5vw + 1rem, 8rem); */
    padding-bottom: clamp(4rem, 5vw + 1rem, 8rem);
    background: url(../images/easy-step-bg.png) no-repeat center center;
    background-position: 0 60px;
    background-size: cover;
}

.process-section h6 {
    color: #24357F;
    text-align: center;
    font-family: var(--font-bricolage);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 108%;
    margin-bottom: 20px;
}

.process-section h2 {
    font-family: var(--font-bricolage);
    color: #0F0F0F;
    line-height: 1.2;
    font-size: clamp(2rem, 1.7vw + 1rem, 3rem);
    margin-bottom: clamp(1.5rem, 1.2vw + 1rem, 2rem);
    font-weight: 800;
}

.process-card h4 {
    color: var(--black);
    text-align: center;
    font-family: var(--font-bricolage);
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 108%;
    margin-bottom: clamp(1rem, 0.2vw + 1rem, 1.2rem);
}

.process-card p {
    color: #0F0F0F;
    text-align: center;
    font-family: var(--font-bricolage);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 139%;
    /* 22.24px */
    max-width: 180px;
    margin: auto;
}

.process-step-wrapper {
    border-right: 1px solid #eee;
}

.process-step-wrapper:last-child {
    border-right: none;
}

.step-number {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 4rem;
    font-weight: 100;
    color: #F3F6FD;
    /* Very light faded blue */
    font-family: var(--font-bricolage);
    line-height: 1;
    z-index: 1;
}

.process-step {
    position: relative;
    z-index: 2;
}

.step-icon {
    width: 88px;
    height: 88px;
    background-color: #0F2589;
    box-shadow: 0 4px 15px rgba(15, 37, 137, 0.3);
    margin-bottom: clamp(1rem, 1.5vw + 1rem, 2rem);
}

@media (max-width: 768px) {
    .process-step-wrapper {
        border-right: none;
        border-bottom: 1px solid #eee;
    }

    .process-step-wrapper:last-child {
        border-bottom: none;
    }
}


/* FAQ Section */
.faq-section {
    padding-top: clamp(3rem, 5vw + 1rem, 6rem);
    padding-bottom: clamp(3rem, 5vw + 1rem, 6rem);
    background: #fff;
}

.faq-section .section-title {
    font-size: clamp(2.1rem, 1.6vw + 1rem, 3rem);
    font-weight: 800;
    margin-bottom: 50px;
    color: #000;
}

.faq-section h6 {
    color: #24357F;
    text-align: center;
    font-family: var(--font-bricolage);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 108%;
    margin-bottom: 20px;
}

#faqAccordion {
    max-width: 885px;
    margin: auto;
}

.faq-section .accordion-item {
    border: none;
    border-bottom: 1px solid #EAEEEC;
    background: transparent;
}

.faq-section .accordion-item:last-child {
    border-bottom: none;
}

.faq-section .accordion-button {
    background: transparent;
    box-shadow: none !important;
    padding: 1rem 0;
    font-size: clamp(1.15rem, 1vw + 0.5rem, 1.25rem);
    color: #000;
    font-family: var(--font-bricolage);
}

.faq-section .accordion-button:not(.collapsed) {
    background: transparent;
    color: #29387C;
    /* Blue active color */
}

/* Custom Icon */
.faq-section .accordion-button::after {
    background-image: none !important;
    /* Remove bootstrap chevron */
    font-family: "Font Awesome 6 Free";
    content: "\2b";
    /* Plus icon */
    font-weight: 900;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid #dee2e6;
    color: #000;
    font-size: 0.875rem;
    transition: all 0.3s;
    transform: none !important;
    /* Prevent rotation */
    margin-left: auto;
    /* Push to right */
}

.faq-section .accordion-button:not(.collapsed)::after {
    content: "\f068";
    /* Minus icon */
    background-color: transparent;
    border-color: #29387C;
    color: #29387C;
}

.faq-section .accordion-body {
    padding: 0 160px 15px 32px;
    font-size: 1rem;
    line-height: 1.6;
    color: #666;
}

.faq-section .accordion-body p {
    color: #313131;
    font-family: var(--font-montserrat);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.64px;
}

.fw-500 {
    font-weight: 500;
}

/* Enjoy Pool Section */
.enjoy-pool-section {
    padding: clamp(3rem, 5vw + 1rem, 6rem);
    background: url(../images/enjoy-pool-bg.jpg) no-repeat center center;
    background-size: cover;
    color: #fff;
    overflow: hidden;
    border-radius: 14px;
}

.enjoy-pool-section h2 {
    color: #fff;
    line-height: 1.1;
    margin-bottom: 30px;
    font-size: clamp(2.2rem, 1.6vw + 1rem, 3rem);
    font-weight: 800;
}

.enjoy-pool-section .fa-circle-check {
    color: #00C853 !important;
}

.enjoy-pool-section .backdrop-blur {
    border-radius: 40px;
    background: rgba(255, 255, 255, 0.40);
    backdrop-filter: blur(3px);
}



.star-spacing .fa-star {
    margin-right: -2px;
}

.enjoy-pool-list-text {
    color: #FFF;
    font-family: var(--font-bricolage);
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 114%;
}

.text-rating {
    color: var(--white);
    font-weight: 600;
}

.text-rating .fa-star {
    color: #FFBB00;
}

.enjoy-pool-section .rating-badge {
    margin-top: clamp(2.5rem, 1.6vw + 1rem, 2rem);
}

.enjoy-pool-section .trusted-client {
    color: var(--white);
}

/* Footer Section */
.footer-section {
    background-color: #F0F4FF;
    padding-top: 300px;
    color: #0D0A1D;
    padding-bottom: 0;
    margin-top: -270px;
}

.footer-heading {
    font-family: var(--font-bricolage);
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    margin-bottom: 10px;
}

.footer-links li a {
    color: #0D0A1D;
    font-family: var(--font-montserrat);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.6;
    transition: color 0.3s ease;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: transparent;
}

.footer-links li a:hover {
    color: #2A3875;
    text-decoration-color: #2A3875;
}

.footer-divider {
    border-color: #0F0F0F;
    opacity: 1;
}

.contact-info-row h6,
.contact-info-row .fw-500 {
    font-family: var(--font-montserrat);
    font-size: 0.9rem;
    color: #0D0A1D;
}

.contact-info-row .fa-phone,
.contact-info-row .fa-envelope {
    color: #2A3875 !important;
}

.social-icon {
    width: 38px;
    height: 38px;
    color: #2A3875 !important;
    border-color: #2A3875 !important;
    transition: all 0.3s ease;
}

.social-icon:hover {
    background-color: #2A3875;
    color: #fff !important;
}

.footer-big-text {
    padding-top: 50px;
    line-height: 0.8;
}



.services-links a {
    text-decoration: underline !important;
}

.services-links a:hover {
    text-decoration: none !important;
}

.get-direction {
    color: #29387C;
    text-align: center;
    font-family: var(--font-bricolage);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 148%;
    text-decoration: underline;
}

.gallary-btn-container {
    margin-top: 3rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .genie-text {
        /* font-size: 20vw; */
        margin-bottom: 0;
    }
}

.info-icon-circle {
    width: 45px;
    height: 45px;
    background-color: #24357F;
    flex-shrink: 0;
}

.info-items-wrapper .fw-500 {
    color: #333;
    font-family: var(--font-montserrat);
}

.contact-info-card h4 {
    font-family: var(--font-bricolage);
    font-size: clamp(1.2rem, 0.5vw + 1rem, 1.5rem);
    color: var(--white);
    margin-top: clamp(2rem, 3vw + 1rem, 4.5rem);
    margin-bottom: clamp(1.5rem, 2vw + 1rem, 2.5rem);
}

.call-btn-large {
    background: linear-gradient(180deg, #FCAF01 0%, #F59B00 100%);
    border: none;
    color: #00235C;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.call-btn-large:hover {
    transform: scale(1.02);
    background: linear-gradient(180deg, #F59B00 0%, #FCAF01 100%);
}

.phone-icon-circle {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
}

.phone-icon-circle i {
    color: #0D2484;
}

.about-us-banner {
    position: relative;
    overflow: hidden;
}

.about-us-banner .container {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 1320px;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
}

.about-us-banner .about-us-banner-bg {
    height: 533px;
}

.about-us-banner .about-us-banner-bg img {
    height: 100%;
    object-fit: cover;
}

.about-us-banner h1 {
    position: absolute;
    top: 50%;
    left: 0;
    color: #fff;
    font-size: clamp(2.2rem, 1.2vw + 1rem, 2.4rem);
    font-weight: 800;
}

.about-us-banner h1:after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 55px;
    height: 6px;
    background: var(--yellow);
}

/* Who We Are Block Styles */
.who-we-are {
    padding-top: clamp(4rem, 5vw + 1rem, 6rem);
    padding-bottom: clamp(3rem, 5vw + 1rem, 6rem);
    background-color: #fff;
}

.who-we-are-subtitle {
    color: #2A3875;
    font-family: var(--font-montserrat);
    font-size: 1.12rem;
    letter-spacing: 0.5px;
}

.who-we-are-title {
    font-family: var(--font-bricolage);
    font-weight: 700;
    line-height: 1.1;
    font-size: clamp(2.2rem, 3vw + 1rem, 3.15rem);
    color: #000;
    letter-spacing: -1px;
}

.who-we-are-text {
    font-family: var(--font-montserrat);
    font-size: clamp(1rem, 0.2vw + 1rem, 1.25rem);
    color: #333;
    line-height: 1.6;
    font-weight: 400;
}








/* Partners Block Styles */
.partners-wrapper {
    padding-top: clamp(2rem, 4vw + 1rem, 4rem);
    padding-bottom: clamp(2rem, 4vw + 1rem, 4rem);
    background-color: #fff;
    margin-bottom: 250px;
    /* Space for the negative margin footer overlap if needed, though footer has negative margin-top */
}

.partners-title {
    font-family: var(--font-bricolage);
    font-size: clamp(2rem, 2.5vw + 1rem, 3rem);
    color: #000;
}

.partners-title .text-underline-offset {
    text-underline-offset: 8px;
    text-decoration-thickness: 3px;
}

.partner-logo {
    max-height: 50px;
    width: auto;
    /* filter: grayscale(100%);
    opacity: 0.7; */
    transition: all 0.3s ease;
}

.partner-logo:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* Suppliers Block */
.suppliers-wrapper {
    background-color: #fff;
    padding-bottom: 80px;
}

.suppliers-heading {
    font-family: var(--font-bricolage);
    font-size: clamp(2rem, 1vw + 1rem, 2.15rem);
    color: var(--black);
    margin-bottom: 0;
}

.suppliers-highlight {
    text-decoration: underline;
    text-underline-offset: 12px;
    text-decoration-thickness: 4px;
}

.supplier-logo-item img {
    max-height: clamp(40px, 8vw, 70px);
    width: auto;
    max-width: 100%;
    object-fit: contain;
    transition: all 0.3s ease;
    filter: grayscale(100%);
    opacity: 0.7;
    margin: 0 auto;
}

.supplier-logo-item:hover img {
    transform: scale(1.05);
    filter: grayscale(0%);
    opacity: 1;
}

.suppliers-slider.slick-initialized .slick-slide {
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 30px;
}

.suppliers-slider .slick-slide img {
    height: 38px;
}

.footer-section.footer-inner-pages {
    margin-top: 0;
    padding-top: 50px;
}

/* Our Mission Block */
.mission-wrapper {
    background-color: #fff;
    padding-bottom: 100px;
}

.mission-content-box {
    border-radius: 15px;
    background: #F4F6FF;
    height: 100%;
}

.mission-title {
    color: var(--black);
    font-family: var(--font-bricolage);
    font-size: clamp(2.2rem, 2vw + 1rem, 3.15rem);
}

.mission-text {
    font-family: var(--font-montserrat);
    font-size: clamp(1rem, 0.2vw + 1rem, 1.25rem);
    color: #0F0F0F;
    line-height: 1.6;
    font-weight: 400;
}

.mission-summary {
    font-family: var(--font-bricolage);
    color: var(--black);
    line-height: 1.4;
    font-size: clamp(1rem, 0.8vw + 1rem, 1.4rem);
}

.mission-image-container {
    overflow: visible;
}


.mission-wrapper .rating-badge {
    right: -59px;
    bottom: -8px;
}

@media (max-width: 991.98px) {
    .mission-wrapper {
        padding-bottom: 60px;
    }


    .mission-rating-badge {
        width: 95%;
        padding: 15px 20px !important;
    }

    .badge-divider {
        height: 30px;
    }

}

/* Our Values Block */
.values-wrapper {
    background-color: #fff;
}

.values-subtitle {
    color: #29387C;
    font-family: var(--font-bricolage);
    font-size: 1.12rem;
    letter-spacing: 0.5px;
}

.values-title {
    font-family: var(--font-bricolage);
    color: var(--black);
    line-height: 1.2;
    font-size: clamp(2rem, 2vw + 1rem, 3.15rem);
}

.values-title span {
    color: #29387C;
}

.values-description {
    font-family: var(--font-montserrat);
    color: #0F0F0F;
    font-size: 1.12rem;
    max-width: 900px;
    line-height: 1.6;
}

.values-card {
    border-radius: 24px;
    background: #F2F4FF;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.values-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(41, 56, 124, 0.1);
}

.values-icon-wrapper {
    width: 64px;
    height: 64px;
    background-color: #1E3176;
    border-radius: 50%;
    color: #fff;
    font-size: 1.5rem;
    margin-bottom: clamp(1.5rem, 1.5vw + 1rem, 2.6rem);
}

.values-card-title {
    font-family: var(--font-bricolage);
    color: var(--black);
    font-size: 1.4rem;
    font-weight: 900;
}

.values-card-text {
    font-family: var(--font-montserrat);
    color: var(--black);
    font-weight: 400;
    line-height: 140%;
    font-size: 1rem;
}

.about-trust-sec.trust-section-new {
    padding-top: clamp(3rem, 5vw + 1rem, 5rem);
    padding-bottom: clamp(3rem, 5vw + 1rem, 5rem);
    background: linear-gradient(180deg, #F3F5FF 6.85%, rgba(243, 245, 255, 0.40) 124.97%);
}

.about-trust-sec.trust-section-new .section-title {
    margin-bottom: clamp(4rem, 5vw + 1rem, 5rem);
}





/* Commitment & Trust Block */
.commitment-vibrant {
    background-color: var(--white);
    position: relative;
    padding-top: clamp(5.5rem, 7vw + 1rem, 8rem);
    padding-bottom: clamp(5.5rem, 7vw + 1rem, 8rem);
}

.commitment-top-line {
    max-width: 480px;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, rgba(41, 56, 124, 0), #29387C, rgba(41, 56, 124, 0));
    border-radius: 10px;
}

.commitment-display-text {
    font-family: var(--font-bricolage);
    font-size: clamp(1.5rem, 3.5vw + 1rem, 2.75rem);
    line-height: 1.25;
    color: #000;
}

.commitment-display-text .text-blue {
    color: #29387C !important;
}

.decor-asset-skimmer {
    position: absolute;
    top: -40px;
    left: -40px;
    z-index: 1;
}

.decor-asset-skimmer img {
    max-width: 280px;
    height: auto;
}

.decor-asset-van {
    position: absolute;
    bottom: -10px;
    right: -10px;
    z-index: 1;
}

.decor-asset-van img {
    max-width: 450px;
    height: auto;
}

@media (max-width: 991px) {
    .commitment-top-line {
        width: 180px;
    }

    .commitment-display-text {
        font-size: 1.8rem;
    }
}


/* In The Community Block */
.community-wrapper {
    background-color: #fff;
}

.community-title {
    font-family: var(--font-bricolage);
    color: var(--black);
    line-height: 1.2;
    font-size: clamp(2rem, 2vw + 1rem, 3.15rem);
}

.community-subtitle {
    font-family: var(--font-montserrat);
    color: #000;
    font-size: 1.25rem;
}

.community-text {
    font-family: var(--font-montserrat);
    color: #444;
    line-height: 1.6;
}

.community-img {
    border-radius: 22px;
}

.community-cta {
    background: linear-gradient(180deg, #FCAF01 0%, #F59B00 100%);
    border: none;
    border-radius: 30px;
    color: #000;
    font-family: var(--font-bricolage);
    letter-spacing: 0.5px;
    box-shadow: 0 4px 15px rgba(252, 175, 1, 0.4);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.community-cta:hover {
    background: linear-gradient(180deg, #F59B00 0%, #FCAF01 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(252, 175, 1, 0.6);
    color: #000;
}

@media (max-width: 991px) {
    .community-title {
        font-size: 2.25rem;
    }

    .community-subtitle {
        font-size: 1.1rem;
    }

    .community-img {
        border-radius: 20px;
    }
}





/* Contact Section Styles */
.contact {
    background-color: #fff;
}

.contact-title {
    font-family: var(--font-bricolage);
    color: #0F0F0F;
    font-size: clamp(2rem, 2vw + 1rem, 3.15rem);
    font-weight: 700;
    line-height: 110%;
}

.contact .col-lg-8.p-4.p-md-5.bg-light-gray {
    position: relative;
}

.contact .col-lg-8.p-4.p-md-5.bg-light-gray::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120%;
    height: 100%;
    border-radius: 32px;
    background: #EDEFF8;
}

.contact-form .form-label {
    color: #0F0F0F;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.contact-form .form-control {
    border: none;
    background-color: #fff;
    padding-left: 1.5rem;
    font-size: 1rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
}

.contact-form .form-control:focus {
    background-color: #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

span.wpcf7-not-valid-tip {
    position: absolute;
    right: 0;
    font-size: 12px;
}

.contact-form textarea.wpcf7-form-control {
    height: 140px;
    resize: none;
    padding: 15px 20px;
}

.contact-form .form-block {
    margin-bottom: 20px;
}

.contact-form input.wpcf7-form-control {
    padding: 15px 20px;
}



.contact-info-card {
    border-radius: 26px;
    background: linear-gradient(261deg, #29387C 26.07%, #0F2589 83.84%);
    position: relative;
    padding: 26px;
}

.contact-form {
    position: relative;
    z-index: 1;
}

.contact-info-content {
    color: #000;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.contact-info-card .btn-call-content {
    border-radius: 49.194px;
    /*background: #FCB900;
   */
    /* box-shadow: 0 3.28px 24.597px 0 rgba(255, 105, 0, 0.45), 0 -3.28px 12.299px 0 rgba(255, 105, 0, 0.58) inset, 0 3.28px 6.559px 0 rgba(255, 105, 0, 0.53) inset;
  */
    padding: 0 30px 0 6px;
    font-size: 19px;
    height: 68px;
    border: none;
    /*color: #10194B;*/
    font-style: normal;
    font-weight: 900 !important;
    line-height: 128%;
    text-transform: uppercase;
}

.btn-call-content {
    background: #FCB900 !important;
    box-shadow: 0 3.28px 24.597px 0 rgba(255, 105, 0, 0.45), 0 -3.28px 12.299px 0 rgba(255, 105, 0, 0.58) inset, 0 3.28px 6.559px 0 rgba(255, 105, 0, 0.53) inset !important;
    transform: scale(1.03) !important;
    color: #000;
}

.contact-info-card .btn-call {
    border: none;
}

.google-map-section {
    background-color: #fff;
}

.map-wrapper {
    line-height: 0;
}

.map-wrapper iframe {
    filter: grayscale(10%);
    transition: filter 0.3s ease;
}

.map-wrapper:hover iframe {
    filter: grayscale(0%);
}

/* Location Details Section */
.location-details-section {
    padding: clamp(3.5rem, 6vw, 6rem) 0;
    overflow: hidden;
}

.wavy-image-shape {
    position: relative;
    max-width: 550px;
    margin: 0 auto;
    mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><path fill="black" d="M100 0c9.1 0 16.9 8.2 26.5 10.7 9.5 2.5 20.3-0.5 29.1 3.8 8.7 4.3 12.8 14.1 19.8 21.1 7 7 16.8 11.1 21.1 19.8 4.3 8.7 1.3 19.5 3.8 29.1C202.8 94.1 211 101.9 211 111s-8.2 16.9-10.7 26.5c-2.5 9.5 0.5 20.3-3.8 29.1-4.3 8.7-14.1 12.8-21.1 19.8s-11.1 16.8-19.8 21.1c-8.7 4.3-19.5 1.3-29.1 3.8-9.6 2.5-17.4 10.7-26.5 10.7s-16.9-8.2-26.5-10.7c-9.5-2.5-20.3 0.5-29.1-3.8-8.7-4.3-12.8-14.1-19.8-21.1s-16.8-11.1-21.1-19.8c-4.3-8.7-1.3-19.5-3.8-29.1C-2.8 127.9-11 120.1-11 111s8.2-16.9 10.7-26.5c2.5-9.5-0.5-20.3 3.8-29.1 4.3-8.7 14.1-12.8 21.1-19.8s11.1-16.8 19.8-21.1c8.7-4.3 19.5-1.3 29.1-3.8C83.1 8.2 90.9 0 100 0z" transform="translate(-5.5 -5.5) scale(1.055)"/></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><path fill="black" d="M100 0c9.1 0 16.9 8.2 26.5 10.7 9.5 2.5 20.3-0.5 29.1 3.8 8.7 4.3 12.8 14.1 19.8 21.1 7 7 16.8 11.1 21.1 19.8 4.3 8.7 1.3 19.5 3.8 29.1C202.8 94.1 211 101.9 211 111s-8.2 16.9-10.7 26.5c-2.5 9.5 0.5 20.3-3.8 29.1-4.3 8.7-14.1 12.8-21.1 19.8s-11.1 16.8-19.8 21.1c-8.7 4.3-19.5 1.3-29.1 3.8-9.6 2.5-17.4 10.7-26.5 10.7s-16.9-8.2-26.5-10.7c-9.5-2.5-20.3 0.5-29.1-3.8-8.7-4.3-12.8-14.1-19.8-21.1s-16.8-11.1-21.1-19.8c-4.3-8.7-1.3-19.5-3.8-29.1C-2.8 127.9-11 120.1-11 111s8.2-16.9 10.7-26.5c2.5-9.5-0.5-20.3 3.8-29.1 4.3-8.7 14.1-12.8 21.1-19.8s11.1-16.8 19.8-21.1c8.7-4.3 19.5-1.3 29.1-3.8C83.1 8.2 90.9 0 100 0z" transform="translate(-5.5 -5.5) scale(1.055)"/></svg>');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

.wavy-image-shape img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.section-subtitle-badge {
    display: flex;
    align-items: center;
    gap: 10px;
}

.yellow-bar {
    display: inline-block;
    width: 2px;
    height: 8px;
    background-color: var(--yellow);
    border-radius: 2px;
}

.subtitle-text {
    color: #25357F;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 148%;
    text-transform: uppercase;
    font-family: var(--font-montserrat);
}

.location-title {
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
    color: #1A1A1A;
}

.location-description {
    font-size: clamp(1rem, 1vw, 1rem);
    line-height: 1.6;
    color: #4A4A4A;
    font-family: var(--font-montserrat);
    font-weight: 500;
}

.location-cta-btn {
    background: linear-gradient(90deg, #FFB800 0%, #FF9500 100%);
    box-shadow: 0 4px 15px rgba(255, 149, 0, 0.4);
    border-radius: 50px;
    padding: 16px 45px;
    color: #000;
    font-weight: 800;
    font-size: 1.15rem;
    text-transform: uppercase;
    border: none;
    transition: all 0.3s ease;
    font-family: var(--font-bricolage);
}

.location-cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(255, 149, 0, 0.5);
    background: linear-gradient(90deg, #FFC107 0%, #FF9800 100%);
    color: #000;
}

.about-section.position-relative.location-about {
    background: none;
    padding-top: 0;
    margin-top: 0;
}

.areas-we-serve h2 {
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
    color: #1A1A1A;
    margin-bottom: clamp(1.5rem, 1.2vw + 1rem, 2rem);
}

.text-center.nagative-space {
    margin-top: -30px;
}

.reliable-expert-review .rating-badge {
    max-width: 380px;
    width: 100%;
    border-radius: 32px 32px 0 0 !important;
    background: #FFF;
    padding: 16px 0 !important;
    text-align: center;
    justify-content: center;
    align-items: center;
}

/* Proven Results Section */
.results-section {
    background-color: #fff;
    overflow: hidden;
}


.results-large-number {
    font-size: clamp(8rem, 15vw, 12rem);
    font-weight: 800;
    line-height: 1;
    font-family: var(--primary-font);
    display: block;
    margin-bottom: 20px;
    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.5) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.results-years-text {
    font-size: 1.5rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.water-wave-bg {
    height: 150px;
    opacity: 0.3;
}

.results-title {
    color: var(--black);
    font-family: var(--font-bricolage);
    font-size: clamp(2.1rem, 1.6vw + 1rem, 3rem);
    font-weight: 800;
    line-height: 108%;
    max-width: 573px;
}

.stats-number {
    color: #29387C;
    font-family: var(--font-bricolage);
    font-size: 60px;
    font-style: normal;
    font-weight: 500;
    line-height: 108%;
    /* 64.8px */
}

.stats-label {
    color: #333;
    font-size: 1.1rem;
}

.stats-desc {
    color: #000;
    font-family: var(--font-bricolage);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 128%;
    /* 20.48px */
}

.stats-item {
    position: relative;
}

.results-intro {
    color: #0F0F0F;
    font-family: var(--font-montserrat);
    font-size: clamp(1rem, 1vw, 1.2rem);
    font-style: normal;
    font-weight: 400;
    line-height: 136%;
}

.stats-desc {
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    padding-bottom: 15px;
    margin-bottom: 10px;
}

.container {
    max-width: 1240px;
}

.navbar-pill .dropdown-menu .dropdown-item,
.navbar-pill .dropdown-menu .nav-link {
    padding: 10px 20px !important;
    font-weight: 600 !important;
}

ul.dropdown-menu.border-0.shadow-sm.show {
    padding: 0 !important;
    padding-left: 0 !important;
}

.navbar-pill .menu-item {
    background: none;
}

.navbar-pill .dropdown-menu {
    border-radius: 0 0 10px 10px;
    margin-top: 26px;
}

.navbar-pill .dropdown-menu .dropdown-item:hover {
    background: #FCB900;
}

.navbar-pill .menu-item:last-child .dropdown-item {
    border-radius: 0 0 10px 10px;
}

.genie-text img {
    width: 100%;
}

.offcanvas .genie-text {
    display: none;
}

.pool-sec img {
    height: 600px;
    object-fit: cover;
}

.contact-info-card .btn-call {
    margin-left: 15px;
}

.about-features li.d-flex {
    align-items: center;
}

.page-template-services-page-template .services-section {
    padding-bottom: clamp(2rem, 5vw + 1rem, 5.5rem);
}

.page-template-services-page-template .services-section .row.g-4.mb-5 {
    margin-bottom: 0 !important;
}

.location-template-default .location-details-section {
    padding-top: clamp(3.5rem, 6vw, 6rem);
    padding-bottom: 0;
    overflow: visible;
}

.contact-info-card .btn-call-content {
    height: 62px;
}