/* noto-serif-kr-latin-400-normal */
/* noto-serif-kr-latin-wght-normal */

/* Root Variables */
:root {
    --primary-blue: #1E88E5;
    --dark-blue: #0D3B66;
    --light-gray: #f8f9fa;
    --brand-blue: #1a34b8;
    --background-blue: #162BAF;
    --brand-dark-blue: #0e2277;
    --light-text: #ffffff;
    --dark-text: #333333;
    /* Complete */
    --font-family-montserrat: "Montserrat", sans-serif;
    --font-family-mona: "Mona Sans", sans-serif;
    --font-family-noto: "Noto Serif KR", serif;
    --font-color: #292929;
    --fint-color-secondary: #444444;
    --letter-spacing: -3px;
    --letter-gradient: linear-gradient(90deg, #1053B5, #168FE1 20%, #0B3359 50%, #2F81D0 91%);
}

/* Base Styles */
body {
    font-family: var(--font-family-mona);
    color: var(--dark-text);
    font-size: 18px;
    line-height: 26px;
    overscroll-behavior: none;
    overflow-x: hidden;

}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-family-noto);
    color: var(--font-color);
    letter-spacing: normal;
}

.bigTitle {
    font-size: 115px;
    line-height: 140px;
    letter-spacing: var(--letter-spacing);
    font-weight: 400;
}

h1,
h2,
.h1,
.h2 {
    font-size: 70px;
    line-height: 80px;
    letter-spacing: var(--letter-spacing);
}

h3,
.h3 {
    font-size: 40px;
    line-height: 50px;
}

h4,
.h4 {
    font-size: 36px;
    line-height: 40px;
}

h5,
.h5 {
    font-size: 26px;
    line-height: 34px;
}

h6,
.h6 {
    font-size: 21px;
    line-height: 32px;
}

p {
    font-size: 16px;
    line-height: 22px;
    font-family: var(--font-family-mona);
    font-weight: 400;
}

.monaFontFamily {
    font-family: var(--font-family-mona);
    letter-spacing: normal;
}

.notoFontFamily {
    font-family: var(--font-family-noto);
}

.normalLetterSpacing {
    letter-spacing: normal;
}

.fontColorWhite {
    color: #ffffff;
}

.blueBackground {
    background-color: var(--background-blue);
}

.fontColorWhiteLightText {
    color: #ffffff;
}

.highLightLetters {
    font-size: 2rem;
    margin-right: 25px;
    font-family: var(--font-family-mona);
    font-weight: bold;
    color: #0B3359;
}

.gradientLetters {
    background: var(--letter-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: var(--font-family-mona);

}

.highLightLetters .gradientLetters {
    display: inline-block;
    font-weight: bold;
}

.font-color-F5F5F5 {
    color: #F5F5F5;
    font-weight: 200;
}

.section-scroll {
    scroll-snap-align: start;
    display: flex;
    overflow-y: auto;
    align-items: center;
    /* optional: vertically center content */
    justify-content: center;
    /* optional */
    padding: 70px 0px;
}

.diamond-list {
    list-style: none;
    padding: 0;
}

.diamond-list li {
    position: relative;
    font-size: 16px;
    line-height: 24px;
    border-bottom: 1px solid #CCCCCCDD;
    padding: 20px 0px 20px 30px;
}

.diamond-list.twoColumn,
.diamond-list.threeColumn {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.diamond-list.twoColumn li {
    flex: 1 1 calc(50% - 10px);
}

.diamond-list.threeColumn li {
    flex: 1 1 calc(30% - 10px);
}

.diamond-list.twoColumn li:last-child,
.diamond-list.threeColumn li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.30);
}

.diamond-list li:last-child {
    border-bottom: none;
}

.diamond-list li:before {
    content: "◆";
    position: absolute;
    left: 0;
    top: 20px;
    color: #A6DBFF;
    font-size: 14px;
}

.diamond-list li .point-title {
    font-family: var(--font-family-noto);
    font-size: 21px;
    line-height: 32px;
}

h1.gradientH1Text {
    font-family: var(--font-family-mona);
    font-weight: 800;
    font-size: 115px;
    line-height: 140px;
}

#fp-nav,
.fp-watermark {
    display: none;
}

.fp-is-overflow .fp-overflow.fp-auto-height,
.fp-is-overflow .fp-overflow.fp-auto-height-responsive,
.fp-is-overflow>.fp-overflow {
    overflow-y: hidden;
}

.fp-right {
    right: 30px;
    /* move left or right */
}

.fp-tooltip {
    font-size: 14px;
    color: #000;
}


.w-95 {
    width: 95% !important;
}

.w-90 {
    width: 90% !important;
}

.w-85 {
    width: 85% !important;
}

.w-80 {
    width: 80% !important;
}

.w-75 {
    width: 75% !important;
}

.w-70 {
    width: 70% !important;
}

.w-65 {
    width: 65% !important;
}

.w-60 {
    width: 60% !important;
}

.w-50 {
    width: 50% !important;
}

.w-40 {
    width: 40% !important;
}

.fontColorLightText {
    color: #93A2FF;
}

.dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
}

.dropdown-item {
    font-size: 15px;
}

.sticky-box {
    position: -webkit-sticky;
    /* For Safari */
    position: sticky;
    top: 0px;
}

.hero_text_box {
    position: absolute;
    bottom: 16%;
    right: 3%;
    width: 42%;
}

.subtitle {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 4rem auto;
    font-size: 20px;
    line-height: 32px;
}

/* Navigation */
.navbar {
    padding: 1rem 0;
    background-color: white;
}

.navbar-brand img {
    height: 50px;
}

.navbar-nav .nav-link {
    color: #333;
    font-weight: 500;
    padding: 0.5rem 1rem;
    font-size: 0.8em;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: #162BAF;
}

.height-100vh {
    height: 100vh;
}

.height-110vh {
    height: 110vh;
}

.btn-contact {
    background-color: white;
    color: #333;
    border: 1px solid #333;
    border-radius: 4px;
    padding: 0.5rem 1.5rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-contact:hover {
    background-color: #333;
    color: white;
}

/* Hero Section */
.hero-section {
    padding: 26% 0 7%;
    position: relative;
    overflow: hidden;
    background-size: 100% 100%;
    background-position: bottom center;
    display: flex;
    height: 74vh;
}

.hero-section-two {
    padding: 70px 0 100px;
    position: relative;
}

.hero-section-two p {
    color: var(--fint-color-secondary);
}

.section-text {
    font-family: var(--font-family-noto);
    font-size: 21px;
    line-height: 34px;
    margin-bottom: 40px;
}

.info-box {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 1rem;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 10;
    margin-top: 2rem;
}

.hero-graphic {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.hero-graphic .blue-shape-left {
    position: absolute;
    left: -10%;
    top: 30%;
    width: 40%;
    height: 100%;
    background-color: var(--primary-blue);
    transform: skewX(-20deg);
}

.hero-graphic .blue-shape-right {
    position: absolute;
    right: -10%;
    top: 30%;
    width: 40%;
    height: 100%;
    background-color: var(--dark-blue);
    transform: skewX(-20deg);
}

/* Section Styles */
.process-section,
.journey-section,
.news-section {
    padding: 80px 0;
    background-color: #fff;
    overflow: hidden;
}

.brands-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.brand-logo {
    height: 40px;
    max-width: 150px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.8;
    transition: all 0.3s ease;
}

.brand-logo:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* AI Section */

.section-heading p {
    margin-top: 20px;
    font-family: var(--font-family-noto);
    color: var(--font-color);
}

.ai-section {
    display: flex;
    position: relative;
    min-height: 200vh;
    flex-direction: column;
}

.ai-section .section-heading {
    position: sticky;
    top: 0;
    width: 100%;
    align-items: center;
    justify-content: center;
    background: #fff;
    z-index: 2;
    text-align: center;
    padding: 5% 0% 40px;
    overflow: hidden;
}

.ai-section .section-heading::before {
    content: '';
    position: absolute;
    top: 0;
    left: -21%;
    right: -26%;
    bottom: 0;
    background: #ffffff;
    z-index: -1;
}

.left-image {
    position: sticky;
    top: 50%;
    height: 47vh;
    width: 35%;
    align-items: flex-start;
    justify-content: center;
    background: #fff;
    z-index: 1;

}

.left-image img {
    width: 90%;
    margin-top: 10%;
}

.right-scroll {
    width: 60%;
    padding: 100px 0px;
    position: relative;
    margin-left: auto;
}

.right-scroll .step {
    opacity: 0.1;
    transition: opacity 0.5s ease, transform 0.5s ease;
    transform: scale(0.98);
}

.right-scroll .step.active {
    opacity: 1.5;
    transform: scale(1);
}

.step {
    margin-bottom: 40px;
    border-bottom: 1px solid #eee;
    padding-bottom: 40px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.step.visible {
    opacity: 1;
    transform: translateY(0);
}

.step span {
    display: block;
    font-size: 24px;
    color: #292929;
    margin-bottom: 5px;
}

.step h4 {
    font-family: var(--font-family-mona);
    color: #1d3c6e;
    font-weight: 700;
    margin-bottom: 10px;
    letter-spacing: normal;
}

.step p {
    font-size: 14px;
    color: #444;
}

.step .know-more {
    font-size: 14px;
}

/* Products Section */
.main-container {
    padding: 5% 8%;
    background-color: #1a3ad1;
    color: #fff;
}

#aiProducts {
    padding: 12% 0;
}

#aiProducts .bottomBorder {
    border-bottom: 1px solid #3956e2;
}

.product-row {
    margin-bottom: 2rem;
    cursor: pointer;
}

.productTitle {
    cursor: pointer;
    padding-bottom: 25px;
    margin-left: 40px;
    position: relative;
}

.product-number {
    font-size: 24px;
    line-height: 36px;
    font-weight: 400;
    margin-right: 1rem;
    font-family: var(--font-family-noto);
    color: #fff;
    position: absolute;
    left: -40px;
}

.product-name {
    font-size: 36px;
    font-weight: bold;
    display: inline-block;
    color: #fff;
    line-height: 34px;
}

.product-info {
    padding: 0px 0px 30px 40px;
    display: none;
}

.product-info.active {
    display: block;
    animation: fadeIn 0.5s ease-in-out;
}

.product-info p {
    color: #93A2FF;
}

.product-image {
    width: 250px;
    display: block;
    margin: 0 auto;
}

.product-name .coloured {
    color: #1690E2;
}

.header-section p {
    font-size: 20px;
    line-height: 32px;
    font-family: var(--font-family-noto);
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Marquee */
#marqueeContainer {
    position: relative;
    overflow: hidden;
    height: 325px;
    margin-top: 30px;
}

#marqueeContent {
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: relative;
}

#marqueeContent li {
    background-color: #2d40b7;
    padding: 30px;
    margin-bottom: 10px;
    position: relative;
    width: 100%;
    opacity: 0.3;
}

#marqueeContent li.active {
    opacity: 1;
}

#marqueeContent .mqTitle {
    font-size: 21px;
    line-height: 32px;
    font-weight: 400;
    color: #fff;
    font-family: var(--font-family-noto);
    letter-spacing: normal;
}

#marqueeContent p {
    color: #fff;
    font-size: 16px;
}

/* Service Cards */
.service-card {
    height: 485px;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.1);
    position: relative;
    padding: 30px 40px;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    background-color: #1a41b8;
}

.service-heading {
    font-weight: 700;
    margin-bottom: 1rem;
    font-family: var(--font-family-mona);
    letter-spacing: normal;
    color: #0B3359;
}

.service-card:hover .service-heading {
    color: #fff;
}

.service-text {
    font-size: 18px;
    line-height: 26px;
    position: absolute;
    display: none;
    padding: 10% 0;
}

.service-card:hover .service-text {
    display: block;
    bottom: 20px;
    left: 40px;
    right: 40px;
    color: #93A2FF;
}

.service-card .know-more {
    bottom: 25px;
}

.services-section .service-image {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.services-section .service-card .know-more {
    position: absolute;
}

/* Who We are Page */
.feature-card {
    background-color: #f9f9f9;
    transition: all 0.3s ease-in-out;
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.delivering-value {
    background-color: #0827a0;
}

.why-flatworld img {
    max-height: 120px;
    object-fit: contain;
}

w-95 {
    width: 95% !important;
}

w-90 {
    width: 90% !important;
}

.delivering-value h2 {
    color: #FFFFFF;
}

/* End Who We Are */

.service-card:hover .service-image {
    display: none;
}

.know-more {
    color: #162BAF;
    font-size: 16px;
    line-height: 18px;
    text-decoration: none;
    border-bottom: 2px solid;
    padding-bottom: 3px;
    transition: opacity 0.3s ease;
    display: inline-block;
    margin: 0px 0px 10px 0px;
}

.service-card:hover .know-more {
    color: #fff;
    border-color: #fff;
}

.know-more:hover {
    opacity: 0.8;
}

/* Journey Section */
.journey-content {
    padding-right: 30px;
}

.know-more-btn {
    color: #3155a6;
    background-color: white;
    border: 1px solid #3155a6;
    border-radius: 4px;
    padding: 8px 20px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
}

.know-more-btn:hover {
    background-color: #3155a6;
    color: white;
}

.image-wrapper {
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
}

.image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* News Section */
.news-card {
    border-radius: 8px;
    overflow: hidden;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: #f8f9fa;
    border: none;
}

.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.news-img-container {
    height: 200px;
    overflow: hidden;
    background: #bababb;
}

.news-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-tag {
    color: #4361ee;
    font-weight: 500;
    font-size: 0.9rem;
    margin-bottom: 5px;
}

.news-date {
    color: #666;
    font-size: 0.9rem;
}

.news-title {
    font-weight: 400;
    color: #333;
    margin-top: 10px;
    margin-bottom: 15px;
    min-height: 180px;
    letter-spacing: normal;
}

.news-content {
    padding: 20px 35px;
}

/* Contact Form Section */

#footerSection {
    background-color: var(--brand-blue);
    color: var(--light-text);
    padding: 3rem 0;
}

#footerSection .h3 {
    font-weight: 400;
    margin-bottom: 2rem;
    letter-spacing: normal;
}

#footerSection .form-control {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    border-radius: 4px;
    padding: 12px 15px;
    margin-bottom: 1rem;
}

#footerSection .form-control::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

#footerSection .form-control:focus {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.1);
    color: white;
}

#footerSection textarea.form-control {
    min-height: 120px;
}

#footerSection .btn-consultation {
    background-color: transparent;
    border: 1px solid white;
    color: white;
    padding: 8px 20px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

#footerSection .btn-consultation:hover {
    background-color: white;
    color: var(--brand-blue);
}

/* Footer Styles */
#footerSection .footer-section {
    padding: 2rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

#footerSection .footer-links a {
    color: white;
    margin-right: 15px;
    text-decoration: none;
    font-size: 1.2rem;
}

#footerSection .footer-links a:hover {
    color: rgba(255, 255, 255, 0.8);
}

#footerSection .logo-container img {
    max-height: 50px;
}

#footerSection .footer-text {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.7);
}

#footerSection .footer-menu .h5 {
    font-family: var(--font-family-noto);
    font-size: 17px;
    line-height: 22px;
    font-weight: 500;
    letter-spacing: normal;
    color: #ffffff;
    margin-bottom: 15px;
}

#footerSection .footer-menu ul {
    list-style: none;
    padding-left: 0;
}

#footerSection .footer-menu ul li {
    font-size: 16px;
    line-height: 27px;
}

#footerSection .footer-menu ul li a {
    color: #93A2FF;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

#footerSection .footer-menu ul li a:hover {
    opacity: 0.8;
    color: #ffffff;
}

/* Action links */
.action-link {
    color: white;
    text-decoration: underline;
    display: inline-block;
    margin-top: 1rem;
    font-weight: 500;
    font-size: 16px;
}

.action-link:hover {
    text-decoration: none;
    color: #86b7fe;
}

/* Button styles */
.demo-btn {
    background-color: transparent;
    border: 1px solid white;
    color: white;
    padding: 0.5rem 1.5rem;
    border-radius: 4px;
    transition: all 0.3s;
}

.demo-btn:hover {
    background-color: white;
    color: #1a3ad1;
}

#teamCarousel {
    position: absolute;
    top: 5%;
    height: 100%;
    width: 100%;
}

#teamCarousel img {
    height: 80%;
}

.split-image {
    position: absolute;
    transition: transform 1s ease-out;
}

.image-1,
.image-2,
.image-3 {
    transform: translateX(210%);
    opacity: 0;
}

.split-image.active.image-1 {
    transform: translateX(0px);
    opacity: 1;
    transition-delay: 0.1s;
}

.split-image.active.image-2 {
    transform: translateX(105%);
    opacity: 1;
    transition-delay: 0.7s;
}

.split-image.active.image-3 {
    transform: translateX(210%);
    opacity: 1;
    transition-delay: 1s;
}

.pulse {
    animation: pulse 2s infinite;
}

.float {
    animation: float 3s ease-in-out infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes float {
    0% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-10px) rotate(5deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

@keyframes typing {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

#typeWriterContainer {
    display: inline-block;
    text-align: center;
}

.typewriter .h1 {
    overflow: hidden;
    border-right: .15em solid orange;
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: .15em;
    display: inline-block;
    width: 100%;
    opacity: 1;
    animation: blink-caret .75s step-end infinite;
    font-size: 0.8em;
}

.typewriter.active .h1 {
    animation: typing 3.5s steps(40, end), blink-caret .75s step-end infinite;
}

@keyframes blink-caret {

    from,
    to {
        border-color: transparent;
    }

    50% {
        border-color: orange;
    }
}

/* Responsive Styles */

.hero-section-industries {
    padding: 80px 0;
    background-color: #fff;
    height: auto !important;
}

.hero-section-industries h2 {
    margin-bottom: 20px;
}

.hero-section-industries p {
    font-size: 18px;
    color: #555;
    margin-bottom: 40px;
}

.hero-image-industries {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    position: relative;
}

.hero-image-industries img {
    width: 100%;
    height: auto;
}

.content-container {
    max-width: 1140px;
    margin: 0 auto;
}

/* Transform Section */
/* body {
font-family: 'Noto Serif', serif;
background-color: #fff;
color: #1a1a1a;
} */

.transform-section {
    padding: 80px 15px;
}

.transform-image {
    text-align: center;
}

.transform-image img {
    max-width: 100%;
    height: auto;
}

.transform-content h2 {
    margin-bottom: 20px;
}

.transform-content p {
    color: #444444;
}

@media (min-width: 768px) {


    .transform-image {
        text-align: center;
    }
}

.industries-section {
    padding: 80px 15px;
    text-align: center;
}

.industries-section h2 {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 15px;
}

.industries-section p.lead {
    font-size: 1.1rem;
    color: #555;
    margin-bottom: 50px;
}

.carousel-inner {
    display: flex;
    gap: 20px;
    justify-content: center;
}

.carousel-item {
    flex: 0 0 300px;
    transition: transform 0.5s ease;
}

.card {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.carousel-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1000px;
    margin: 0 auto 30px;
}

.carousel-arrow {
    font-size: 1.8rem;
    color: #1d3dd6;
    cursor: pointer;
    user-select: none;
}

@media (max-width: 767px) {
    .carousel-inner {
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .carousel-item {
        scroll-snap-align: start;
    }

    .carousel-controls {
        display: none;
    }

     h1.gradientH1Text {
       font-size: 50px !important;
       line-height: normal;
    }
}

.industries-carousel {
    padding: 60px 20px;
    text-align: center;
    font-family: 'Noto Serif', serif;
    background: #fff;
}

.carousel-subtitle {
    font-size: 1.1em;
    color: #555;
    margin-bottom: 40px;
    max-width: 700px;
    margin-inline: auto;
}

.carousel-container {
    position: relative;
    max-width: 1100px;
    margin: auto;
    overflow: hidden;
}

.carousel-viewport {
    overflow: hidden;
}

.carousel-track {
    display: flex;
    transition: transform 0.4s ease-in-out;
}

.carousel-card {
    flex: 0 0 33.3333%;
    box-sizing: border-box;
    background: #f8f8f8;
    margin: 10px;
    border-radius: 10px;
    text-align: left;
}

.carousel-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 15px;
}

.carousel-card h3 {
    margin: 0 0 10px;
}

.carousel-card p {
    font-size: 0.95rem;
    color: #333;
    font-family: var(--font-family-mona);
}

.carousel-btn {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    z-index: 1;
    color: #1a34cc;
}

.carousel-btn.prev {
    left: -10px;
}

.carousel-btn.next {
    right: -10px;
}

@media (max-width: 768px) {
    .carousel-card {
        flex: 0 0 100%;
    }

    .carousel-btn {
        top: 40%;
    }
}


.trusted-section {
    text-align: center;
    padding: 80px 15px;
}

.trusted-logos {
    background-color: #f5f5f5;
    padding: 40px 20px;
    border-radius: 6px;
}

.trusted-logos marquee {
    /* display: flex;
gap: 50px; */
}

.trusted-logos img {
    height: 30%;
    width: auto;
    object-fit: contain;
    opacity: 0.9;
    transition: transform 0.2s ease;
    padding: 10px;
    margin-right: 40px;
}

.trusted-logos img:hover {
    transform: scale(1.05);
}

.trusted-brands {
    background: #f8f8f8;
    padding: 100px 0;
    font-family: 'Noto Serif', serif;
    overflow: hidden;
}

.brands-wrapper {
    align-items: center;
    max-width: 1200px;
    margin: auto;
    gap: 60px;
}



.trusted-label {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 24px;
    color: #222;
}

.trusted-label .text {
    font-family: var(--font-family-noto);
    font-weight: 500;
    font-size: 30px;
    line-height: 40px;
    letter-spacing: -3%;
}

.logos-marquee {
    overflow: hidden;
    flex: 1;
    position: relative;
}

.logos-track {
    display: flex;
    width: fit-content;
    animation: scroll-left 30s linear infinite;
}

.logos-set {
    display: flex;
    gap: 60px;
    padding-right: 120px;
    /* this is the gap between sets */
}

.logos-set img {
    height: 50px;
    flex-shrink: 0;
    object-fit: contain;
}

@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* Email To Page */
.text-gradient {
    background: linear-gradient(to right, #137bd2, #062f53, #137bd2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.diamond-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media (min-width: 992px) {
    .diamond-section {
        height: 90vh;
        gap: 20px;
    }
}

.title-text {
    font-size: 4rem;
    font-weight: 800;
    color: #062f53;
    letter-spacing: 0.1rem;
    line-height: normal;
}

.diamond-shape {
    width: 154px;
    /* Reduced by 20% */
    height: 154px;
    /* Reduced by 20% */
    background-color: #1227c6;
    clip-path: path('M 77 0 C 87 41, 118 66, 154 77 C 118 87, 87 118, 77 154 C 66 118, 35 87, 0 77 C 35 66, 66 41, 77 0 Z');
    margin-top: 2rem;
}

@media (min-width: 768px) {
    .title-text {
        font-size: 6rem;
    }

    .diamond-shape {
        width: 320px;
        /* Reduced by 20% */
        height: 320px;
        /* Reduced by 20% */
        clip-path: path('M 160 0 C 180 84, 244 136, 320 160 C 244 184, 180 236, 160 320 C 140 236, 76 184, 0 160 C 76 136, 140 84, 160 0 Z');
    }
}

@media (min-width: 1200px) {
    .title-text {
        font-size: 7rem;
    }

    .diamond-shape {
        width: 400px;
        /* Reduced by 20% */
        height: 400px;
        /* Reduced by 20% */
        clip-path: path('M 200 0 C 224 104, 304 168, 400 200 C 304 232, 224 296, 200 400 C 176 296, 96 232, 0 200 C 96 168, 176 104, 200 0 Z');
    }
}

.email-section {
    background-color: #162BAF;
    /* height: 100vh; */
    /* That royal blue */
    color: white;
    padding: 5rem 1rem;
    position: relative;
    overflow: hidden;
}

.email-section .diamond-bg {
    position: absolute;
    bottom: -10%;
    left: -10%;
    width: 400px;
    height: 400px;
    background-color: rgba(255, 255, 255, 0.08);
    clip-path: path('M 200 0 C 225 105, 305 170, 400 200 C 305 230, 225 295, 200 400 C 175 295, 95 230, 0 200 C 95 170, 175 105, 200 0 Z');
    z-index: 0;
}

.email-section .container {
    position: relative;
    z-index: 1;
}

.email-heading {
    font-size: 2rem;
    font-weight: 600;
}

.email-subtext {
    font-family: var(--font-family-noto);
    font-size: 18px;
    line-height: 30px;
    margin-top: 30px;
}

.email-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto;
}

@media (min-width: 768px) {
    .email-heading {
        font-size: 3rem;
    }

    .space200 {
        height: 200px;
    }
}

@media (min-width: 1200px) {
    .email-heading {
        font-size: 3.5rem;
    }
}



.carousel-section {
    padding: 4rem 1rem;
    text-align: center;
}

.carousel-inner {
    display: flex;
    transition: transform 0.5s ease;
}

.carousel-item {
    display: flex;
    justify-content: center;
}

.card-wrapper {
    padding: 0 15px;
    flex: 0 0 33.3333%;
    /* 3 cards per slide */
    max-width: 33.3333%;
    box-sizing: border-box;
}

.capability-card {
    background-color: #f5f5f5;
    padding: 2rem;
    border-radius: 15px;
    min-height: 320px;
    text-align: left;
    transition: box-shadow 0.3s;
}

.capability-card:hover {
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
}

.capability-card img {
    width: 40px !important;
    margin-bottom: 1rem;
}

.capability-card h5 {
    margin-bottom: 0.5rem;
    letter-spacing: normal;
}

.carousel-control-prev,
.carousel-control-next {
    top: 50%;
    transform: translateY(-50%);
    width: 5%;
    color: #000;
    opacity: 0.6;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-image: none;
    font-size: 2rem;
}

.carousel-control-prev-icon::before {
    content: '←';
}

.carousel-control-next-icon::before {
    content: '→';
}

.carousel-section {
    position: relative;
    /* min-height: 100vh; */
}

@media (max-width: 991.98px) {
    .card-wrapper {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (min-width: 992px) {
    .brands-wrapper {
        display: flex;
    }

}

@media (max-width: 767.98px) {
    .card-wrapper {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .trusted-label {
        margin-bottom: 30px;
    }

    .footer-menu {
        width: 48% !important;
    }
}

.owl-dots {
    display: none;
}

.custom-nav {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
    color: #0b3f8c;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}

.custom-prev {
    left: -35px;
}

.custom-next {
    right: -35px;
}

.custom-nav:hover {
    background-color: #e9f0ff;
}

.why-emaito {
    background-color: #162BAF;
    /* adjust if needed */
    color: white;
}

.feature-box {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 25px;
    min-height: 150px;
}

.feature-box h3 {
    color: #fff;
    margin-bottom: 10px;
}

.feature-box p {
    /* font-size: 0.95rem; */
    color: #93A2FF;
}

.feature-box .icon {
    width: 40px;
    height: 40px;
}

.why-smart-choice {
    background-color: #fff;
    /* white background */
    color: #1d1d1f;
    /* deep charcoal text */
}

.smart-feature {
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}

.smart-feature h3 {
    font-weight: 500;
    margin-bottom: 6px;
}

.smart-feature p {
    font-size: 0.95rem;
    color: #4f4f4f;
}

.smart-feature .icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.custom-nav-two {
    position: absolute;
    bottom: -40px;
    left: 15px;
    z-index: 2;
}

/* Buttons inside nav */
.custom-nav-two button {
    background: none;
    border: none;
    font-size: 1.8rem;
    color: #0056b3;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.custom-nav-two button:hover {
    transform: scale(1.15);
    color: #003366;
}

/* Make sure wrapper has relative positioning */
.owl-carousel-two {
    position: relative;
}

.service-card-other {
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.1);
    position: relative;
    padding: 1rem;
}

.service-card-other h3 {
    font-weight: bold;
    font-size: 34px;
    font-family: var(--font-family-mona);
}

.owl-carousel .owl-item img {
    width: auto;
    height: auto;
}

.service-card-other .know-more {
    bottom: 10px;
}

.service-card-other img {
    margin-bottom: 20px;
    width: auto !important;
}

.leadership-team .custom-nav {
    border: 1px solid #FFFFFF;
}

.leadership-team .custom-nav span {
    color: #FFFFFF;
}

.leadership-team .custom-nav:hover span {
    color: #0b3f8c;
}


@media (max-width: 991px) {
    .journey-content {
        padding-right: 0;
        margin-bottom: 40px;
    }

    .ai-section {
        flex-direction: column;
    }

    .left-image,
    .right-scroll {
        width: 100%;
        padding: 20px 20px;
    }

    .left-image {
        height: 50vh;
        position: relative;
    }
}

@media (max-width: 768px) {
    .brands-container {
        justify-content: center;
        gap: 30px;
    }

    .brand-logo {
        margin: 0 15px;
    }

    .section-title {
        font-size: 2.5rem;
    }

    .carousel-item {
        margin-bottom: 30px;
    }

    .w-95,
    .w-90,
    .w-85,
    .w-80,
    .w-75,
    .w-70,
    .w-65,
    .w-60,
    .w-50,
    .w-40 {
        width: 100% !important;
    }
}

@media (max-width: 576px) {
    .bigTitle {
        font-size: 60px;
        line-height: 70px;
    }

    h1,
    h2,
    .h1,
    .h2 {
        font-size: 40px;
        line-height: 50px;
    }

    h3,
    .h3 {
        font-size: 30px;
        line-height: 40px;
        letter-spacing: normal;
    }

    .trusted-brands {
        display: block;
    }

    .ai-section .d-flex {
        display: block !important;
    }

    .step {
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    .diamond-section img {
        /* width: 80%; */
        height: auto;
    }

    .hero-section {
        padding: 0% 0 7%;
        height: 38vh;
    }

    .email-section {
        padding: 10% 0 !important;
    }

    #footerSection .logo-container {
        text-align: center;
        margin-bottom: 40px;
    }

    #footerSection .footer-links {
        text-align: center !important;
    }

    #footerSection .footer-text {
        text-align: center;
    }

    .hero_text_box {
        width: 100%;
        bottom: 10%;
        right: 0;
        padding: 0 2rem;
    }

    #teamCarousel {
        position: relative;
    }

    .main-heading,
    .process-heading,
    .journey-heading,
    .section-title {
        line-height: 2.7rem;
    }

    .process-section,
    .journey-section,
    .news-section {
        padding: 30px 0px;
    }

    .hero-section-two {
        padding: 40px 0 60px;
    }

    .services-section {
        overflow: hidden;
    }

    .ai-section {
        overflow: hidden;
    }

    .hero-heading {
        font-size: 2rem;
        font-weight: 500;
        margin-bottom: 2rem;
        color: #333;
        /* padding-left: 110px; */
        float: left;
    }
}

@media (max-width: 400px) {
    .process-heading {
        font-size: 2.5rem;
    }

    .process-text {
        font-size: 1rem;
    }

    .hero-heading {
        font-size: 2rem;
        font-weight: 500;
        margin-bottom: 2rem;
        color: #333;
        /* padding-left: 110px; */
        float: left;
    }
}

a:hover {
    text-decoration: none !important;
}


/* Statistics box */

.stats-box {
    background: #2D40B7;
    padding: 20px;
    border-radius: 10px;
    max-width: 600px;
}

.stat-item {
    color: white;
    padding: 10px;
}

.stat-value {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 1rem;
    opacity: 0.8;
}

.border-left-right {
    border-left: 1px solid rgba(255, 255, 255, 0.2);
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.case-studies h2 {
    font-weight: 600;
    font-size: 2rem;
}

.cs-h1 {

    font-family: "Noto Serif KR";
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 51px;
    letter-spacing: -1.5px;

}

.case-studies h2 {
    color: #292929;
    font-family: "Noto Serif KR";
    font-size: 60px;
    font-style: normal;
    font-weight: 500;
    line-height: 90px;
    /* 112.5% */
    letter-spacing: -2.4px;
}

@media (min-width: 992px) {
    .cs-h1 {
        color: #FFF;
        margin-top: -153px;
        padding: 0px 127px;
    }

    .cs-text-container {
        padding: 0 80px;
    }
}

.cs-container {
    border-radius: 10px;
}

.cs-left-radius {
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
}

.cs-right-radius {
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
}



.cs-text-container p {
    color: #292929;
    font-family: "Noto Serif KR";
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 36px;
    /* 150% */
    letter-spacing: -0.72px;
}

.case-card p {
    margin: 0 0 10px;
    color: #333;
}

.know-more {
    color: #007bff;
    text-decoration: none;
    font-weight: 500;
}

.know-more:hover {
    text-decoration: underline;
}