/* @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); */
@font-face {
    font-family: 'CircularStd';
    /* src: url('fonts/CustomFont.otf') format('opentype'); */
    /* or for .ttf: */
    src: url('/Assets/font/circular-std-font-family/CircularStd-Black.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: 'CircularStd-bold';
    src: url('/Assets/font/circular-std-font-family/CircularStd-Bold.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: 'CircularStd-book';
    src: url('/Assets/font/circular-std-font-family/CircularStd-Book.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: 'CircularStd-medium';
    src: url('/Assets/font/circular-std-font-family/CircularStd-Medium.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: 'CircularStd-black';
    src: url('/Assets/font/circular-std-font-family/CircularStd-Black.woff2') format('woff2');
    font-display: swap;
}



* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-book);
}

:root {
    --bg-color: #051c2c;
    --primary-color: #073044;
    --secondary-color: #092940;
    --tertiary-color: #036686;
    --dark-color: #082b41;
    --font-color: #fff;
    --btn-bg-color: #02D1A6;
    --text-color-fade: #FFFFFFB2;
    --blog-color: #0f2f4e;
    --font-book: 'CircularStd-book';
    --font-bold: 'CircularStd-bold';
    --font-medium: 'CircularStd-medium';
}

a {
    text-decoration: none;
    cursor: pointer;
}

.main {
    height: 100%;
    width: 100%;
    /* overflow: hidden; */
    background-color: var(--bg-color);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.chat {
    position: absolute;
    bottom: 50px;
    right: 50px;
    position: fixed;
    z-index: 999;
}

/* glow effect */

.glowEffect {
    position: absolute;
    height: 300px;
    width: 420px;
    background: rgba(2, 209, 166, 0.23);
    border-radius: 50%;
    filter: blur(97px);
    backdrop-filter: blur(194px);
}



/* Hero Section */

.container {
    height: 100%;
    width: 100%;
    background-color: var(--bg-color);
    display: flex;
    flex-direction: column;
}

.heroSectionSwiper {
    height: 75vh;
    overflow: hidden;
}

.heroSection {
    height: 100%;
    width: 100%;
}

.heroSection .heroContent {
    position: relative;
    height: 100%;
    width: 90%;
    margin: 50px auto 0 auto;
    display: flex;
    padding: 2rem 0;
    align-items: center;
    justify-content: space-between;
}

.heroContent .heroText {
    width: 45%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    gap: 1rem;
}

.heroText h1,
.heroText h2 {
    color: var(--font-color);
    line-height: 38px;
    font-size: 38px;
    font-weight: 500;
    animation: blink-caret 0.5s;
}

#heroCursor {
    opacity: 0;
    animation: blink-caret 0.8s 4.5;
}

@keyframes blink-caret {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.heroText p {
    line-height: 18px;
    width: 90%;
    font-size: 14px;
    font-weight: 200;
    color: var(--text-color-fade);
    font-family: var(--font-book);
}

.heroText .heroButton {
    margin-top: 2rem;
}

.heroText .heroButton a {
    color: var(--font-color);
    font-size: 12px;
    font-family: var(--font-book);
    border: 2px solid var(--btn-bg-color);
    font-weight: 500;
    padding: 8px 12px;
    border-radius: 100px;

}

.heroContent .heroImg {
    width: 50%;
    /* height: 100%; */
    height: calc(70vh);
    display: flex;
    align-items: center;
    justify-content: center;
    perspective: 500px;
    cursor: pointer;
    /* overflow: hidden; */
    transform-style: preserve-3d;
    /* Allows 3D transforms */
    backface-visibility: hidden;
}

/* .heroImg img{
    width: 70%;
    height: 70%;
    padding: 1rem;
    object-fit: contain;
    transition: transform 0.1s ease-out;
}    */

.heroImg img {
    /* transform: scale(0.9); */
    position: absolute;
    width: fit-content;
    height: fit-content;
    padding: 1rem;
    will-change: transform;
    filter: drop-shadow(0px 0px 10px #000000);
    transform-style: preserve-3d;
    /* Allows 3D transforms */
    backface-visibility: hidden;
    object-fit: contain;
    transition: transform 0.1s ease-out;
    /* Smooth transition for the 3D effect */
    opacity: 0.75;
}



@keyframes infiniteRotateReverse {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}




.heroWrap {
    /* z-index: -1; */
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.heroWrap .heroVideo {
    height: 100%;
    width: 100%;
    /* position: relative;
    top: 0;
    left: 0; */
}

.heroVideo video {
    height: 100%;
    width: 100%;
    transform: scale(1.1);
    object-fit: cover;
}

.heroWrapLayerOne {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #051C2C;
    mix-blend-mode: color;
    transform: translate3d(0, 0, 0);
    /* background-blend-mode: color; */
}

.heroWrapLayerTwo {
    position: absolute;
    opacity: 48%;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, #041724 33.74%, #015E4B 144.07%);
}

.heroWrapLayerThree {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, #051C2C 0%, rgba(5, 28, 44, 0) 31.97%, rgba(5, 28, 44, 0) 56.4%, #051C2C 100%);

}



/* heroSwiper two */

.iconHoverContainer {
    height: 45%;
    width: 45%;
    z-index: 11;
    position: relative;
}

.heroImgTwo img {
    /* position: relative; */
    z-index: 11 !important;
    opacity: 1;
}

.iconHero {
    height: 52px;
    width: 159px;
    will-change: transform;
    /* filter: drop-shadow(0px 0px 10px #000000); */
    transform-style: preserve-3d;
    /* Allows 3D transforms */
    backface-visibility: hidden;
}

.iconTwo {
    position: absolute;
    right: -15%;
    top: 15%;
}

.iconThree {
    position: absolute;
    left: 20%;
    top: 40%;
}

.iconFour {
    position: absolute;
    left: 70%;
    top: 72%;
}

.iconFive {
    position: absolute;
    left: 0%;
    top: 90%;
}

.iconSix {
    position: absolute;
    left: 55%;
    top: -10%;
    height: 35px;
}

.iconSeven {
    position: absolute;
    left: -20%;
    top: 60%;
    height: 35px;
}

.heroImg .iconEight {
    position: absolute;
    left: 45%;
    top: 100%;
    height: 70px;
}


.rippleEffect {
    position: absolute;
    height: 100%;
    width: 100%;
    /* background-color: #02d1a8; */
    top: 0;
    right: 0;
    z-index: 10;
}


.ripple {
    height: 200px;
    width: 200px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
    border: 1px solid var(--btn-bg-color);
    border-radius: 50%;
    z-index: -10;
    /* animation-name: ripple; */
    animation-duration: 6s;
    /* Reduced duration for a quicker animation */
    animation-iteration-count: infinite;
    /* Added easing for smoother animation */
}

.ripple-1 {
    animation-delay: 0s;
}

.ripple-2 {
    animation-delay: 0.5s;
    /* Adjusted delay for a staggered effect */
}

.ripple-3 {
    animation-delay: 1s;
    /* Adjusted delay for a staggered effect */
}

.ripple-4 {
    animation-delay: 1.5s;
    /* Adjusted delay for a staggered effect */
}

.ripple-5 {
    animation-delay: 2s;
    /* Adjusted delay for a staggered effect */
}

@keyframes ripple {
    0% {
        transform: scale(0);
        /* Start at 0 scale */
        opacity: 0;
    }

    20% {
        transform: scale(0.2);
        /* Maximum size */
        opacity: 0.8;
        /* Almost fully visible */
    }

    40% {
        transform: scale(0.4);
        /* Peak size */
        opacity: 1;
        /* Fully visible */
    }

    60% {
        transform: scale(0.6);
        /* Start to shrink */
        opacity: 0.8;
        /* Slightly less visible */
    }

    80% {
        transform: scale(0.8);
        /* Start to shrink */
        opacity: 0.8;
        /* Slightly less visible */
    }

    100% {
        transform: scale(1);
        /* Fully transparent */
        opacity: 0;
        /* Fully transparent */
    }
}

.heroSection .heroContentThree {
    width: 100% !important;
    margin: 0;
}

.heroContentThree .heroText {
    margin-left: 5%;
    z-index: 2;
}

.heroSectionThree .heroWrap {
    /* background-color: #02D1A6; */
    z-index: 1;
    background: linear-gradient(87.5deg, #051C2C 56.27%, rgba(5, 28, 44, 0) 97.91%);
}

.heroImgThree {
    padding: 0;
    height: 100%;
    width: 100%;
}

.heroImgThree img {
    height: 100%;
    width: 100%;
    padding: 0;
    object-fit: cover;
}


/* Hero Bottom */

.heroBottom {
    height: 25vh;
    width: 100%;
    padding: 0rem 0;
    background-color: var(--bg-color);
}

.heroBottomContent {
    height: 100%;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

.heroBottomHead {
    padding: 0;
    color: var(--font-color);
    font-weight: 500;
    width: 90%;
    margin: 0 auto;
}

.heroBottomHead p {
    font-size: 18px;
    font-family: var(--font-book);
}

.heroBottomBody {
    height: 100%;
    width: 100%;
    position: relative;
}

.heroBottomBody .swiperFadeLeft {
    position: absolute;
    top: 0;
    left: -10px;
    height: 100%;
    width: 10%;
    z-index: 99;
    background: linear-gradient(90deg, #051C2C 29.09%, rgba(5, 28, 44, 0) 100%);
}

.heroBottomBody .swiperFadeRight {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 10%;
    z-index: 98;
    transform: scaleX(-1);
    background: linear-gradient(90deg, #051C2C 29.09%, rgba(5, 28, 44, 0) 100%);
}


.heroSwiper {
    height: 100%;
    width: 100%;
}


.heroSwiperImg img {
    height: 80px;
    /* Adjust size as needed */
    width: 80px;
    object-fit: scale-down;
    opacity: 0.9;
}


.heroBottomCards {
    height: 100%;
    width: 95%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 2.5rem;
    row-gap: 1rem;
    padding: 1rem 0;
}


.bottomcard {
    height: 50px;
    width: calc-content;
    border-radius: 8px;
    /* padding: 0.1rem; */
    /* background-color: white; */
}

.bottomcard img {
    height: 100%;
    width: 100%;
    object-fit: scale-down;
}

/* Metrics Section */

.merticsSection {
    height: fit-content;
    width: 100%;
    padding: 12rem 0 8rem 0;
    /* background-color: var(--dark-color); */
}

.merticsContent {
    padding: 2.5rem 2.5rem 0 2.5rem;
    height: fit-content;
    width: 80%;
    margin: 0 auto;
    background-color: #082B42;
    /* background-color: var(--dark-color); */
    border-radius: 20px;
    position: relative;
    display: flex;
    /* box-shadow: 0px 0px 5px 0px #b6b5b551; */
    flex-direction: column;
    /* align-items: center; */
    justify-content: center;
    overflow: hidden;
    gap: 1rem;
}

.metriceGradient {
    position: absolute;
    top: 0;
    left: 100%;
    transform: translateX(-12%);
    height: 100%;
    width: 100%;
    /* backdrop-filter: blur(194px); */
    /* background: #02D1A63B; */
}

.metriceGradientTwo {
    position: absolute;
    top: 0;
    left: 0;
}

.ellipseLine {
    height: 200px;
    width: 200px;
    position: absolute;
    top: -15%;
    left: 0;
    border: 10px solid transparent;
    border-radius: 50%;
    background: linear-gradient(#082B42, #082B42) padding-box,
        linear-gradient(317.99deg, rgba(2, 209, 166, 0.8) 19.09%, rgba(3, 171, 236, 0.8) 63.01%) border-box;
}



.merticsHead h2 {
    width: 60%;
    font-family: var(--font-book);
    color: var(--font-color);
    font-size: 48px;
    line-height: 64px;
    font-weight: 400;
}

.merticsHead h2 span {
    font-family: var(--font-book);
    color: var(--btn-bg-color);
}

.merticsBody {
    height: 100%;
    width: 100%;
    padding: 2rem 0rem;
    display: flex;
    align-items: center;
    gap: 5rem;
    /* justify-content: space-around; */
}

.metrics {
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    justify-content: center;
    gap: 0.5rem;
}

.metrics .metricValue {
    color: var(--font-color);
    font-family: var(--font-book);
    font-size: 42px;
    font-weight: 100;
}

.metrics h2 {
    font-family: var(--font-book);
    color: var(--text-color-fade);
    font-size: 16px;
    font-weight: 400;
}

.metricsImg {
    width: fit-content;
}

.metricsImg img {
    height: 80px;
    width: 80px;
    object-fit: scale-down;
}

.metricsSwiper {
    height: 100%;
    width: 100%;
    /* overflow: hidden; */
    /* position: relative; */
}


.swiperFadeLeftMetrics {
    /* display: none; */
    position: absolute;
    bottom: 50px;
    left: 0px;
    height: 120px;
    width: 15%;
    z-index: 99;
    background: linear-gradient(90deg, #082B42 29.09%, rgba(5, 28, 44, 0) 100%);
}

.swiperFadeRightMetrics {
    position: absolute;
    bottom: 50px;
    right: 0;
    height: 120px;
    width: 15%;
    z-index: 99;
    transform: scaleX(-1);
    background: linear-gradient(90deg, #082B42 29.09%, rgba(5, 28, 44, 0) 100%);
}

/* Our Services */

.ourServices {
    height: fit-content;
    width: 100%;
    padding: 4rem 0;
    background-color: var(--bg-color);
}

.ourServicesContent {
    height: 100%;
    width: 100%;
    overflow: hidden;
    /* width: 80%;
    margin: 0 auto; */
}

.ourServicesHead {
    height: fit-content;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

.ourServicesHead h2 {
    color: var(--font-color);
    font-family: var(--font-medium);
    font-size: 48px;
    font-weight: 500;
}

.ourServicesHead p {
    color: var(--text-color-fade);
    font-family: var(--font-book);
    font-size: 18px;
    font-weight: 400;
}

.ourServicesBody {
    height: 100%;
    width: 100%;
    padding: 4rem 0;
    /* margin-left: 2rem; */
    overflow: hidden;
    position: relative;
}

.swiperFadeLeftService {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: absolute;
    bottom: 0px;
    left: -60px;
    height: 106%;
    width: 15%;
    z-index: 9;
    /* transform: scaleX(-1);     */
    background: linear-gradient(90deg, #051C2C 29.09%, rgba(5, 28, 44, 0) 100%);
}

.swiperFadeRightService {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: absolute;
    bottom: 0px;
    right: -60px;
    height: 106%;
    width: 15%;
    z-index: 2;
    transform: scaleX(-1);
    background: linear-gradient(90deg, #051C2C 29.09%, rgba(5, 28, 44, 0) 100%);
}

.swiperFadeLeftService span {
    /* transform: translateX(-15px); */
}

.swiperFadeRightService span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiperFadeRightService svg {
    /* height: 20px; */
    width: 100%;
    transform: scaleX(-1);
}

.swiperFadeLeftService.disabled,
.swiperFadeRightService.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.swiperFadeLeftService span,
.swiperFadeRightService span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ourServicesSwiper {
    height: 100%;
    /* width: 90%; */
    margin: 0 auto;
    padding: 0 6rem;
}

.ourServicesSwiper {
    overflow: visible !important;
}


swiper-container {
    width: 100%;
    height: 100%;
}

.swiper swiper-container::part(container) {
    overflow: hidden !important;
}


swiper-container .swiper-pagination {
    z-index: 99 !important;
    bottom: -500px !important;
}

swiper-container::part(swiper-slide) {
    transition: transform 10s ease-in-out !important;
}

/* #092D44 */

swiper-container::part(container) {
    padding: 1rem 0rem 4rem 0rem !important;
    /* padding: 0 !important; */
}

/* .heroSwiper + swiper-container::part(container){
    padding: 0 !important;
  } */
swiper-container::part(pagination) {
    bottom: -5px !important;
    transform: translateX(-20px);
}

/* Enlarge the pagination dots to meet the 24px tap-target minimum (Lighthouse
   a11y target-size). Swiper Element sizes bullets from these custom properties,
   not from ::part width; a 14px dot plus a 6px horizontal gap puts adjacent
   bullets ~27px apart, clearing the minimum without looking oversized. */
swiper-container {
    --swiper-pagination-bullet-size: 14px;
    --swiper-pagination-bullet-width: 14px;
    --swiper-pagination-bullet-height: 14px;
    --swiper-pagination-bullet-horizontal-gap: 6px;
}

swiper-container::part(bullet) {
    background-color: var(--font-color);
}

swiper-container::part(bullet-active) {
    background-color: var(--btn-bg-color);
}

.storySwiperTwo {
    flex-direction: column-reverse !important;
    /* Reverses the order of slides */
}

swiper-slide {
    height: 100%;
    width: 100%;
    cursor: pointer;
}

swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-wrapper {
    padding: 0 6rem !important;
}

.swiper-button-next:part(button-next),
.swiper-button-prev:part(button-prev) {
    color: var(--btn-bg-color) !important;
}

.servicesSwiper::part(button-prev),
.servicesSwiper::part(button-next) {
    opacity: 0;
    background-color: var(--btn-bg-color);
    position: absolute;
    color: var(--font-color);
    padding: 10px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    z-index: 999;
}

.servicesSwiper::part(button-prev) {
    left: 0;
}

.servicesSwiper::part(button-next) {
    right: 5%;
}


.ourServicesCard {
    height: 280px !important;
    width: 300px !important;
    background-color: var(--dark-color);
    border-radius: 20px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 20px;
}

.ourServicesCard {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.ourServicesCard::before {
    content: '';
    position: absolute;
    left: var(--x, 0);
    top: var(--y, 0);
    width: var(--size, 0);
    height: var(--size, 0);
    background: radial-gradient(circle closest-side, rgba(255, 255, 255, 0.068), transparent);
    transform: translate(-50%, -50%);
    transition: width 0.2s ease, height 0.2s ease;
    pointer-events: none;
    z-index: 1;
}

.ourServicesCard:hover::before {
    --size: 350px;
}

/* .ourServicesCard h1{
    color: var(--font-color);
    font-size: 24px;
    font-weight: 500;
    font-family: var(--font-book);
}    */


/* .swiper-pagination {
    position: unset !important;
    margin-top: 1rem !important;
} */

.ourServicesCard {
    height: 340px;
    width: 340px;
    background-color: var(--primary-color);
    border-radius: 20px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    /* justify-content: center; */
    gap: 1rem;
}

.ourServicesCardImg {
    height: 60px;
    width: 40px;
    margin-bottom: 14px;
    /* padding: 10px; */
}

.ourServicesCardImg img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.ourServicesCardContent {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    gap: 0.5rem;
}

.ourServicesCardContent h3 {
    font-family: var(--font-medium);
    font-size: 24px;
    font-weight: 500;
    color: var(--font-color);
}

.ourServicesCardContent p {
    color: var(--text-color-fade);
    font-size: 14px;
    font-weight: 100;
    line-height: 21px;
    font-family: var(--font-book);
}


/* Blog Section */

.blogSection {
    height: fit-content;
    width: 100%;
    padding: 4rem 0;
    background-color: var(--bg-color);
    position: relative;
    /* overflow-x: hidden; */
    overflow-y: visible;
}

.glow1 {
    right: -20%;
    top: 0px;
    z-index: 3;
}

.blogSectionContent {
    height: 100%;
    width: 95%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 4;
}

.blogSectionHead {
    height: fit-content;
    width: 100%;
    text-align: center;
}

.blogSectionHead h2 {
    color: var(--font-color);
    font-size: 48px;
    font-weight: 500;
}

.blogSectionBody {
    height: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 4rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.blogSwiperWrapper {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    /* top: 0; */
    left: 0;
    /* z-index: 99; */
}

/* .blogCard{
    height: 300px;
    width: 500px;
    margin: auto;
    background-color: var(--blog-color);
    border-radius: 20px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    overflow: hidden;
    position: relative;
} */

.blogCard {
    flex: 1 1 500px;
    max-width: 500px;
    background-color: var(--blog-color);
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    position: relative;
}

.blogCard .blogCardHead .blogTitle {
    position: relative;
    height: 50px;
    z-index: 11;
    color: var(--font-color);
    font-size: 20px;
    font-weight: 200;
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.blogCard .blogCardHead .blogTitle:hover {
    text-decoration: underline;
}


.blogCard h1 {
    position: relative;
    z-index: 11;
    color: var(--font-color);
    font-size: 18px;
    line-height: 28px;
    font-weight: 200;
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* .blogCard:nth-child(2) h1{
    color: var(--bg-color);
} */

.blogCard:nth-child(1) .blogCardImg img {
    /* filter: grayscale(50%); */
}

/* .blogCardBtn a{
    z-index: 1;
    position: relative;
    color: var(--font-color);
    font-size: 16px;
    font-weight: 400;
    border: 2px solid var(--btn-bg-color);
    padding: 10px 20px;
    border-radius: 100px;
} */

/* 
.blogCard .blogCardBtn a{
    color: var(--font-color);
    background-color: transparent;
    border: 2px solid var(--btn-bg-color);
    padding: 10px 20px;
    border-radius: 100px;
    position: relative;
    z-index: 99;
    top: 50px;
    opacity: 0;
    transition: all 0.3s ease-in-out;
} */

.blogCard .blogCardBtn {
    display: flex;
    margin: 0 24px 24px 24px;
}

.blogCard .blogCardBtn a {
    color: var(--font-color);
    border: 2px solid var(--btn-bg-color);
    padding: 10px 20px;
    border-radius: 100px;
}

.blogCard .blogCardBtn:hover a {
    background-color: var(--btn-bg-color);
    color: white;
}


/* .blogCardImg {
    position: absolute;
    bottom: 0;
    left: 0%;
    height: 100%;
    width: 100%;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    opacity: 0.8;
    display: flex;
    align-items: center;
    justify-content: center;
} */

.blogCardImg {
    /* Fluid: a fixed 500px pushed the card past the slide on phones. The
       aspect ratio keeps the desktop 500x270 shape at every width. */
    width: 100%;
    aspect-ratio: 500 / 270;
    bottom: 0;
    left: 0%;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

.blogCard:hover {
    box-shadow: rgba(255, 255, 255, 0.05) 0px 6px 24px 0px, rgba(255, 255, 255, 0.08) 0px 0px 0px 1px;
}

/* .blogCard:hover .blogCardImg { 
    transform: scale(1.2) translateX(0%) translateY(0);
    filter: blur(60px);
    transition: all 0.3s ease-in-out;
} */

.blogCard:hover h1 {
    /* transform: scale(1.05); */
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* .blogCard:hover .blogCardBtn a{
    top: -10px;
    opacity: 1;
    transition: all 0.3s ease-in-out;
} */

.blogCardHead {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.blogCardHead .blogPubDate {
    color: var(--text-color-fade);
    font-size: 18px;
    line-height: 26px;
}

.blogCardHead .blogDescription {
    color: #fff;
    font-size: 16px;
    line-height: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}


.blogSwiper::part(button-prev),
.blogSwiper::part(button-next) {
    background-color: var(--bg-color);
    position: absolute;
    color: var(--font-color);
    padding: 10px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
}

.blogSwiper {
    width: 90%;
    /* position: relative; */
    /* transform: translateY(-100px) !important; */
}

.blogSwiper::part(button-prev) {
    left: 0;
}

.blogSwiper::part(button-next) {
    /* right: 100px; */
}


/* Our Story Section */

.ourStory {
    height: fit-content;
    width: 100%;
    padding: 4rem 0;
    background-color: var(--bg-color);
    position: relative;
    overflow: hidden;
    margin-bottom: 4rem;
}

.ourStoryBg {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.ourStoryBg img {
    height: 100%;
    width: 100%;
    opacity: 0;
    object-fit: contain;
}

.ourStoryBgSvg {
    /* display: none; */
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 60%;
    /* background-color: #015e4b5d; */
    display: flex;

    /* background-color: #015E4B; */
}

.svgLeft {
    height: 100%;
    width: 100%;
    transform: scale(1.1);
    transform-origin: left;
}

.svgRight {
    height: 100%;
    width: 0%;
    position: relative;
}

.svgLeft svg {
    height: 100%;
    /* width: 100%; */
    /* margin-left: 150px; */
}

#keySvg {
    position: relative;
    top: 50%;
    left: 50%;
}

#movingBoxCircleRight {
    transform: rotate(90deg);
}

.box {
    /* position: absolute; */
    width: 18px;
    height: 18px;
    /* background-color: rgba(255, 255, 255, 0.452); */
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

#movingBoxCircle {
    fill: rgba(255, 0, 0, 0.382);
    /* filter: blur(10px); */
    transform-origin: center;
    /* background-color: #015e4b71; */
    /* transform: translate(-50%, -50%); */
}

#movingBoxCircleLeft,
#movingBoxCircleRight {
    fill: #02d1a8a6;
    transform-origin: center;
}

.ourStoryContent {

    height: 100%;
    width: 90%;
    margin: 0 auto;
    display: flex;
}

.ourStoryContent .ourStoryHead {
    height: fit-content;
    width: 50%;
    display: flex;
    flex-direction: column;
    margin-top: 2rem;
    gap: 1rem;
    /* align-items: center; */
    /* justify-content: center; */
}

.ourStoryHead h2 {
    color: var(--font-color);
    font-size: 48px;
    font-weight: 500;
}

.ourStoryHead a {
    width: fit-content;
    color: var(--font-color);
    font-size: 16px;
    font-weight: 400;
    border: 2px solid var(--btn-bg-color);
    padding: 10px 20px;
    border-radius: 100px;
}

.ourStoryBody {
    margin-left: 6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 4rem;
    width: 100%;
    height: auto;
}

.ourStoryBodyMob {
    display: none;
}

.storyFadeWrap {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    /* background-color: #015E4B;    */
    background: linear-gradient(180deg, #051C2C 0%, rgba(5, 28, 44, 0) 31.97%, rgba(5, 28, 44, 0) 56.4%, #051C2C 85.9%);
    z-index: 2;
}

.ourStoryCardSwiperOne {
    height: 700px;
    width: fit-content;
    display: flex;
    position: relative;
}

.swiperFadeTopStory {
    position: absolute;
    top: -2px;
    right: 0;
    height: 20%;
    width: 100%;
    z-index: 99;
    transform: scaleX(-1);
    background: linear-gradient(180deg, #051C2C 29.09%, rgba(5, 28, 44, 0) 100%);
    /* background-color: #02D1A6; */
}

.swiperFadeBottomStory {
    position: absolute;
    bottom: -2px;
    right: 0;
    height: 10%;
    width: 100%;
    z-index: 99;
    background: linear-gradient(360deg, #051C2C 29.09%, rgba(5, 28, 44, 0) 100%);
    /* background-color: #02D1A6; */
}

.ourStoryCardSwiperTwo {
    height: 700px;
    width: fit-content;
    position: relative;
}

.swiperFadeTopStoryTwo {
    position: absolute;
    top: -2px;
    right: 0;
    height: 20%;
    width: 100%;
    z-index: 99;
    transform: scaleX(-1);
    background: linear-gradient(180deg, #051C2C 29.09%, rgba(5, 28, 44, 0) 100%);
    /* background-color: #02D1A6; */
}

.swiperFadeBottomStoryTwo {
    position: absolute;
    bottom: -2px;
    right: 0;
    height: 20%;
    width: 100%;
    z-index: 99;
    background: linear-gradient(360deg, #051C2C 29.09%, rgba(5, 28, 44, 0) 100%);
    /* background-color: #02D1A6; */
}



.storyCard {
    height: 240px;
    width: 280px;
    padding: 1.5rem;
    border-radius: 16px;
    background-color: var(--primary-color);
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1rem;
    line-height: 16px;
}


.storyCard {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.storyCard::before {
    content: '';
    position: absolute;
    left: var(--x, 0);
    top: var(--y, 0);
    width: var(--size, 0);
    height: var(--size, 0);
    background: radial-gradient(circle closest-side, rgba(255, 255, 255, 0.068), transparent);
    transform: translate(-50%, -50%);
    transition: width 0.2s ease, height 0.2s ease;
    pointer-events: none;
    z-index: 1;
}

.storyCard:hover::before {
    --size: 300px;
}

.storyCardHead {
    height: 100%;
    width: 100%;
}

.ourStoryCardHead h3 {
    color: var(--font-color);
    font-size: 16px;
    font-weight: 500;
}

.ourStoryCardContent p {
    color: var(--text-color-fade);
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
}


.storySwiperOne {
    height: 700px;
    width: 100%;
    margin-top: -100px;
}


/* Contact Section */

.contactSection {
    height: fit-content;
    width: 100%;
    padding: 4rem 0;
    background-color: var(--bg-color);
    perspective: 1000px;
}

.contactSectionContent {
    cursor: pointer;
    height: 100%;
    width: 70%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: transform 0.1s ease-out;
    /* Smooth transition for the 3D effect */
    transform-style: preserve-3d;
    /* Allows 3D transforms */
    backface-visibility: hidden;
}

.contactForm {
    height: 100%;
    width: 100%;
    border-radius: 40px;
    background-image: url(./Assets/images/contact-form-bg.webp);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    /* justify-content: center; */
}

.formHead h1 {
    font-size: 46px;
    color: white;
    font-weight: 400;
}

.form-container {
    width: 80%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
    /* max-width: 600px; */
    margin: auto;
    padding: 1rem;
}

/* Full Width Message Input */
.form-container textarea {
    grid-column: 1 / -1;
    resize: none;
    height: 150px;
}

/* Input Styling */
input,
textarea {
    width: 100%;
    padding: 10px;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.contactBtn {
    height: 100%;
    width: fit-content;
    position: relative;
    margin-top: -1.8rem;
    /* background-size: 120%; */
    /* background-repeat: no-repeat; */
    /* background-image: url(./Assets/images/contact-btn-bg.webp); */
    padding: 1rem;
}

.contactBtn img {
    height: 100%;
    width: 100%;
    transform: scale(1.5);
    object-fit: contain;
    position: absolute;
    top: 0px;
    left: 0;
}

.contactBtn a {
    color: var(--bg-color);
    background-color: var(--btn-bg-color);
    font-size: 16px;
    font-weight: 400;
    padding: 10px 30px;
    border-radius: 100px;
    z-index: 99;
    position: relative;
    top: 8px;
}

.disabled {
    cursor: not-allowed;
    opacity: 0.5;

}



/* =================== Media Query ====================== */

@media (max-width: 1399px) {

    /* .heroSection{
        height: 100%;
        padding: 4rem 0;
    }
    .heroSection .heroContent{
        flex-direction: column;

    }
    .heroContent .heroText{
        width: 100%;
    }

    .heroContent .heroImg{
        display: none;
    } */
    .svgLeft {
        width: 140%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .svgLeft svg {
        margin-left: 0;
    }

    .storyCard {
        height: 220px;
        width: 240px;
    }

    .swiperFadeBottomStory {
        bottom: -100px;
    }

    .ourStoryCardHead h3 {
        font-size: 16px;
    }

    .ourStoryCardContent p {
        font-size: 12px;
        /* line-height: 18px; */
    }

    .ourStoryCardSwiperOne {
        height: 600px;
    }

    .merticsBody {
        flex-wrap: wrap;
    }

    .ourStoryBody {
        transform: scale(0.80) !important;
    }
}


/* Large devices (tablets, 992px - 1199px) */
@media (max-width: 1199px) {
    .ourStoryBody {
        transform: scale(0.75) !important;
    }

    .heroSection {
        height: 100%;
        padding: 4rem 0;
    }

    .heroSection .heroContent {
        flex-direction: column;

    }

    .heroContent .heroText {
        width: 100%;
    }

    .heroContent .heroImg {
        display: none;
    }

    .heroText h1,
.heroText h2 {
        font-size: 48px;
        line-height: 62px;
    }

    .heroText p {
        font-size: 12px;
        line-height: 18px;
    }

    .heroText .heroButton a {
        font-size: 12px;
    }

    .swiperFadeRightService {
        right: -10px;
    }

    .swiperFadeLeftService {
        left: -10px;
    }
}

@media (max-width: 1000px) {

    .ourStoryBody {
        transform: scale(0.65) !important;
    }
}

@media (max-width: 900px) {
    .ourStoryBody {
        transform: scale(0.55) !important;
    }

    .blogSectionHead h2,
    .ourStoryHead h2,
    .ourServicesHead h2 {
        font-size: 34px;
    }

    .ourStoryHead h2 {
        width: 50%;
    }

    .bottomcard {
        /* height: 40px; */
        transform: scale(0.8) !important;
    }

    .heroBottomCards {
        column-gap: 0.5rem;
        row-gap: 0;
    }

}

/* Extra small devices (phones, 0px - 575px) */
@media (max-width: 800px) {
    .ourStoryBody {
        transform: scale(0.55) !important;
    }

    .heroSection {
        height: 100%;
    }

    .ellipseLine {
        height: 150px;
        width: 150px;
    }

    .heroSection .heroContent {
        flex-direction: column;
        margin: 40px auto 0 auto;
    }

    .heroContent .heroText {
        width: 100%;
        gap: 16px;
    }

    .heroText h1,
.heroText h2 {
        font-size: 28px;
        line-height: 32px;
    }

    .heroText p {
        font-size: 12px;
        line-height: 18px;
    }

    .heroText .heroButton a {
        font-size: 12px;
    }

    .heroContent .heroImg {
        display: none;
        /* width: 100%;
        padding: 1rem 0; */
    }

    .heroBottom {
        padding-top: 2rem;
    }

    .bottomcard {
        /* height: 40px; */
        transform: scale(0.8) !important;
    }

    .heroBottomCards {
        column-gap: 0.5rem;
        row-gap: 0;
    }

    .heroSwiperImg img {
        height: 60px;
        /* Adjust size as needed */
        width: 60px;
        object-fit: scale-down;
        opacity: 0.9;
    }

    .glowEffect {
        height: 200px;
        width: 200px;
    }

    .metriceGradientTwo {
        height: 30%;
    }

    .metriceGradientTwo img {
        height: 100%;
        width: 100%;
    }

    .merticsContent {
        padding: 1.5rem;
    }

    .merticsHead h2 {
        width: 80%;
        font-size: 24px;
        line-height: 32px;
    }

    .merticsBody {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
        padding: 0;
    }

    .metrics .metricValue {
        font-size: 32px;
    }

    .metrics h2 {
        font-size: 14px;
    }

    .metricsImg img {
        height: 60px;
    }

    .swiperFadeRightMetrics,
    .swiperFadeLeftMetrics {
        bottom: 45px;
    }

    .metriceGradient {
        height: 18%;
        left: 95%;
    }

    .metriceGradient img {
        height: 100%;
    }

    .ourServicesSwiper {
        padding: 0;
    }

    .ourServices {
        padding: 0;
    }

    .ourServicesHead h2 {
        font-size: 32px;
    }

    .ourServicesHead p {
        font-size: 16px;
    }

    .ourServicesBody {
        padding: 0;
        margin: 0;
    }

    .servicesSwiper::part(button-next),
    .servicesSwiper::part(button-prev) {
        display: none;
    }

    swiper-container::part(bullet-active) {
        padding: 0;
    }

    swiper-container::part(bullet) {
        background-color: var(--font-color);
        padding: 0;
    }

    swiper-container::part(container) {
        padding: 1.5rem 0rem !important;
    }

    .swiperFadeLeftService,
    .swiperFadeRightService {
        display: none !important;
        width: 10%;
    }

    .swiper-slide {
        margin: 25px;
        height: 300px !important;
        width: fit-content !important;
    }

    .ourStory {
        padding: 0;
    }

    .ourStoryBody {
        display: none;
    }

    .blogSectionBody {
        width: 90%;
    }

    /* .blogCard{
        width: 340px;
        width: fit-content;
    } */

    .blogSectionHead h2 {
        font-size: 32px;
    }

    .ourStoryBg img {
        display: none;
    }

    .ourStoryContent {
        flex-direction: column;
    }

    .ourStoryContent .ourStoryHead {
        width: 100%;
        align-items: center;
        margin: 0;
        text-align: center;
        gap: 1rem;
    }

    .ourStoryContent .ourStoryHead h2 {
        font-size: 32px;
        line-height: 48px;
    }


    .ourStoryContent .ourStoryHead a {
        font-size: 14px;
        font-weight: 100;
    }

    .ourStoryBgSvg {
        display: none;
    }

    .ourStoryBodyMob {
        margin-top: 100px;
        padding: 2rem 0;
        display: flex;
        flex-direction: column;
        color: var(--font-color);
        gap: 5rem;
    }

    .storyCard {
        height: 240px;
        width: 260px;
        gap: 10px;
    }

    /* Phone testimonial rows: the card fills its slide, and grows rather
       than clipping when narrow widths wrap the quote onto more lines. */
    .ourStoryBodyMob .storyCard {
        width: 100%;
        height: auto;
        min-height: 240px;
    }

    .ourStoryCardHead h3 {
        font-size: 16px;
        line-height: 27px;
    }

    .ourStoryCardHead p {
        font-size: 14px;
        line-height: 22px;
    }

    .storySwiperOne {
        height: fit-content;
    }

    .contactSection {
        padding: 0;
    }

    .contactSectionContent {
        width: 90%;
    }

    .contactForm {
        padding: 2rem;
    }

    .formHead h1 {
        font-size: 32px;
        line-height: 48px;
        text-align: center;
    }

    .form-container {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .contactBtn {
        margin-top: -28px;
    }

    .contactBtn a {
        padding: 10px 38px;
    }


    .blogSwiper::part(button-prev),
    .blogSwiper::part(button-next) {
        display: none;
        background-color: var(--bg-color);
        position: absolute;
        color: var(--font-color);
        padding: 10px;
        width: 20px;
        height: 20px;
        border-radius: 50%;
    }

    .blogSwiperWrapper {
        display: none;
    }
}

@media (max-width: 580px) {
    .blogCard {
        width: 100%;
    }

    .bottomcard {
        /* height: 40px; */
        transform: scale(0.8) !important;
    }

    .heroBottomCards {
        column-gap: 0.5rem;
        row-gap: 0;
    }

    .heroBottomCards {
        column-gap: 1.5rem;
    }
}

@media (max-width: 500px) {
    .blogCard {
        border-radius: 8px;
    }

    .blogCardImg {
        border-radius: 8px 8px 0 0;
    }
}

@media (max-width: 450px) {
    .blogSectionBody {
        width: 100%;
    }
}




/* Medium devices (tablets, 768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    /* Styles for medium devices */
}


/* Extra large devices (large desktops, 1200px - 1399px) */

/* Ultra-wide devices (very large screens, 1400px and up) */
@media (min-width: 1400px) {
    /* Styles for ultra-wide devices */
}

.whatsapp-float {
    position: fixed;
    bottom: 4rem;
    right: 4rem;
    z-index: 9999;
    border-radius: 50%;
    background-color: var(--bg-color);
}

.whatsapp-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease;
    object-fit: cover;
}

.whatsapp-icon:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .whatsapp-icon {
        width: 50px;
        height: 50px;
        padding: 6px;
    }

    .whatsapp-float {
        bottom: 2rem;
        right: 2rem;
    }
}

@media (max-width: 480px) {
    .whatsapp-icon {
        width: 45px;
        height: 45px;
        padding: 4px;
    }

    .whatsapp-float {
        bottom: 1rem;
        right: 1rem;
    }
}
/* Visually-hidden text: present in the DOM (so link text reads descriptively
   for crawlers and screen readers) but not shown on screen. */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Testimonials marquee (desktop). Replaces the broken <swiper-container> loop
   that mis-positioned slides and would not scroll. script.js builds
   .storyMarquee > .storyMarqueeInner from the cards (duplicated once for a
   seamless loop) and sets --story-shift/--story-dur. */
.storyMarquee {
    height: 700px;
    width: fit-content;
    overflow: hidden;
    position: relative;
}
.storyMarqueeInner {
    display: flex;
    flex-direction: column;
    align-items: center;
    will-change: transform;
}
/* margin-bottom (not flex gap) on every card -- including the last of each
   copy -- makes translateY(-50%) land exactly one copy up, so the loop is
   seamless with no pixel measurement. */
.storyMarqueeInner > .storyCard {
    margin-bottom: 20px;
    flex-shrink: 0;
}
.storyMarqueeInner.storyUp {
    animation: storyMarqueeUp var(--story-dur, 60s) linear infinite;
}
.storyMarqueeInner.storyDown {
    animation: storyMarqueeDown var(--story-dur, 60s) linear infinite;
}
.ourStoryCardSwiperOne:hover .storyMarqueeInner,
.ourStoryCardSwiperTwo:hover .storyMarqueeInner {
    animation-play-state: paused;
}
@keyframes storyMarqueeUp {
    from { transform: translateY(0); }
    to   { transform: translateY(-50%); }
}
@keyframes storyMarqueeDown {
    from { transform: translateY(-50%); }
    to   { transform: translateY(0); }
}

/* Stagger the two testimonial columns like the original design: the left
   column (.ourStoryCardSwiperOne) starts a little higher, the right
   (.ourStoryCardSwiperTwo) a little lower. transform (not margin) so it does
   not disturb the flex centering, and it composes with the marquee scroll. */
.ourStoryCardSwiperOne {
    transform: translateY(-50px);
}
.ourStoryCardSwiperTwo {
    transform: translateY(50px);
}
