/* ===== Custom Fonts ===== */

/* Product Sans Font Family */
@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-Thin.ttf") format("truetype");
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Product Sans Italic Variants */
@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-ThinItalic.ttf")
        format("truetype");
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-LightItalic.ttf")
        format("truetype");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-Italic.ttf") format("truetype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-MediumItalic.ttf")
        format("truetype");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-BoldItalic.ttf")
        format("truetype");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("/fonts/product-sans/ProductSans-BlackItalic.ttf")
        format("truetype");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* Manrope Font Family */
@font-face {
    font-family: "Manrope";
    src: url("/fonts/manrope/static/Manrope-ExtraLight.ttf") format("truetype");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/fonts/manrope/static/Manrope-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/fonts/manrope/static/Manrope-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/fonts/manrope/static/Manrope-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/fonts/manrope/static/Manrope-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/fonts/manrope/static/Manrope-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("/fonts/manrope/static/Manrope-ExtraBold.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* ===== Animations ===== */

@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@keyframes scroll-right {
    0% {
        transform: translateX(-50%);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes moveLogos {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

/* NEW: Up-down float animation */
@keyframes floatUpDown {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20px);
    }
    100% {
        transform: translateY(0);
    }
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ===== Product Sans Font Classes ===== */
.font-product-sans-thin {
    font-family: "Product Sans", sans-serif;
    font-weight: 100;
    font-style: normal;
}

.font-product-sans-thin-italic {
    font-family: "Product Sans", sans-serif;
    font-weight: 100;
    font-style: italic;
}

.font-product-sans-light {
    font-family: "Product Sans", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.font-product-sans-light-italic {
    font-family: "Product Sans", sans-serif;
    font-weight: 300;
    font-style: italic;
}

.font-product-sans-regular {
    font-family: "Product Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.font-product-sans-italic {
    font-family: "Product Sans", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.font-product-sans-medium {
    font-family: "Product Sans", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.font-product-sans-medium-italic {
    font-family: "Product Sans", sans-serif;
    font-weight: 500;
    font-style: italic;
}

.font-product-sans-bold {
    font-family: "Product Sans", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.font-product-sans-bold-italic {
    font-family: "Product Sans", sans-serif;
    font-weight: 700;
    font-style: italic;
}

.font-product-sans-black {
    font-family: "Product Sans", sans-serif;
    font-weight: 900;
    font-style: normal;
}

.font-product-sans-black-italic {
    font-family: "Product Sans", sans-serif;
    font-weight: 900;
    font-style: italic;
}

/* ===== Manrope Font Classes ===== */
.font-manrope-extralight {
    font-family: "Manrope", sans-serif;
    font-weight: 200;
    font-style: normal;
}

.font-manrope-light {
    font-family: "Manrope", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.font-manrope-regular {
    font-family: "Manrope", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.font-manrope-medium {
    font-family: "Manrope", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.font-manrope-semibold {
    font-family: "Manrope", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.font-manrope-bold {
    font-family: "Manrope", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.font-manrope-extrabold {
    font-family: "Manrope", sans-serif;
    font-weight: 800;
    font-style: normal;
}

body {
    width: 100vw;
    height: auto;
    min-height: 100vh;
    overflow-x: hidden;
    padding: 0;
    margin: 0;
    background-color: #f7f8fa;
    font-family: "Product Sans", "Manrope", ui-sans-serif, system-ui, sans-serif;
}

/* Optional blurry edges (commented out)
body::before,
body::after {
    content: "";
    position: fixed;
    top: 0;
    width: 120px;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

body::before {
    left: 0;
    background: linear-gradient(to right, rgba(248, 249, 250, 0.95), transparent);
}

body::after {
    right: 0;
    background: linear-gradient(to left, rgba(248, 249, 250, 0.95), transparent);
}
*/

header {
    z-index: 9999 !important;
}

.content-container {
    width: 100vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    background: transparent;
    z-index: 1;
    position: relative;
}

/* ===== Hero Blue Shadow Backgrounds ===== */
.hero-bg-left {
    position: absolute;
    top: 0;
    left: 0;
    width: 500px;
    height: 100vh;
    /* min-height: 800px; */
    background: url("/images/shadow-left.png") no-repeat left top;
    background-size: contain;
    background-position: left top;
    opacity: 1;
    z-index: -1;
    pointer-events: none;
    mix-blend-mode: normal;
}

@media (min-width: 768px) {
    .hero-bg-left {
        width: 550px;
        opacity: 0.6;
    }
}

@media (min-width: 1024px) {
    .hero-bg-left {
        width: 600px;
        opacity: 0.65;
    }
}

.hero-bg-right {
    position: absolute;
    top: 0;
    right: 0;
    width: 500px;
    height: 100vh;
    /* min-height: 800px; */
    background: url("/images/shadow-right.png") no-repeat right top;
    background-size: contain;
    background-position: right top;
    opacity: 1;
    z-index: -1;
    pointer-events: none;
    mix-blend-mode: normal;
}

@media (min-width: 768px) {
    .hero-bg-right {
        width: 550px;
        opacity: 0.6;
    }
}

@media (min-width: 1024px) {
    .hero-bg-right {
        width: 600px;
        opacity: 0.65;
    }
}

/* ===== Testimonial Elements ===== */

/* Common base styles */
.testimoniol1,
.testimoniol2,
.testimoniol3 {
    position: absolute;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 1;
    z-index: 1;
    pointer-events: auto;
    transition: transform 0.8s ease, filter 0.8s ease;
}

/* Testimonial 1: No animation (static or horizontal if added) */
.testimoniol1 {
    position: absolute; /* ensure positioned element */
    top: 0;
    right: -5%;
    width: 200px;
    background-image: url("/images/Testimonial1.png");
    transition: right 0.4s ease-in-out; /* smooth animation */
}

.testimoniol1:hover {
    right: 0%;
}

/* Testimonial 2: Up-down animation */
.testimoniol2 {
    position: absolute;
    top: 17%;
    right: -5%;
    width: 400px;
    background-image: url("/images/Testimonial2.png");
    animation: floatUpDown 4s ease-in-out infinite;
    animation-delay: 0.5s;
    transition: right 0.4s ease-in-out; /* smooth animation */
    z-index: 9999;
}

.testimoniol2:hover {
    right: 0%;
}

/* Testimonial 3: Up-down animation */
.testimoniol3 {
    position: absolute;
    top: 25%;
    left: -5%;
    width: 350px;
    background-image: url("/images/Testimonial3.png");
    animation: floatUpDown 4s ease-in-out infinite;
    animation-delay: 1s;
    transition: left 0.4s ease-in-out; /* smooth animation */
}

.testimoniol3:hover {
    left: 0%;
}

/* ===== Hover Effects ===== */
/* .testimoniol1:hover {
    transform: scale(1) rotate(-2deg);
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.25));
    z-index: 10;
    transform-origin: top right;
    animation-play-state: paused;
} */

.testimoniol2:hover {
    transform: scale(1) rotate(2deg);
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.25));
    z-index: 10;
    transform-origin: center right;
    animation-play-state: paused;
}

.testimoniol3:hover {
    transform: scale(1) rotate(-3deg);
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.25));
    z-index: 10;
    transform-origin: center left;
    animation-play-state: paused;
}

/* ===== Logo Animation Section ===== */
.animate-scroll-left {
    animation: scroll-left 25s linear infinite;
}

.animate-scroll-right {
    animation: scroll-right 25s linear infinite;
}

/* Pause on hover */
.animate-scroll-left:hover,
.animate-scroll-right:hover {
    animation-play-state: paused;
}

.logo-track {
    display: flex;
    gap: 6rem;
    width: max-content;
    animation: moveLogos 25s linear infinite;
    position: relative;
}

.logo-track::after {
    content: "";
    position: absolute;
    left: 100%;
    top: 0;
    width: 100%;
    height: 100%;
    background: inherit;
}

/* ===== Mega Menu Hover Fix ===== */
/* Fast open, delayed close to prevent flickering when moving cursor */
.relative.group:hover .mega-menu {
    transition-delay: 0ms;
    transition-duration: 300ms;
}

.relative.group:not(:hover) .mega-menu {
    transition-delay: 150ms;
    transition-duration: 200ms;
}
