/* =====================================================
   GLOBAL RESET & VARIABLES
===================================================== */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@font-face {
    font-family: "Bilbo Custom";
    src: url("../fonts/bilbo.regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue LT Std";
    src: url("../fonts/Helvetica-Neue-LT-Std-45-Light.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inria Custom";
    src: url("../fonts/inria-serif.regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --primary-font: "Helvetica Neue LT Std";
    /* --primary-font: "Helvetica Neue LT Std", sans-serif; */
    /* --primary-font: "Baloo Bhaina 2", sans-serif; */
    --cursive-font: "Bilbo Custom", cursive;
    --second-font: "Inria Custom", serif;

    /* Theme Palette */
    --primary-color: #F4CB5C;
    --white: #FFFFFF;
    --black: #000000;
    --gray-light: #47474733;
    --gray-dark: #222222;
}

html {
    overflow-x: hidden;
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    background-color: var(--black);
    color: #ffffff;
    overflow-x: hidden;
    overflow-x: clip;
    position: relative;
    width: 100%;
    min-height: 100vh;
}

/* Prevent horizontal overflow from AOS animations in all sections */
section,
.banner_wrapper,
.slider_wrapper,
.entrepreneurs_wrapper,
.pms_wrapper {
    overflow-x: clip;
    position: relative;
}

/* === custom styles === */
.header-btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    background-color: var(--black);
    color: var(--white);
    font-family: var(--primary-font);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 50px;
    text-transform: uppercase;
    border: 1px solid var(--primary-color);
    transition: all 0.3s ease;
}

.header-btn a:hover {
    background-color: var(--primary-color);
    color: var(--black);
    transform: translateY(-2px);
}

.main-title {
    font-size: 54px;
    color: var(--white);
    font-weight: 600;
    font-family: var(--primary-font);
    line-height: 1;
}

.cursiv-title {
    font-family: var(--cursive-font);
    font-weight: 400;
}

.subtitle {
    position: relative;
    border: 2px solid var(--primary-color);
    padding: 16px;
    width: 210px;
    font-size: 24px;
    font-family: var(--primary-font);
    color: var(--white);
    margin: auto;
    border-radius: 5px;
    margin-bottom: 0px;
    line-height: 1;
}

.subtitle::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 20px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 10px solid var(--primary-color);
}

.title-des {
    font-size: 22px;
    color: var(--white);
    font-family: var(--primary-font);
}

.des {
    font-size: 18px;
    color: var(--white);
    font-family: var(--primary-font);
}

.gold-color {
    color: var(--primary-color);
}

.top-padding {
    padding-top: 100px;
}

.bottom-padding {
    padding-bottom: 100px;
}

.padding-y {
    padding: 100px 0;
}

.top-margin {
    margin-top: 100px;
}

.bottom-margin {
    margin-bottom: 100px;
}

.margin-y {
    margin: 100px 0;
}

/* .text-anime-style-3 {
    overflow: hidden;
}

.text-anime-style-3 .char {
    display: inline-block;
    opacity: 0;
    transform: translateY(100%);
} */

.primery-btn a ,
.primery-btn button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 24px;
    text-decoration: none;
    border-radius: 50px;
    border: 1px solid var(--primary-color);
    background-color: var(--primary-color);
    padding: 15px 20px;
    color: var(--black);
    font-family: var(--primary-font);
    font-weight: 400;
    width: 200px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    line-height: 1;
    transition: all 0.4s ease;
}

.primery-btn a:hover ,
.primery-btn button:hover {
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    background-color: transparent;

}

.border-btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 24px;
    text-decoration: none;
    border-radius: 50px;
    background-color: transparent;
    border: 1px solid var(--primary-color);
    padding: 15px 20px;
    color: var(--white);
    font-family: var(--primary-font);
    font-weight: 400;
    width: 250px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    line-height: 1;
    transition: all 0.4s ease;
}

.border-btn a:hover {
    color: var(--black);
    border: 1px solid var(--primary-color);
    background-color: var(--primary-color);

}

.high-light-text{
    color: var(--primary-color);
    text-decoration: underline;
}

.bg-section{
    background-color: var(--gray-dark);
}

/* === custom styles === */



/* =====================================================
   HEADER & NAVBAR
===================================================== */
.main-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: transparent;
    transition: background-color 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease, padding 0.4s ease;
    padding: 20px 0;
}

.main-header.scrolled {
    background: rgba(8, 8, 8, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6);
    padding: 12px 0;
}

.main-header .navbar {
    padding: 0;
    min-height: auto;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.main-header .navbar-collapse {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.navbar-nav {
    display: flex;
    align-items: center;
    gap: 36px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.navbar-left {
    justify-content: flex-start;
}

.navbar-right {
    justify-content: flex-end;
    gap: 36px;
}

/* Nav Links */
.main-header .nav-link {
    position: relative;
    font-family: var(--primary-font);
    font-size: 18px;
    font-weight: 400;
    text-transform: uppercase;
    color: #616161 !important;
    text-decoration: none;
    padding: 6px 0 !important;
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

.main-header .nav-link:hover {
    color: var(--primary-color) !important;
    text-shadow: 0 0 12px var(--primary-glow);
}

.main-header .nav-link.active {
    color: var(--primary-color) !important;
    text-shadow: 0 0 10px rgba(244, 203, 92, 0.25);
    font-weight: 600;
}

/* Center Favicon (Appears on Scroll in Desktop) */
.header-center-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scale(0.85);
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
        visibility 0.35s ease;
    pointer-events: none;
}

.main-header.scrolled .header-center-logo {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.center-fav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.center-fav-img {
    height: 42px;
    width: auto;
    object-fit: contain;
    transition: transform 0.3s ease, filter 0.3s ease;
}

/* Mobile Brand on Left */
.mobile-brand {
    display: none;
    align-items: center;
    text-decoration: none;
}

.mobile-logo-fav {
    height: 38px;
    width: auto;
    object-fit: contain;
}

/* From Uiverse.io by vinodjangid07 - Hamburger Toggle */
#checkbox {
    display: none !important;
}

/* Hide toggle icon on desktop (>991px) by default */
.toggle {
    display: none !important;
    position: relative;
    width: 40px;
    height: 40px;
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition-duration: .5s;
}

.bars {
    width: 100%;
    height: 4px;
    background-color: var(--primary-color);
    border-radius: 4px;
}

#bar2 {
    transition-duration: .8s;
}

#bar1,
#bar3 {
    width: 70%;
}

#checkbox:checked+.toggle .bars {
    position: absolute;
    transition-duration: .5s;
}

#checkbox:checked+.toggle #bar2 {
    transform: scaleX(0);
    transition-duration: .5s;
}

#checkbox:checked+.toggle #bar1 {
    width: 100%;
    transform: rotate(45deg);
    transition-duration: .5s;
}

#checkbox:checked+.toggle #bar3 {
    width: 100%;
    transform: rotate(-45deg);
    transition-duration: .5s;
}

#checkbox:checked+.toggle {
    transition-duration: .5s;
    transform: rotate(180deg);
}

.mobile-logo-img {
    height: 38px;
    width: auto;
    object-fit: contain;
}

/* ======== header end ======= */

/* ===== hero section start ======= */
.banner_wrapper {
    position: relative;
    overflow-x: clip;
}

.banner_wrapper::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 380px;
    height: 380px;

    background: radial-gradient(50% 50% at 50% 50%,
            rgba(244, 203, 92, 0.151) 7.69%,
            rgba(217, 217, 217, 0) 100%);

    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.banner_wrapper>* {
    position: relative;
    z-index: 1;
}

.banner_wrapper .main-banner {
    position: relative;
}

.banner_wrapper .banner-main-img {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 999;
}

.banner_wrapper .banner-main-img img {
    height: 740px;
    width: 100%;
    object-fit: contain;
    margin-top: 20px;
}

.banner_wrapper .banner-left {
    position: absolute;
    left: 0;
    bottom: 32%;
}

.banner_wrapper .banner-left-title {
    position: absolute;
    left: 0px;
    top: 20%;
    z-index: -1;
}

.banner_wrapper .banner-right {
    position: absolute;
    right: 117px;
    top: 20%;
}

.banner_wrapper .banner-right-title {
    position: absolute;
    right: 27px;
    bottom: 14%;
    z-index: -1;
    color: var(--primary-color);
}

.banner_wrapper .banner-title {
    font-size: 188px;
    font-family: var(--second-font);
    text-transform: capitalize;
    letter-spacing: -12px;
    font-weight: 400;
}

.banner_wrapper .banner-card {
    background-color: var(--gray-light);
    padding: 20px 45px;
    border-radius: 8px;
    text-align: center;
    animation: bannerCardFloat 4s ease-in-out infinite;
    will-change: transform;
}

@keyframes bannerCardFloat {

    0%,
    100% {
        transform: translateY(0);
    }

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

.banner_wrapper .banner-card .banner-number {
    font-size: 50px;
    color: var(--primary-color);
    font-family: var(--primary-font);
    font-weight: 700;
    margin-bottom: 0px;
    line-height: 1;
}

.banner_wrapper .banner-card .banner-text {
    font-size: 22px;
    color: var(--white);
    font-family: var(--primary-font);
    font-weight: 400;
    margin-bottom: 0px;
    line-height: 1;
}

.banner_wrapper .img-tegline {
    background-color: var(--gray-dark);
    padding: 15px 25px;
    border-radius: 85px;
    position: absolute;
    bottom: 90px;
}

.banner_wrapper .img-tegline .banner-tegline {
    font-family: var(--cursive-font);
    font-size: 50px;
    color: var(--white);
    line-height: 1;
    margin-bottom: 0;
}

/* ===== hero section end ======= */

/* ===== slider section ===== */

.slider_wrapper {
    background-color: var(--gray-dark);
    padding: 50px 0;
    overflow: hidden;
}

.slider_wrapper .swiper {
    width: 100%;
    overflow: hidden;
}

.slider_wrapper .swiper+.swiper {
    margin-top: 40px;
}

.slider_wrapper .swiper-wrapper {
    display: flex;
    align-items: center;
    width: max-content;
    transition: none !important;
}

/* Slides */

.slider_wrapper .swiper-slide {
    width: auto !important;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

/* Text */

.slider_wrapper .sliter-text {
    margin: 0;
    padding: 0;
    font-size: 20px;
    line-height: 1;
    color: #7a7a7a;
    font-family: var(--primary-font);
    font-weight: 400;
    white-space: nowrap;
}

/* Icon */

.slider_wrapper .slider-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 30px;
}

.slider_wrapper .slider-icon i {
    display: block;
    font-size: 30px;
    line-height: 1;
    color: var(--primary-color);
}


@keyframes sliderLeft {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}


@keyframes sliderRight {

    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}


/* ===== slider section end ===== */

/* ==== entrepreneurs section start ==== */

.entrepreneurs_wrapper {
    position: relative;
    padding: 80px 0 100px;
    overflow: clip;
}

.entrepreneurs_wrapper::before {
    content: "";
    position: absolute;
    top: 0px;
    left: -120px;
    width: 380px;
    height: 380px;

    background: radial-gradient(50% 50% at 50% 50%,
            rgba(244, 203, 92, 0.151) 7.69%,
            rgba(217, 217, 217, 0) 100%);

    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.entrepreneurs_wrapper>* {
    position: relative;
    z-index: 1;
}

.entrepreneurs_wrapper .ent-subtitle {
    font-size: 32px;
    font-family: var(--primary-font);
    font-weight: 600;
    color: var(--white);
    margin-bottom: 15px;
}

.entrepreneurs_wrapper .ent-point {
    list-style: none;
    padding: 0;
    margin: 0;
}

.entrepreneurs_wrapper .ent-point li {
    position: relative;
    padding-left: 42px;
    margin-bottom: 14px;
    font-size: 28px;
    font-family: var(--primary-font);
    font-weight: 400;
}

.entrepreneurs_wrapper .ent-point li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 30px;
    height: 30px;
    background-image: url("../img/icon/right-arrow.svg");
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-position: center;
}

/* ==== entrepreneurs section end ==== */

/* ==== approach_wrapper start ====== */
.approach_wrapper .approach-main-img img {
    width: 100%;
    height: 700px;
    object-fit: contain;
    display: block;

}

.approach_wrapper .app-title {
    font-size: 36px;
    font-family: var(--primary-font);
    font-weight: 600;
    color: var(--white);
    margin-bottom: 15px;
    line-height: 1;
}

.approach_wrapper .app-title span {
    font-size: 80px;
    white-space: nowrap;
}

.approach_wrapper .app-subtitle {
    font-size: 16px;
    font-family: var(--primary-font);
    font-weight: 600;
    color: var(--white);
}

.approach_wrapper .app-point {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-bottom: 15px;
}

.approach_wrapper .app-point li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 10px;
    font-size: 18px;
    font-family: var(--primary-font);
    font-weight: 400;
}

.approach_wrapper .app-point li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    background-image: url("../img/icon/squer-check.svg");
    background-repeat: no-repeat;
    background-size: 18px 18px;
    background-position: center;
}


/* ==== approach_wrapper start====== */

/* ====== pms_wrapper start ====== */
.pms_wrapper {
    /* position: relative; */
    /* overflow: clip; */
}
.pms_wrapper .des {
    max-width: 890px;
}

.pms_wrapper .pms-img {
    /* position: relative; */
    overflow: hidden;
}

.pms_wrapper .pms-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pms_wrapper .main-des {
    position: relative;
}

.pms_wrapper .main-des:after {
    content: "";
    position: absolute;
    top: -90px;
    right: -50px;
    background-image: url("../img/shap/arrow-shpa1.png");
    background-repeat: no-repeat;
    background-size: contain;
    height: 90px;
    width: 90px;
    pointer-events: none;
    z-index: 1;
    animation: pmsArrowFloat 2.5s ease-in-out infinite;
}


/* ===== Vertical Floating Animation ===== */

@keyframes pmsArrowFloat {

    0%,
    100% {
        transform: translateY(0);
    }

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

}

/* ====== pms_wrapper end ====== */

/* === CLIENT LOGO SECTION ======= */

.client_wrapper .client-logo-row {
    margin-top: 35px;
}

/* Each column */
.client_wrapper .client-item {
    position: relative;
}

/* Logo box */
.client_wrapper .client-logo {
    min-height: 130px;
    padding: 25px 35px;

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

    border: 0 solid #525252;
}

/* ---------------------------------------------------------
   DESKTOP - 4 COLUMNS
--------------------------------------------------------- */

/* Left outer border */
.client_wrapper .client-item:nth-child(1) {
    border-left: 1px solid #525252;
}

.client_wrapper .client-item:nth-child(5) {
    border-left: 0px solid #525252;
}

/* Internal vertical dividers */
.client_wrapper .client-item:nth-child(1),
.client_wrapper .client-item:nth-child(2),
.client_wrapper .client-item:nth-child(3),
.client_wrapper .client-item:nth-child(5),
.client_wrapper .client-item:nth-child(6),
.client_wrapper .client-item:nth-child(7),
.client_wrapper .client-item:nth-child(8) {
    border-right: 1px solid #525252;
}

.client_wrapper .client-item:nth-child(4) {
    border-right: 0px solid #525252;
}

/* Horizontal divider between row 1 and row 2 */
.client_wrapper .client-item:nth-child(1) .client-logo,
.client_wrapper .client-item:nth-child(2) .client-logo,
.client_wrapper .client-item:nth-child(3) .client-logo,
.client_wrapper .client-item:nth-child(4) .client-logo {
    border-bottom: 1px solid #525252;
}

/* Logo image */
.client_wrapper .client-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 80px;
    object-fit: contain;
    aspect-ratio: 4 / 2;
    transition: transform 0.3s ease;
}

/* Hover */
.client_wrapper .client-logo:hover img {
    transform: scale(1.04);
}


/* ==== client section end ==== */

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

.counter_wrapper {
    background-color: var(--gray-light);
}

.counter_wrapper .row {
    align-items: center;
}

.counter_wrapper .counter-item {
    position: relative;
    text-align: center;
    padding: 10px 25px;
}

/* Counter Number */
.counter_wrapper .counter-number {
    margin: 0 0 12px;
    font-size: 70px;
    color: var(--primary-color);
    font-family: var(--primary-font);
    font-weight: 600;
    line-height: 1;
}

/* Counter Text */
.counter_wrapper .counter-text {
    margin: 0;
    font-size: 24px;
    color: var(--white);
    font-family: var(--primary-font);
    font-weight: 400;
    line-height: 1.2;
}

/* ==== counter section end ==== */

/* === book section start === */
.book_wrapper {
    padding: 80px 0;
}

.book_wrapper .book-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.book_wrapper .book-img {
    position: relative;
}

.book_wrapper .book-img::after {
    content: "";
    position: absolute;
    top: 80px;
    left: 50px;
    background-image: url(../img/shap/arrow-shpa2.png);
    background-repeat: no-repeat;
    background-size: 80px 80px;
    height: 80px;
    width: 80px;
    animation: pmsArrowFloat 2.5s ease-in-out infinite;
}

@keyframes pmsArrowFloat {

    0%,
    100% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(20deg);
    }

}

.book_wrapper .book-subtitle {
    font-size: 32px;
    font-family: var(--primary-font);
    font-weight: 600;
    color: var(--white);
    margin-bottom: 15px;
    line-height: 1;
}

.book_wrapper .book-des {
    font-size: 20px;
    font-family: var(--primary-font);
    font-weight: 400;
    color: var(--white);
    margin-bottom: 15px;
    line-height: 1;
}

/* === book section end === */

/* ==== project section start ==== */
.project_wrapper {
    position: relative;
    overflow-x: clip;
}

.project_wrapper::before {
    content: "";
    position: absolute;
    bottom: 100px;
    right: -180px;
    width: 380px;
    height: 380px;

    background: radial-gradient(50% 50% at 50% 50%,
            rgba(244, 203, 92, 0.151) 7.69%,
            rgba(217, 217, 217, 0) 100%);

    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.project_wrapper>* {
    position: relative;
    z-index: 1;
}

.project_wrapper .work-main-box {
    position: relative;
    overflow: hidden;
    /* min-height: 320px; */
    background: #000;
    cursor: pointer;
    isolation: isolate;
    border-radius: 10px;
}

/* Image */
.project_wrapper .work-main-box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform 0.7s cubic-bezier(.2, .65, .25, 1),
        filter 0.5s ease;
}


/* =========================================================
   BLACK HOVER OVERLAY
========================================================= */

.project_wrapper .work-main-box::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;

    background: rgba(0, 0, 0, 0);

    transition: background-color 0.5s ease;
}


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

.project_wrapper .work-main-box .work-title {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 25px;
    z-index: 2;
    margin: 0;
    color: var(--white);
    font-family: var(--primary-font);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    opacity: 0;
    visibility: hidden;
    transform: translateY(25px);
    transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.5s cubic-bezier(.2, .65, .25, 1);
}

/* =========================================================
   HOVER
========================================================= */

.project_wrapper .work-main-box:hover img {
    transform: scale(1.06);
    filter: brightness(0.75);
}

.project_wrapper .work-main-box:hover::after {
    background: rgba(0, 0, 0, 0.62);
}

.project_wrapper .work-main-box:hover .work-title {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* ==== project section end ==== */

/* ==== testimonial section start ==== */

/* =========================================================
   TESTIMONIAL SWIPER
========================================================= */

.testimonial_wrapper {
    position: relative;
}

.testimonial_wrapper .test-img img{
    height: 70px;
    width: 70px;
    border-radius: 50%;
    margin-bottom: 10px;
}

.testimonial_wrapper::before {
    content: "";
    position: absolute;
    top: -120px;
    left: -180px;
    width: 380px;
    height: 380px;

    background: radial-gradient(50% 50% at 50% 50%,
            rgba(244, 203, 92, 0.151) 7.69%,
            rgba(217, 217, 217, 0) 100%);

    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.testimonial_wrapper>* {
    position: relative;
    z-index: 1;
}

.testimonial_wrapper .testSwiper {
    padding-bottom: 55px;
}

/* Pagination wrapper */
.testimonial_wrapper .swiper-pagination {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 20px;
}

/* Pagination bullet */
.testimonial_wrapper .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 !important;
    background: #585858;
    border-radius: 50px;
    opacity: 1;
    position: relative;
    transition:
        width 0.35s ease,
        background-color 0.35s ease;
}

/* Active pagination */
.testimonial_wrapper .swiper-pagination-bullet-active {
    background: var(--primary-color);
}

/* Outer border with gap */
.testimonial_wrapper .swiper-pagination-bullet-active::before {
    content: "";
    position: absolute;
    inset: -5px;
    border: 1px solid var(--primary-color);
    border-radius: 50%;
}



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

.testimonial_wrapper .test-des {
    font-size: 20px;
    color: var(--white);
    font-family: var(--primary-font);
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 25px;
}

.testimonial_wrapper .test-title {
    font-size: 24px;
    color: var(--white);
    font-weight: 600;
    font-family: var(--primary-font);
    margin-bottom: 0;
}

.testimonial_wrapper .des {
    margin-bottom: 0;
    color: var(--white);
}

/* ==== testimonial section end ==== */

/* ==== form section start ==== */


.form_wrapper {
    position: relative;
    border-bottom: 2px solid var(--gray-dark);
}



.form_wrapper::before {
    content: "";
    position: absolute;
    bottom: 100px;
    left: -180px;
    width: 380px;
    height: 380px;

    background: radial-gradient(50% 50% at 50% 50%,
            rgba(244, 203, 92, 0.151) 7.69%,
            rgba(217, 217, 217, 0) 100%);

    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.form_wrapper>* {
    position: relative;
    z-index: 1;
}

.form_wrapper::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 45%;
    height: 100%;
    background-image: url("../img/form-img.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
    pointer-events: none;
}

.form_wrapper .form-box {
    background-color: var(--gray-light);
    width: 175px;
    border-radius: 5px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-bottom: 20px;
    padding: 12px;
}

.form-grid {
    display: flex;
    /* grid-template-columns: repeat(2, minmax(0, 1fr)); */
    gap: 20px;
    flex-wrap: wrap;
}

.form-box {
    height: 100%;
}

/* Tablet and mobile */

/* .form_wrapper .form-box.box1 {
    transform: rotate(340deg) !important;
}

.form_wrapper .form-box.box2 {
    transform: rotate(15deg) !important;
}

.form_wrapper .form-box.box3 {
    transform: rotate(10deg) !important;
}

.form_wrapper .form-box.box4 {
    transform: rotate(350deg) !important;
} */

.form_wrapper .form-box .form-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.form_wrapper .form-box .form-text {
    font-size: 18px;
    color: var(--white);
    font-family: var(--primary-font);
    font-weight: 400;
    margin-bottom: 0px;
    margin-top: 15px;
}

.form_wrapper .form-title {
    font-size: 36px;
    color: var(--primary-color);
    font-family: var(--primary-font);
    font-weight: 400;
}


/* ==== form section end ==== */

/* ===== footer section start ======== */
.footer_wrapper {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.footer_wrapper::after {
    position: absolute;
    content: "";
    background-image: url(../img/footer-pattern.png);
    width: 100%;
    height: 100%;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    top: 0;
    left: 0;
    opacity: 0.15;
    pointer-events: none;
    z-index: 1;
}

/* Footer Content */
.footer_wrapper .container-fluid {
    position: relative;
    z-index: 2;
    flex: 1;
    padding-top: 60px;
    padding-bottom: 0;
}

/* Main footer area: flex column so bottom sticks at end */
.footer_wrapper .main-footer-area {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Footer Logo column */
.footer_wrapper .footer-logo img {
    max-width: 300px;
    width: 100%;
    height: auto;
    object-fit: contain;
    margin-top: 80px;
}

/* Footer Menu */
.footer_wrapper .footer-menu {
    position: relative;
    z-index: 4;
    flex: 1;
}

.footer_wrapper .footer-menu ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px 35px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer_wrapper .footer-menu ul li {
    margin: 0;
    padding: 0;
    margin-top: 80px;
}

.footer_wrapper .footer-menu ul li a {
    position: relative;
    display: inline-block;
    color: var(--white);
    font-size: 20px;
    font-weight: 400;
    text-decoration: none;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.footer_wrapper .footer-menu ul li a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 1px;
    left: 0;
    bottom: -6px;
    background: var(--primary-color);
    transition: width 0.3s ease;
}

.footer_wrapper .footer-menu ul li a:hover {
    color: var(--primary-color);
}

.footer_wrapper .footer-menu ul li a:hover::after {
    width: 100%;
}

/* Social icons */
.footer_wrapper .footer-social {
    display: flex;
    gap: 20px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.footer_wrapper .footer-social img {
    width: 40px;
    height: 40px;
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.footer_wrapper .footer-social img:hover {
    transform: translateY(-5px) scale(1.08) rotate(3deg);
}

.footer_wrapper .footer-bottom {
    position: relative;
    z-index: 4;
    width: 100%;
    margin-top: 50px;
    padding: 18px 0;
    /* border-top: 1px solid rgba(255, 255, 255, 0.12); */
    background: transparent;
}

/* Outer container keeps full-width border-top inside .container-fluid */
.footer_wrapper .main-footer-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
    flex-wrap: wrap;
}

.footer_wrapper .copy-right,
.footer_wrapper .policy {
    margin: 0;
    padding: 0;
}

.footer_wrapper .footer-text {
    margin: 0;
    color: #b5b5b5d1;
    font-size: 20px;
    font-family: var(--primary-font);
    line-height: 1.5;
}

.footer_wrapper .policy {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.footer_wrapper .policy a {
    color: #b5b5b5d1;
    font-size: 18px;
    font-family: var(--primary-font);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer_wrapper .policy a:hover {
    color: var(--primary-color);
}

/* ===== footer section end ======== */




.main-form .form-group input,
.main-form .form-group textarea {
    background-color: var(--gray-light);
    border-radius: 5px;
    padding: 15px;
    border: none;
    outline: none;
    font-family: var(--primary-font);
    color: var(--white);
    font-size: 24px;
    line-height: 1;
}

.main-form .form-group textarea {
    width: 100%;
    height: 250px;
}

.main-form .form-group input::placeholder,
.main-form .form-group textarea::placeholder {
    color: var(--white);
    font-size: 18px;
}

.main-form .form-group input:focus,
.main-form .form-group textarea:focus {
    box-shadow: none !important;
}

/* =========================================================
   BACK TO TOP BUTTON
========================================================= */

.back-to-top {
    position: fixed;
    right: 25px;
    bottom: 25px;
    z-index: 9999;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--primary-color);
    border-radius: 50%;
    background: var(--black-color);
    color: var(--primary-color);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition:
        opacity 0.35s ease,
        visibility 0.35s ease,
        transform 0.35s ease,
        background-color 0.35s ease,
        color 0.35s ease,
        box-shadow 0.35s ease;
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Hover */
.back-to-top:hover {
    background: var(--primary-color);
    color: var(--black-color);
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(244, 203, 92, 0.25);
}

/* Icon */
.back-to-top i {
    transition: transform 0.35s ease;
}

.back-to-top:hover i {
    transform: translateY(-3px);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .back-to-top {
        right: 15px;
        bottom: 15px;
        width: 45px;
        height: 45px;
        font-size: 19px;
    }
}


/* =====================================================
   MODERN SLEEK ANIMATIONS (Subtle displacement & smooth curves)
   - Eliminates scrollbar jumping by preventing elements from translating outside container bounds
===================================================== */
body [data-aos],
[data-aos] {
    pointer-events: auto !important;
}

body [data-aos="fade-up"],
[data-aos="fade-up"] {
    transform: translate3d(0, 32px, 0) !important;
    opacity: 0;
    transition-property: transform, opacity !important;
}

body [data-aos="fade-up"].aos-animate,
[data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1;
}

body [data-aos="fade-down"],
[data-aos="fade-down"] {
    transform: translate3d(0, -32px, 0) !important;
    opacity: 0;
    transition-property: transform, opacity !important;
}

body [data-aos="fade-down"].aos-animate,
[data-aos="fade-down"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1;
}

body [data-aos="fade-right"],
[data-aos="fade-right"] {
    transform: translate3d(-35px, 0, 0) !important;
    opacity: 0;
    transition-property: transform, opacity !important;
}

body [data-aos="fade-right"].aos-animate,
[data-aos="fade-right"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1;
}

body [data-aos="fade-left"],
[data-aos="fade-left"] {
    transform: translate3d(35px, 0, 0) !important;
    opacity: 0;
    transition-property: transform, opacity !important;
}

body [data-aos="fade-left"].aos-animate,
[data-aos="fade-left"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1;
}

body [data-aos="zoom-in"],
[data-aos="zoom-in"] {
    transform: scale(0.92) !important;
    opacity: 0;
    transition-property: transform, opacity !important;
}

body [data-aos="zoom-in"].aos-animate,
[data-aos="zoom-in"].aos-animate {
    transform: scale(1) !important;
    opacity: 1;
}