/* Add here all your CSS customizations */

/* Porto parallax CTA: .parallax-background is created by porto-init.js (full theme.js not in _Layout). */
.parallax .parallax-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 0;
    pointer-events: none;
}

.parallax > *:not(.parallax-background) {
    position: relative;
    z-index: 1;
}

/* Contact page (ids-fintech.com/contact-us layout): form + sidebar */
.contact-page__info-icon {
    margin-right: 0.45rem;
    color: var(--blue-1);
    font-size: 1rem;
    vertical-align: middle;
}

.contact-page__aside h4 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-top: 1.75rem;
    margin-bottom: 0.65rem;
    color: var(--blue-1);
    display: flex;
    align-items: center;
}

.contact-page__aside .contact-page__info-block:first-child h4 {
    margin-top: 0;
}

.contact-page__aside p {
    margin-bottom: 0.5rem;
}

.contact-page__aside p:last-child {
    margin-bottom: 0;
}

.contact-page__multiline {
    white-space: pre-line;
}

.contact-page__social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.35rem;
}

.contact-page__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: var(--blue-1);
    color: #fff;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.contact-page__social-link:hover {
    opacity: 0.88;
    color: #fff;
}

/* Map: full width, responsive height (Google embed). */
.contact-page__map-section {
    line-height: 0;
    background: #e9ecef;
}

.contact-page__map-iframe {
    display: block;
    width: 100%;
    height: min(520px, 55vh);
    min-height: 280px;
    max-height: 640px;
    border: 0;
}

@media (min-width: 992px) {
    .contact-page__map-iframe {
        height: min(560px, 50vh);
        min-height: 380px;
    }
}

.contact-page__form .form-control-modern {
    border-radius: 0.35rem;
    border: 1px solid #dee2e6;
    padding: 0.65rem 0.85rem;
    font-size: 0.95rem;
}

.contact-page__form .form-control-modern:focus {
    border-color: var(--blue-2);
    box-shadow: 0 0 0 0.2rem rgba(10, 91, 145, 0.15);
}

.contact-page__form textarea.form-control-modern {
    min-height: 140px;
}

.contact-page__submit.btn-modern {
    border-radius: 0.35rem;
    padding: 0.65rem 1.75rem;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(10, 91, 145, 0.2);
}

.contact-page__submit.btn-modern:hover {
    box-shadow: 0 6px 16px rgba(10, 91, 145, 0.28);
}

.page-header .breadcrumb.breadcrumb-light a {
    color: var(--blue-1);
}

.page-header .breadcrumb.breadcrumb-light .active {
    color: #777;
}

:root {
    --blue-1: #0A5B91;
    --blue-2: #24A0c7;
    --blue-3: #88C3E4;
    --black: #26292D;
    --btn-pri-border-dark: #06436b;
    --btn-pri-border-light: #1b81c5;
    --btn-pri-border-light-h: #2baed6;
    --btn-pri-border-dark-h: #1e94b8;
}

a {
    cursor: pointer;
    color: var(--blue-1);
}

html .bg-color-primary, html .bg-primary {
    background: linear-gradient(to right, var(--blue-3), var(--blue-1)) !important;
}

#header .header-nav-top .dropdown-menu:before {
    left: 17px;
}

html .featured-boxes-style-4 .featured-box.featured-box-primary .icon-featured {
    border-color: var(--blue-2);
    color: var(--blue-2);
}

html .featured-boxes-full-scale > .featured-box-full-primary:nth-child(1) {
    background-color: var(--blue-1);
}

html .featured-boxes-full-scale > .featured-box-full-primary:nth-child(2) {
    background-color: var(--blue-2);
}

html .featured-boxes-full-scale > .featured-box-full-primary:nth-child(3) {
    background-color: var(--blue-3);
}

.col-lg-5th {
    flex: 0 0 20% !important;
    /* width: 17% */
}

/* Solution showcase: modern horizontal card carousel */
.solution-showcase {
    background: #f7fafc;
    padding: 5rem 0;
}

.solution-showcase__header {
    max-width: 760px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.solution-showcase__title {
    margin: 0 0 0.75rem;
    color: #0f2438;
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.solution-showcase__subtitle {
    margin: 0;
    color: #58697a;
    font-size: 1rem;
    line-height: 1.7;
}

.solution-showcase__carousel {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
}

.solution-showcase__viewport {
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    min-width: 0;
    padding: 0.25rem 0 0.75rem;
}

.solution-showcase__viewport::-webkit-scrollbar {
    display: none;
}

.solution-showcase__track {
    display: flex;
    gap: 1.25rem;
    align-items: stretch;
}

.solution-showcase__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    color: var(--blue-1);
    box-shadow: 0 12px 28px rgba(15, 36, 56, 0.14);
    flex: 0 0 46px;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.solution-showcase__arrow:hover:not(:disabled) {
    background: var(--blue-1);
    color: #fff;
    box-shadow: 0 18px 36px rgba(10, 91, 145, 0.2);
}

.solution-showcase__arrow:disabled {
    opacity: 0.4;
    cursor: default;
    box-shadow: 0 8px 20px rgba(15, 36, 56, 0.08);
}

.solution-showcase__slide {
    flex: 0 0 100%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    opacity: 0.92;
    transform: translateY(16px);
    transition: transform 0.28s ease, opacity 0.28s ease;
}

.solution-showcase__slide.is-inview {
    opacity: 1;
    transform: translateY(0);
}

.solution-showcase__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 320px;
    padding: 2rem 1.6rem;
    background: #fff;
    border: 1px solid #e4ebf3;
    border-radius: 1.1rem;
    box-shadow: 0 16px 34px rgba(15, 36, 56, 0.08);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.solution-showcase__slide:hover .solution-showcase__card {
    transform: translateY(-4px);
    box-shadow: 0 24px 42px rgba(15, 36, 56, 0.14);
    border-color: rgba(36, 160, 199, 0.3);
}

.solution-showcase__slide.is-active .solution-showcase__card {
    transform: translateY(-2px) scale(1.01);
    border-color: rgba(36, 160, 199, 0.5);
    box-shadow: 0 26px 48px rgba(10, 91, 145, 0.16);
}

.solution-showcase__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin-bottom: 1.25rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(136, 195, 228, 0.22), rgba(36, 160, 199, 0.12));
}

.solution-showcase__icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.solution-showcase__card-title {
    margin: 0 0 0.85rem;
    color: #0f2438;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.2;
}

.solution-showcase__card-description {
    margin: 0 0 1.5rem;
    color: #617283;
    font-size: 0.98rem;
    line-height: 1.7;
}

.solution-showcase__cta {
    margin-top: auto;
    align-self: flex-start;
    min-width: 132px;
    padding: 0.78rem 1.5rem;
    border-radius: 999px;
    box-shadow: none;
}

@media (min-width: 576px) {
    .solution-showcase__slide {
        flex-basis: calc((100% - 1.25rem) / 2);
    }
}

@media (min-width: 768px) {
    .solution-showcase__track {
        gap: 1.5rem;
    }

    .solution-showcase__slide {
        flex-basis: calc((100% - 3rem) / 3);
    }
}

@media (min-width: 1200px) {
    .solution-showcase__slide {
        flex-basis: calc((100% - 4.5rem) / 4);
    }
}

@media (max-width: 767px) {
    .solution-showcase {
        padding: 4rem 0;
    }

    .solution-showcase__carousel {
        grid-template-columns: 1fr;
    }

    .solution-showcase__viewport {
        padding-left: 0;
        padding-right: 0;
    }

    .solution-showcase__arrow {
        display: none;
    }

    .solution-showcase__card {
        min-height: 290px;
        padding: 1.65rem 1.35rem;
    }
}
#home-services .animated-icon {
    text-align: center
}

.owl-carousel .owl-dots .owl-dot.active span, .owl-carousel .owl-dots .owl-dot:hover span {
    background-color: #fff;
}

/* Home hero Owl: align with ids-fintech.com / Porto (nav offset, responsive height, subtitle) */
#home-hero-carousel {
    background: rgb(33, 37, 41);
    height: 400px;
}

@media (min-width: 576px) {
    #home-hero-carousel {
        height: 440px;
    }
}

@media (min-width: 992px) {
    #home-hero-carousel {
        height: 640px;
    }
}

#home-hero-carousel .owl-stage-outer,
#home-hero-carousel .owl-stage,
#home-hero-carousel .owl-item {
    height: 100%;
}

#home-hero-carousel.owl-carousel.nav-inside.nav-bottom .owl-nav {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    justify-content: flex-start;
}

@media (min-width: 768px) {
    #home-hero-carousel.owl-carousel.nav-inside.nav-bottom .owl-nav {
        padding-left: 2.5rem;
    }
}

@media (min-width: 992px) {
    #home-hero-carousel.owl-carousel.nav-inside.nav-bottom .owl-nav {
        padding-left: 3.5rem;
    }
}

.hero-slide-subtitle {
    letter-spacing: 0.08em;
}

/* Hero slide: constrain content to blue panel width/offset at each breakpoint and scale type so it fits */
#home-hero-carousel .hero-slide-content-col {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    margin-left: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.85rem;
}

@media (min-width: 768px) {
    #home-hero-carousel .hero-slide-content-col {
        width: 52%;
        max-width: 52%;
        margin-left: 48%;
        padding-left: 1.75rem;
        padding-right: 1.5rem;
        padding-top: 0.9rem;
    }
}

@media (min-width: 992px) {
    #home-hero-carousel .hero-slide-content-col {
        width: 50%;
        max-width: 50%;
        margin-left: 50%;
        padding-left: 2rem;
        padding-right: 1.65rem;
        padding-top: 1rem;
    }
}

@media (min-width: 1200px) {
    #home-hero-carousel .hero-slide-content-col {
        width: 60%;
        max-width: 60%;
        margin-left: 54%;
        padding-left: 3.25rem;
        padding-right: 0.75rem;
        padding-top: 2.5rem;
    }
}

/* Heading scales with viewport and wraps cleanly inside the blue panel */
#home-hero-carousel .hero-slide-heading {
    font-size: clamp(1.5rem, 5.5vw, 2rem);
    line-height: 1.15;
    word-break: break-word;
    overflow-wrap: anywhere;
    margin-bottom: 0.75rem;
}

@media (min-width: 768px) {
    #home-hero-carousel .hero-slide-heading {
        font-size: clamp(1.45rem, 2.6vw, 2rem);
        line-height: 1.15;
    }
}

@media (min-width: 992px) {
    #home-hero-carousel .hero-slide-heading {
        font-size: clamp(1.6rem, 2.4vw, 2.35rem);
    }
}

@media (min-width: 1200px) {
    #home-hero-carousel .hero-slide-heading {
        font-size: clamp(1.85rem, 2.1vw, 2.65rem);
    }
}

/* Subtitle sizing tuned to match the narrower panel */
#home-hero-carousel .hero-slide-subtitle {
    font-size: clamp(0.8rem, 3.2vw, 0.95rem);
    line-height: 1.5;
    margin-bottom: 1rem;
    letter-spacing: 0.08em;
}

@media (min-width: 768px) {
    #home-hero-carousel .hero-slide-subtitle {
        font-size: clamp(0.78rem, 1.15vw, 0.92rem);
        margin-bottom: 1.25rem;
    }
}

@media (min-width: 1200px) {
    #home-hero-carousel .hero-slide-subtitle {
        font-size: clamp(0.85rem, 1vw, 0.98rem);
    }
}

/* Hero badge: smaller, stays inside blue panel with column padding */
#home-hero-carousel .hero-slide-badge {
    display: none;
    width: 72px;
    max-width: 22vw;
    height: auto;
    margin-bottom: 0.65rem;
}

@media (min-width: 992px) {
    #home-hero-carousel .hero-slide-badge {
        display: block;
        width: 80px;
        max-width: none;
        margin-bottom: 0.75rem;
    }
}

@media (min-width: 992px) {
    #home-hero-carousel .hero-slide-badge {
        width: 86px;
    }
}

/* Blue panel: fit badge + title + subtitle + CTA tightly, expose more background image */
#home-hero-carousel .hero-slide-blue-panel-fill {
    min-height: 430px;
    height: 430px;
}

@media (min-width: 992px) {
    #home-hero-carousel .hero-slide-blue-panel-fill {
        min-height: 460px;
        height: 460px;
    }
}

@media (min-width: 1200px) {
    #home-hero-carousel .hero-slide-blue-panel-fill {
        min-height: 400px;
        height: 400px;
    }
}

/* Home hero: blue gradient panel width (narrower so more background shows) */
#home-hero-carousel .hero-slide-blue-panel {
    width: 100% !important;
}

@media (min-width: 768px) {
    #home-hero-carousel .hero-slide-blue-panel {
        width: 52% !important;
    }
}

@media (min-width: 992px) {
    #home-hero-carousel .hero-slide-blue-panel {
        width: 50% !important;
    }
}

@media (min-width: 1200px) {
    #home-hero-carousel .hero-slide-blue-panel {
        width: 48% !important;
    }
}

/* Block: Clients Logos */
.clients-logos-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.clients-logos-block__row {
    align-items: center;
    padding: 2.75rem 0;
    margin: 0;
}

.clients-logos-block__carousel .owl-stage {
    display: flex;
    align-items: center;
}

.clients-logos-block__carousel .owl-item {
    transition: opacity 0.22s ease;
}

.clients-logos-block__carousel:hover .owl-item {
    opacity: 0.68;
}

.clients-logos-block__carousel:hover .owl-item:hover {
    opacity: 1;
}

.clients-logos-block__carousel--grid {
    padding: 0 4rem;
}

.clients-logos-block__carousel--grid .owl-nav {
    position: absolute;
    inset: 50% 0 auto;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
}

.clients-logos-block__carousel--grid .owl-nav button.owl-prev,
.clients-logos-block__carousel--grid .owl-nav button.owl-next {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #0a5b91 !important;
    box-shadow: 0 10px 24px rgba(15, 36, 56, 0.12);
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.clients-logos-block__carousel--grid .owl-nav button.owl-prev:hover,
.clients-logos-block__carousel--grid .owl-nav button.owl-next:hover {
    background: #0a5b91 !important;
    color: #fff !important;
    transform: scale(1.04);
}

.clients-logos-block__carousel--grid .owl-nav button span {
    font-size: 1.35rem;
    line-height: 1;
}

.clients-logos-block__slide,
.clients-logos-block__grid .col-6,
.clients-logos-block__grid .col-md-4,
.clients-logos-block__grid .col-lg-3 {
    display: flex;
    align-items: center;
    justify-content: center;
}

.clients-logos-block .client-logo-item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    gap: 1rem;
    width: 100%;
    min-height: 220px;
    padding: 1rem 0.85rem;
}

.clients-logos-block .client-logo-img {
    display: block;
    width: 100%;
    max-width: 220px;
    height: 160px;
    margin: 0 auto;
    object-fit: contain;
    object-position: center;
    opacity: 1 !important;
    transition: transform 0.22s ease, filter 0.22s ease, opacity 0.22s ease;
}

.clients-logos-block .client-logo-name {
    color: #0f2438;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
    max-width: 220px;
}

.clients-logos-block a:hover .client-logo-img,
.clients-logos-block a:focus .client-logo-img {
    opacity: 1 !important;
    transform: scale(1.06);
    filter: drop-shadow(0 10px 24px rgba(15, 36, 56, 0.12));
}

.clients-logos-block a:hover .client-logo-name,
.clients-logos-block a:focus .client-logo-name {
    color: var(--blue-1);
}

@media (max-width: 991px) {
    .clients-logos-block__row {
        padding: 2.25rem 0;
    }

    .clients-logos-block .client-logo-item {
        min-height: 200px;
    }
}

@media (max-width: 767px) {
    .clients-logos-block__row {
        padding: 1.75rem 0;
    }

    .clients-logos-block .client-logo-item {
        min-height: 185px;
        padding: 0.75rem 0.5rem;
    }

    .clients-logos-block .client-logo-img {
        max-width: 190px;
        height: 135px;
    }
}

/* Block: Testimonials */
.testimonials-block {
    padding: 5rem 0;
}

.testimonials-block__heading {
    color: #0f2438;
    font-size: clamp(1.95rem, 2.4vw, 2.75rem);
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.testimonials-block__carousel {
    padding: 0 3.75rem;
}

.testimonials-block__item {
    padding: 0.5rem 0;
}

.testimonial-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-height: 100%;
    padding: 2.75rem 2.25rem;
    border: 1px solid rgba(15, 36, 56, 0.08);
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, 0.9);
}

.testimonial-card__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 132px;
    margin-bottom: 1.35rem;
}

.testimonial-card__logo {
    width: auto;
    max-width: 180px;
    max-height: 104px;
    object-fit: contain;
    object-position: center;
}

.testimonial-card__quote-wrap {
    width: 100%;
    margin: 0 0 1.6rem;
}

.testimonial-card__quote {
    color: #213547;
    font-family: Inter, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    font-size: clamp(1.02rem, 1.15vw, 1.14rem);
    font-weight: 400;
    line-height: 1.9;
    white-space: pre-line;
}

.testimonial-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-items: center;
    width: 100%;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(15, 36, 56, 0.08);
}

.testimonial-card__name,
.testimonial-card__role {
    margin: 0;
}

.testimonial-card__name {
    color: #0f2438;
    font-family: Inter, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
}

.testimonial-card__role {
    color: #5f6f7f;
    font-family: Inter, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.6;
}

.testimonials-block__carousel .owl-nav {
    position: absolute;
    inset: 50% 0 auto;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
}

.testimonials-block__carousel .owl-nav button.owl-prev,
.testimonials-block__carousel .owl-nav button.owl-next {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #0a5b91 !important;
    box-shadow: 0 10px 24px rgba(15, 36, 56, 0.12);
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.testimonials-block__carousel .owl-nav button.owl-prev:hover,
.testimonials-block__carousel .owl-nav button.owl-next:hover {
    background: #0a5b91 !important;
    color: #fff !important;
    transform: scale(1.04);
}

.testimonials-block__carousel .owl-nav button span {
    font-size: 1.35rem;
    line-height: 1;
}

.testimonials-block__carousel .owl-dots {
    display: none !important;
}

@media (max-width: 991px) {
    .testimonials-block__carousel {
        padding: 0 3rem;
    }

    .testimonial-card {
        padding: 2.3rem 1.75rem;
    }
}

@media (max-width: 767px) {
    .testimonials-block {
        padding: 4rem 0;
    }

    .testimonials-block__carousel {
        padding: 0;
    }

    .testimonial-card {
        padding: 2rem 1.35rem;
    }

    .testimonial-card__logo-wrap {
        min-height: 112px;
        margin-bottom: 1rem;
    }

    .testimonial-card__logo {
        max-width: 160px;
        max-height: 92px;
    }

    .testimonial-card__quote {
        line-height: 1.8;
    }

    .testimonials-block__carousel .owl-nav {
        display: none;
    }

    .clients-logos-block__carousel--grid {
        padding: 0;
    }

    .clients-logos-block__carousel--grid .owl-nav {
        display: none;
    }
}

.cta-final-section {
    position: relative;
    overflow: hidden;
    padding: 5.75rem 0 6rem;
}

.cta-final-section__container {
    position: relative;
    z-index: 1;
}

.cta-final-section__panel {
    position: relative;
    overflow: hidden;
    padding: 3.75rem 4rem;
    border: 1px solid rgba(10, 91, 145, 0.1);
    border-radius: 32px;
    box-shadow: 0 24px 70px rgba(15, 36, 56, 0.12);
    backdrop-filter: blur(8px);
}

.cta-final-section__panel::before,
.cta-final-section__panel::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.cta-final-section__panel::before {
    top: -110px;
    right: -60px;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(36, 160, 199, 0.22) 0%, rgba(36, 160, 199, 0) 72%);
}

.cta-final-section__panel::after {
    bottom: -120px;
    left: -80px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(10, 91, 145, 0.1) 0%, rgba(10, 91, 145, 0) 75%);
}

.cta-final-section__content {
    position: relative;
    z-index: 1;
    max-width: 680px;
}

.cta-final-section__content--right {
    margin-left: auto;
    text-align: right;
}

.cta-final-section__title {
    margin: 0 0 1rem;
    color: #10273b;
    font-size: clamp(2rem, 3vw, 3.1rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.03em;
}

.cta-final-section__description {
    color: #425466;
    font-size: 1.15rem;
    line-height: 1.8;
    max-width: 56ch;
}

.cta-final-section__content--right .cta-final-section__description {
    margin-left: auto;
}

.cta-final-section__actions {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
}

.cta-final-section__actions--left {
    justify-content: flex-start;
}

.cta-final-section__button.btn {
    min-width: 230px;
    padding: 1.2rem 2rem;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--blue-1), #0f77b8);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 18px 38px rgba(10, 91, 145, 0.26);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.cta-final-section__button.btn:hover,
.cta-final-section__button.btn:focus {
    transform: scale(1.05);
    background: linear-gradient(135deg, #0f77b8, var(--blue-2));
    color: #fff;
    box-shadow: 0 24px 46px rgba(10, 91, 145, 0.3);
}

.cta-final-section--soft-neutral .cta-final-section__panel {
    background:
        linear-gradient(140deg, rgba(255, 255, 255, 0.96), rgba(241, 246, 250, 0.98)),
        linear-gradient(135deg, rgba(36, 160, 199, 0.04), rgba(10, 91, 145, 0.02));
}

.cta-final-section--soft-accent .cta-final-section__panel {
    background:
        linear-gradient(140deg, rgba(242, 250, 255, 0.98), rgba(228, 241, 249, 0.98)),
        linear-gradient(135deg, rgba(36, 160, 199, 0.08), rgba(10, 91, 145, 0.04));
}

.cta-final-section--soft-sand .cta-final-section__panel {
    background:
        linear-gradient(140deg, rgba(255, 252, 246, 0.98), rgba(250, 244, 234, 0.98)),
        linear-gradient(135deg, rgba(204, 170, 92, 0.1), rgba(255, 255, 255, 0));
}

.solutions-nav-link {
    cursor: pointer;
}

.solutions-mega-menu {
    padding: 1.5rem 1.75rem;
}

.solutions-mega-menu__overview {
    padding: 0 0 1.15rem;
    margin-bottom: 1.4rem;
    border-bottom: 1px solid rgba(10, 91, 145, 0.12);
}

.solutions-mega-menu__overview-link {
    display: inline-block;
    color: #1e1e1e;
    text-decoration: none;
}

.solutions-mega-menu__overview-link:hover h5,
.solutions-mega-menu__overview-link:focus h5 {
    color: var(--blue-1);
}

.solutions-mega-menu__overview-copy,
.solutions-mega-menu__overview-copy p {
    margin: 0;
    color: #555;
    font-size: 0.98rem;
    line-height: 1.7;
}

.solutions-mega-menu__items {
    row-gap: 1.5rem;
}

.solutions-menu-tile {
    position: relative;
}


.solutions-menu-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    height: 100%;
    padding: 0.25rem 2.6rem 0.35rem 0;
    color: inherit;
    text-decoration: none;
}

.solutions-menu-item:hover,
.solutions-menu-item:focus {
    text-decoration: none;
}

.solutions-menu-item__media {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.solutions-menu-item__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.solutions-menu-item__content {
    min-width: 0;
    max-width: 15rem;
}

.solutions-menu-item .h4-header {
    margin-bottom: 0.5rem !important;
    color: #1a1a1a;
    font-size: 0.96rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.solutions-menu-item .p-header {
    color: #5b5b5b;
    font-size: 0.95rem;
    line-height: 1.55;
}

@media (max-width: 991.98px) {
    .solutions-mega-menu {
        padding: 1.15rem 1rem;
    }

    .solutions-mega-menu__overview {
        margin-bottom: 1rem;
        padding-bottom: 1rem;
    }

    .solutions-menu-item {
        padding-right: 0;
    }

    .solutions-menu-tile:not(:last-child)::after {
        display: none;
    }
}

.solution-page-hero {
    position: relative;
    overflow: hidden;
    padding: 7.5rem 0 6.5rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.solution-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 82% 18%, rgba(36, 160, 199, 0.22), transparent 32%),
        radial-gradient(circle at 12% 80%, rgba(255, 255, 255, 0.08), transparent 28%);
}

.solution-page-hero__container {
    position: relative;
    z-index: 1;
}

.solution-page-hero__content {
    max-width: 620px;
}

.solution-page-hero__eyebrow,
.solution-page-section__eyebrow {
    display: inline-block;
    margin-bottom: 1rem;
    color: var(--blue-2);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.solution-page-hero__eyebrow {
    color: rgba(255, 255, 255, 0.78);
}

.solution-page-hero__title {
    margin: 0 0 1.35rem;
    color: #fff;
    font-size: clamp(2.9rem, 5vw, 5rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.solution-page-hero__subtitle {
    max-width: 58ch;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.12rem;
    line-height: 1.9;
}

.solution-page-hero__visual {
    position: relative;
}

.solution-page-hero__visual-shell {
    position: relative;
    min-height: 440px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 32px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.04));
    box-shadow: 0 28px 90px rgba(6, 18, 29, 0.28);
    backdrop-filter: blur(14px);
}

.solution-page-hero__visual-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), transparent 48%);
    pointer-events: none;
}

.solution-page-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.solution-page-hero__abstract {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 440px;
    background:
        linear-gradient(145deg, rgba(10, 91, 145, 0.38), rgba(17, 45, 74, 0.78)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
}

.solution-page-hero__orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(2px);
}

.solution-page-hero__orb--one {
    top: 12%;
    right: 14%;
    width: 160px;
    height: 160px;
    background: radial-gradient(circle, rgba(36, 160, 199, 0.9), rgba(36, 160, 199, 0));
}

.solution-page-hero__orb--two {
    bottom: 10%;
    left: 12%;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0));
}

.solution-page-hero__grid {
    position: absolute;
    inset: 14% 12%;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
    background-size: 34px 34px;
}

.solution-page-section {
    padding: 6rem 0;
}

.solution-page-section--intro {
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfe 100%);
}

.solution-page-section--features,
.solution-page-section--testimonial {
    background: #fff;
}

.solution-page-section--capabilities,
.solution-page-section--services {
    background: linear-gradient(180deg, #f7fbfe 0%, #eef5fa 100%);
}

.solution-page-section--benefits {
    background: linear-gradient(145deg, #0d2235 0%, #13324d 100%);
}

.solution-page-section__heading {
    max-width: 760px;
    margin: 0 auto 3.2rem;
}

.solution-page-section__title {
    margin: 0;
    color: #10273b;
    font-size: clamp(2rem, 3vw, 3.15rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.solution-page-section__description {
    margin: 1rem 0 0;
    color: #5a6b79;
    font-size: 1.02rem;
    line-height: 1.85;
}

.solution-page-section--benefits .solution-page-section__eyebrow,
.solution-page-section--benefits .solution-page-section__title,
.solution-page-section--benefits .solution-page-section__description,
.solution-page-testimonial__intro .solution-page-section__eyebrow,
.solution-page-testimonial__intro .solution-page-section__title {
    color: #fff;
}

.solution-page-intro__copy {
    max-width: 820px;
}

.solution-page-intro__richtext {
    color: #4a5d6e;
    font-size: 1.08rem;
    line-height: 1.95;
}

.solution-page-intro__richtext p:last-child {
    margin-bottom: 0;
}

.solution-page-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.25rem;
}

.solution-page-stat-card {
    height: 100%;
    padding: 1.45rem 1.35rem;
    border: 1px solid rgba(10, 91, 145, 0.1);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 44px rgba(15, 36, 56, 0.08);
}

.solution-page-stat-card__number {
    margin-bottom: 0.45rem;
    color: var(--blue-1);
    font-size: clamp(1.8rem, 2vw, 2.35rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
}

.solution-page-stat-card__label {
    color: #506272;
    font-size: 0.96rem;
    line-height: 1.7;
}

.solution-page-feature-card {
    height: 100%;
    padding: 1.9rem 1.7rem;
    border: 1px solid rgba(10, 91, 145, 0.08);
    border-radius: 28px;
    background: linear-gradient(180deg, #fff 0%, #f9fcfe 100%);
    box-shadow: 0 20px 52px rgba(15, 36, 56, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.solution-page-feature-card:hover {
    transform: translateY(-5px);
    border-color: rgba(36, 160, 199, 0.22);
    box-shadow: 0 28px 62px rgba(15, 36, 56, 0.1);
}

.solution-page-feature-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin-bottom: 1.35rem;
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(36, 160, 199, 0.16), rgba(10, 91, 145, 0.08));
}

.solution-page-feature-card__icon img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.solution-page-feature-card__svg {
    width: 36px;
    height: 36px;
}

.solution-page-feature-card__svg path,
.solution-page-feature-card__svg circle,
.solution-page-feature-card__svg rect,
.solution-page-feature-card__svg line,
.solution-page-feature-card__svg polyline,
.solution-page-feature-card__svg polygon {
    stroke: var(--blue-1);
}

.solution-page-feature-card__icon-dot {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: var(--blue-1);
    box-shadow: 0 0 0 10px rgba(10, 91, 145, 0.12);
}

.solution-page-feature-card__title,
.solution-page-capability-row__title,
.solution-page-service-card__title,
.solution-page-benefit-item__title {
    margin: 0 0 0.7rem;
    color: #10273b;
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1.35;
}

.solution-page-feature-card__description,
.solution-page-capability-row__description,
.solution-page-service-card__description,
.solution-page-benefit-item__description {
    color: #5a6b79;
    line-height: 1.82;
}

.solution-page-capabilities-list {
    display: grid;
    gap: 2rem;
}

.solution-page-capability-row {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 2.25rem;
    align-items: center;
    padding: 2rem;
    border: 1px solid rgba(10, 91, 145, 0.08);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 24px 56px rgba(15, 36, 56, 0.08);
}

.solution-page-capability-row--reverse {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.solution-page-capability-row--reverse .solution-page-capability-row__media {
    order: 2;
}

.solution-page-capability-row--reverse .solution-page-capability-row__content {
    order: 1;
}

.solution-page-capability-row__media {
    min-height: 300px;
}

.solution-page-capability-row__image,
.solution-page-capability-row__placeholder {
    width: 100%;
    height: 100%;
    min-height: 300px;
    border-radius: 26px;
}

.solution-page-capability-row__image {
    display: block;
    object-fit: cover;
}

.solution-page-capability-row__placeholder {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(10, 91, 145, 0.18), rgba(36, 160, 199, 0.12));
}

.solution-page-capability-row__placeholder span {
    position: absolute;
    display: block;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
}

.solution-page-capability-row__placeholder span:nth-child(1) {
    top: 18%;
    left: 14%;
    width: 120px;
    height: 120px;
}

.solution-page-capability-row__placeholder span:nth-child(2) {
    right: 16%;
    bottom: 18%;
    width: 170px;
    height: 170px;
    background: rgba(36, 160, 199, 0.38);
}

.solution-page-capability-row__placeholder span:nth-child(3) {
    top: 52%;
    left: 30%;
    width: 220px;
    height: 2px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.42);
    box-shadow: 0 18px 0 rgba(255, 255, 255, 0.3), 0 -18px 0 rgba(255, 255, 255, 0.22);
}

.solution-page-capability-row__content {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.solution-page-capability-row__index {
    min-width: 44px;
    color: rgba(10, 91, 145, 0.28);
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1;
}

.solution-page-capability-row__card {
    max-width: 460px;
}

.solution-page-service-card {
    position: relative;
    height: 100%;
    padding: 1.85rem 1.65rem;
    border: 1px solid rgba(10, 91, 145, 0.08);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 40px rgba(15, 36, 56, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.solution-page-service-card-wrap {
    position: relative;
    height: 100%;
}

.solution-page-service-card:hover {
    transform: translateY(-6px);
    border-color: rgba(36, 160, 199, 0.22);
    box-shadow: 0 28px 60px rgba(15, 36, 56, 0.1);
}

.solution-page-service-card__step {
    display: inline-flex;
    margin-bottom: 1rem;
    color: rgba(10, 91, 145, 0.35);
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.15em;
}

.solution-page-capability-preview {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(10, 91, 145, 0.08);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
}

.solution-page-capability-preview__image {
    display: block;
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.solution-page-capability-preview__body {
    padding: 1.35rem;
}

.solution-page-benefit-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    height: 100%;
    padding: 1.55rem 1.45rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.04);
}

.solution-page-benefit-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-top: 0.15rem;
    border-radius: 999px;
    background: rgba(36, 160, 199, 0.18);
}

.solution-page-benefit-item__icon span {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: var(--blue-2);
    box-shadow: 0 0 0 5px rgba(36, 160, 199, 0.12);
}

.solution-page-section--benefits .solution-page-benefit-item__title,
.solution-page-section--benefits .solution-page-benefit-item__description {
    color: rgba(255, 255, 255, 0.94);
}

.solution-page-testimonial {
    position: relative;
    overflow: hidden;
    padding: 2.9rem;
    border-radius: 34px;
    background: linear-gradient(135deg, #0f263a, #163957);
    box-shadow: 0 28px 70px rgba(10, 22, 35, 0.18);
}

.solution-page-testimonial::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -40px;
    width: 240px;
    height: 240px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(36, 160, 199, 0.28), rgba(36, 160, 199, 0));
}

.solution-page-testimonial__body {
    position: relative;
    z-index: 1;
    max-width: 820px;
}

.solution-page-testimonial__quote {
    margin: 0 0 1.9rem;
}

.solution-page-testimonial__quote p {
    color: rgba(255, 255, 255, 0.96);
    font-size: clamp(1.22rem, 2vw, 1.55rem);
    line-height: 1.85;
}

.solution-page-testimonial__meta {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.solution-page-testimonial__logo-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    min-width: 92px;
    height: 92px;
    padding: 0.75rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
}

.solution-page-testimonial__logo {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.solution-page-testimonial__name {
    margin: 0 0 0.35rem;
    color: #fff;
    font-size: 1.02rem;
    font-weight: 700;
}

.solution-page-testimonial__role {
    color: rgba(255, 255, 255, 0.74);
    line-height: 1.7;
}

@media (max-width: 991px) {
    .cta-final-section {
        padding: 4.75rem 0 5rem;
    }

    .cta-final-section__panel {
        padding: 3rem 2.5rem;
    }

    .solution-page-hero {
        padding: 6.8rem 0 5.3rem;
    }

    .solution-page-section {
        padding: 4.8rem 0;
    }

    .solution-page-hero__visual-shell,
    .solution-page-hero__abstract {
        min-height: 360px;
    }

    .solution-page-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .solution-page-capability-row,
    .solution-page-capability-row--reverse {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .solution-page-capability-row--reverse .solution-page-capability-row__media,
    .solution-page-capability-row--reverse .solution-page-capability-row__content {
        order: initial;
    }
}

@media (max-width: 767px) {
    .cta-final-section {
        padding: 4rem 0 4.25rem;
    }

    .cta-final-section__panel {
        padding: 2.35rem 1.35rem;
        border-radius: 24px;
    }

    .cta-final-section__content,
    .cta-final-section__content--right {
        max-width: none;
        text-align: center;
    }

    .cta-final-section__description,
    .cta-final-section__content--right .cta-final-section__description {
        margin-left: auto;
        margin-right: auto;
    }

    .cta-final-section__actions,
    .cta-final-section__actions--left {
        justify-content: center;
    }

    .cta-final-section__button.btn {
        width: 100%;
        min-width: 0;
    }

    .solution-page-hero {
        padding: 5.8rem 0 4.25rem;
    }

    .solution-page-hero__subtitle {
        font-size: 1rem;
        line-height: 1.82;
    }

    .solution-page-section {
        padding: 3.75rem 0;
    }

    .solution-page-hero__visual-shell,
    .solution-page-hero__abstract {
        min-height: 280px;
    }

    .solution-page-stats {
        grid-template-columns: 1fr;
    }

    .solution-page-feature-card,
    .solution-page-capability-row,
    .solution-page-service-card,
    .solution-page-benefit-item,
    .solution-page-testimonial {
        padding: 1.5rem;
    }

    .solution-page-capability-row__media,
    .solution-page-capability-row__image,
    .solution-page-capability-row__placeholder {
        min-height: 220px;
    }

    .solution-page-capability-row__content {
        display: block;
    }

    .solution-page-capability-row__index {
        display: inline-block;
        margin-bottom: 0.85rem;
    }

    .solution-page-testimonial__meta {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Reusable block: Who We Serve Section */
.who-we-serve-section {
    position: relative;
    overflow: hidden;
    padding: 5rem 0 4rem;
    background: linear-gradient(135deg, rgba(240, 247, 252, 0.96), rgba(225, 239, 250, 0.98));
}

.who-we-serve-section__media,
.who-we-serve-section__bg {
    position: absolute;
    inset: 0;
}

.who-we-serve-section__bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.who-we-serve-section .container {
    position: relative;
}

.who-we-serve-section__statement,
.who-we-serve-section__segments-wrap {
    position: relative;
    z-index: 1;
}

.who-we-serve-section__statement {
    max-width: 700px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.who-we-serve-section__statement-title {
    margin: 0;
    color: #0f2438;
    font-size: clamp(1.85rem, 2.1vw, 2.65rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.03em;
}

.who-we-serve-section__metrics-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1rem;
    margin-bottom: 2.75rem;
}

.who-we-serve-section__metric-card {
    padding: 1.4rem 1.15rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(10, 91, 145, 0.1);
    box-shadow: 0 18px 40px rgba(15, 36, 56, 0.08);
    text-align: center;
}

.who-we-serve-section__metric-value-wrap {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0.1rem;
    color: var(--blue-1);
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 800;
    line-height: 1;
}

.who-we-serve-section__metric-suffix {
    font-size: 0.8em;
}

.who-we-serve-section__metric-label {
    margin-top: 0.65rem;
    font-size: 0.96rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #526170;
}

.who-we-serve-section__segments-title {
    margin: 0 0 1.35rem;
    margin-bottom: 30px;
    color: #0f2438;
    font-size: clamp(1.85rem, 2.1vw, 2.65rem);
    font-weight: 700;
    text-align: center;
}

.who-we-serve-section__segments-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.who-we-serve-section__segment-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 170px;
    padding: 1.4rem 1.15rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid rgba(10, 91, 145, 0.1);
    box-shadow: 0 18px 40px rgba(15, 36, 56, 0.08);
    text-align: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.who-we-serve-section__segment-card:hover {
    transform: translateY(-4px);
    border-color: rgba(36, 160, 199, 0.4);
    box-shadow: 0 24px 50px rgba(15, 36, 56, 0.14);
}

.who-we-serve-section__segment-icon-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 0.9rem;
}

.who-we-serve-section__segment-icon {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.who-we-serve-section__segment-title {
    margin: 0;
    color: #0f2438;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
}

@media (max-width: 991px) {
    .who-we-serve-section {
        padding: 4rem 0 3.25rem;
    }

    .who-we-serve-section__statement {
        margin-bottom: 2rem;
    }

    .who-we-serve-section__metrics-grid {
        gap: 0.85rem;
        margin-bottom: 2.1rem;
    }
}

@media (max-width: 767px) {
    .who-we-serve-section {
        padding: 3.25rem 0 2.75rem;
    }

    .who-we-serve-section__metric-card,
    .who-we-serve-section__segment-card {
        padding: 1.15rem 1rem;
    }

    .who-we-serve-section__segment-card {
        min-height: 150px;
    }
}

#home-call-to-action {
    position: relative;
}

#header a {
    cursor: pointer;
}

.page-header.page-header-modern.page-header-background {
    background-position: center;
}

    .page-header.page-header-modern.page-header-background::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        color: red;
    }

#footer {
    background: linear-gradient(to right, var(--blue-2), var(--blue-1));
    border-top: 4px solid var(--blue-2);
    font-size: 0.9em;
    margin-top: 0;
    padding: 0;
    position: relative;
    clear: both;
}

footer .social-icons li a {
    height: 40px;
    line-height: 40px;
    width: 40px;
    text-decoration: none;
}

footer p, footer a {
    color: #fff !important
}

.header-logo, .header-logo img {
    height: 60px;
    width: 146.5px;
}

.header-logo {
    margin: 0 0 23px 0 !important;
    align-self: flex-end;
}

.sticky-header-active .header-logo {
    align-self: center;
    margin: 0 !important
}

    .sticky-header-active .header-logo img {
        height: 49px !important;
        width: auto;
    }

@media (min-width: 992px) {
    #header .header-nav.header-nav-links nav > ul > li > a, #header .header-nav.header-nav-links nav > ul > li:hover > a, #header .header-nav.header-nav-line nav > ul > li > a, #header .header-nav.header-nav-line nav > ul > li:hover > a {
        padding: 0 1.2rem;
    }
}

.page-header .captions {
    background-color: #ffffffbb;
    padding: 45px;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

.page-header h1 {
    font-size: 2.5rem !important;
}

.page-header h1, .page-header .sub-title {
    color: var(--blue-1)
}

.overlay.overlay-op-5:hover:before, .overlay.overlay-op-5.overlay-show:before, .overlay.overlay-op-5.show:before {
    opacity: 0.2;
}

.page-header.overlay.overlay-show::before {
    opacity: var(--opacity);
}

.feature-box.feature-box-style-2 .feature-box-icon [class*="fa-"], .feature-box.feature-box-style-2 .feature-box-icon .icons {
    color: inherit !important;
}

.bg-color-light-grey {
    background: #ddd
}

.feature-box .feature-box-icon {
    color: var(--blue-1);
    font-size: 40px;
    transform: translatey(-25px)
}

#footer-logo {
    width: 180px;
}

.bg-color-blue {
    background-color: var(--blue-1);
}

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

.header-nav-main-mobile-white {
    background-color: #fff;
}

@media (max-width: 991px) {
    html #header.header-transparent .header-body.bg-dark .header-nav-main:before, html #header.header-transparent .header-body.bg-color-dark .header-nav-main:before {
        background-color: #fff;
    }

    #header .header-nav-main.header-nav-main-mobile-dark nav > ul > li > a {
        color: #333;
    }

    main.header-nav-main-mobile-dark nav > ul > li > a {
        color: #fff;
    }

    #header .header-nav-main.header-nav-main-mobile-dark nav > ul li a:hover, #header .header-nav-main.header-nav-main-mobile-dark nav > ul li a:focus, #header .header-nav-main.header-nav-main-mobile-dark nav > ul li a:active {
        background-color: #fff;
    }

    #header .header-nav-main.header-nav-main-mobile-dark nav > ul li {
        border-bottom: 1px solid #ccc;
    }
}

/*=========================================================
  WOW BOOK
  =======================================================*/

.wowbook-lightbox {
    background: radial-gradient(closest-corner at center, #00000000, #00000033), url("../img/flip-book-light-box-bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right;
}

    .wowbook-lightbox > .wowbook-close, .wowbook-lightbox > .wowbook-close:focus {
        background: none;
        border: none;
        color: white;
        height: 2em;
        line-height: 1em;
        width: 2em;
        font-size: 2rem;
        outline: none;
        color: #333;
        opacity: .4;
        transition: opacity .3s ease;
    }

        .wowbook-lightbox > .wowbook-close:hover {
            opacity: .7;
        }

#book {
    /* box-shadow: 0 3px 7px 0 #00000066; */
}

.wowbook-controls, .wowbook-share-buttons, .wowbook-nav {
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 20%);
    /* background: #222; */
    background: linear-gradient(to bottom, #555, #333);
    background-repeat: repeat-x;
    color: white;
}

.heading.heading-middle-border h1, .heading.heading-middle-border h2, .heading.heading-middle-border h3, .heading.heading-middle-border h4, .heading.heading-middle-border h5, .heading.heading-middle-border h6 {
    position: relative;
    background: transparent;
    display: inline-block;
}

#show-book {
    display: inline-block;
    transition: all .3s ease-in-out
}

    #show-book:hover {
        transform: scale(1.1);
    }

/*=========================================================
  Timeline
  =======================================================*/

.slider-years .item {
    display: flex !important;
    align-items: center;
    --border-color: #aaa;
}

    .slider-years .item:focus {
        outline: none
    }

    .slider-years .item::before {
        content: "";
        flex: auto;
        border-bottom: 1px solid var(--border-color);
    }

    .slider-years .item::after {
        content: "";
        flex: auto;
        border-bottom: 1px solid var(--border-color);
    }

.slider-years .wrap {
    display: grid;
    grid-template: 15px auto/1fr 15px 1fr;
    grid-template-areas: "left-line circle right-line" "date date date";
    align-items: center;
    margin-top: 30px;
    gap: 5px 0;
}

    .slider-years .wrap::before, .slider-years .wrap::after {
        content: "";
        grid-area: "left-line";
        width: 100%;
        height: 1px;
        background-color: var(--border-color);
    }

    .slider-years .wrap::after {
        grid-area: "right-line";
    }

    .slider-years .wrap .circle {
        width: 15px;
        height: 15px;
        border: 2px solid var(--blue-1);
        border-radius: 50%;
        transition: all .3s ease
    }

.slider-years .date {
    margin: 0;
    grid-area: date;
    height: 24px;
}

.slider-years-wrap .slick-arrows-wrap {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    display: flex;
    justify-content: space-between;
    transform: translatey(-50%);
    background: linear-gradient(to right, #ffffff 0, #ffffff00 60px, #ffffff00 calc(100% - 60px), #ffffff 100%);
    pointer-events: none;
}

.slider-years-wrap .slick-arrow {
    font-size: 35px;
    transform: translatex(calc(-100% - 15px));
    cursor: pointer;
    color: #ccc;
    pointer-events: all;
}

.slider-years-wrap .slick-arrow-next {
    transform: translatex(calc(100% + 15px))
}

@media (max-width: 575px) {
    .slider-years-wrap .slick-arrow {
        transform: translatex(-100%);
    }

    .slider-years-wrap .slick-arrow-next {
        transform: translatex(100%);
    }
}

.slider-years .slick-current .circle {
    background-color: var(--blue-1)
}

/* slider events */

.slider-events {
    margin-top: 30px;
}

    .slider-events .slide {
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .slider-events .slide:focus {
            outline: none;
        }

        .slider-events .slide ul {
            list-style-type: none;
        }

.products-list > li {
    padding-left: 0;
    list-style-type: none;
    /* list-style-type: square; */
}

.products-list li i {
    font-size: 2em;
    color: var(--blue-1)
}

.products-list li li {
    list-style-type: square;
    margin-bottom: 0
}

    .products-list li li::marker {
        color: var(--blue-1);
        font-size: 1.5em;
    }

.products-list .list-title {
    font-weight: bold;
    margin-bottom: 15px;
    display: block
}

/*=========================================================
  success stories
  =======================================================*/

.success-stories-title {
    color: #26292D;
}

/*=========================================================
  article
  =======================================================*/

.title-style {
    margin-top: 50px;
    word-spacing: 7px;
    line-height: 5px;
}

.article-social-icons {
    margin-left: 15px;
    margin-right: 15px;
}

/*=========================================================
  culture
  =======================================================*/

.word-cloud {
    font-family: sans-serif;
    font-weight: bold;
    width: 100%;
    height: 650px;
}

/*=========================================================
  
  =======================================================*/

@media (min-width: 768px) {
    .fixed-height {
        height: 105px;
    }
}

/*=========================================================
  partners
  =======================================================*/

.social-icons:not(.social-icons-opacity-light):not(.social-icons-transparent):not(.social-icons-clean):not(.social-icons-clean-with-border):not(.social-icons-dark):not(.social-icons-dark-2):not(.custom-social-icons) li {
    box-shadow: 0 0px 0px 0 rgb(0 0 0 / 20%);
}

    .social-icons:not(.social-icons-opacity-light):not(.social-icons-transparent):not(.social-icons-clean):not(.social-icons-clean-with-border):not(.social-icons-dark):not(.social-icons-dark-2):not(.custom-social-icons) li a {
        background: #F0F0F0;
    }

/*=========================================================
  success stories
  =======================================================*/

blockquote {
    border-left: 13px solid #0A5B91;
}

/*=========================================================
  corporate social responsability
  =======================================================*/

.col-md-6.img-position {
    padding-left: unset;
    padding-right: unset;
    background-size: cover;
    margin: 0px;
}

.embed-responsive.embed-responsive-16by9 {
    height: 100%;
}

/*=========================================================
  news and events
  =======================================================*/

p.text-primary.news-text {
    margin: 0;
}

img.resize-image {
    width: 100%;
}

/*=========================================================
  products
  =======================================================*/

a.text-decoration-none.products-read-more {
    color: var(--blue-2) !important;
}

#header-2.stuck {
    position: fixed;
    top: 70px;
    width: 100%;
    z-index: 12;
    background-color: white !important;
}

    #header-2.stuck + .container {
        margin-top: 60px;
    }

@media (max-width:989px) {
    .feature-size {
        height: 260px;
    }
}

@media (max-width:640px) {
    .feature-size {
        height: 250px;
    }
}

.collapse.navbar-collapse.collapse-sticky-nav {
    display: contents;
}

/*=========================================================
     modules
  =======================================================*/

.col-md-6.text-right.padding-div {
    padding-right: 2px;
    padding-left: 2px;
}

.stickyy {
    position: -webkit-sticky;
    position: sticky;
    top: 94px;
    z-index: 1;
}

.padding-remove {
    padding: 0px !important;
}

section.page-header.section-page-header {
    margin: 0px;
    padding: 0px;
}

/*=========================================================
    CLIENT PORTAL
  =======================================================*/

.slider-screen-shot button.slick-prev.slick-arrow:before {
    color: #06436b;
    font-size: 30px;
}

.slider-screen-shot button.slick-next.slick-arrow:before {
    color: #06436b;
    font-size: 30px;
}

.button.slick-prev.slick-arrow {
    left: 60px;
}

.button.slick-next.slick-arrow {
    right: 60px;
}

element.style {
    top: 0;
    bottom: 0;
    right: 10px;
    left: 10px;
}

.position-absolute.d-flex.align-content-center.align-items-center {
    z-index: 4;
}

.slick-list.draggable.justify-content-center {
    padding: 0px 0px !important;
}

@media (max-width:640px) {
    .image_section img:first-child {
        display: none;
    }
}

.laptop-mask {
    left: 50%;
    transform: translatex(-50%);
    pointer-events: none;
    position: absolute;
    top: 27px;
    width: 1015px;
    z-index: 1;
}

.laptop-slider-wrap {
    height: 500px
}

@media (max-width: 1674px) {
    .laptop-mask {
        /* top: 53px; */
        width: 1015px;
    }
}

@media (max-width: 1193px) {
    .laptop-mask {
        top: 33px;
        width: 780px;
    }

    .laptop-slider-wrap {
        height: 400px
    }
}

@media (max-width: 992px) {
    .laptop-mask {
        top: 44px;
        width: 470px;
    }

    .laptop-slider-wrap {
        height: 300px
    }
}

@media (max-width: 774px) {
    .laptop-mask {
        display: none;
    }

    .laptop-slider-wrap {
        height: 300px
    }
}

@media (max-width: 767px) {
    .laptop-mask {
        display: none;
    }

    .laptop-slider-wrap {
        height: 250px
    }

    .laptop-slider {
        margin: 0 !important;
        padding: 0 !important;
    }
}

@media (max-width: 425px) {
    .laptop-mask {
        display: none;
    }

    .laptop-slider-wrap {
        height: 190px
    }

    .laptop-slider {
        margin: 0 !important;
        padding: 0 !important;
    }
}

/*=========================================================
   learnning comminity 
  =======================================================*/

i.fas.fa-size {
    font-size: 8em !important;
}

button {
    font-weight: bold;
}

.image_section img {
    display: block;
}

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

.mobile-slider-wrap {
    height: 1000px
}

.mobile-mask {
    left: 50%;
    transform: translatex(-50%);
    pointer-events: none;
    position: absolute;
    top: 47px;
    width: 224px;
    z-index: 1;
}

.mobile-slider-wrap .slick-slide {
    transition: all .3s ease;
}

    .mobile-slider-wrap .slick-slide.slick-active.slick-center {
        opacity: 1;
    }

    .mobile-slider-wrap .slick-slide.slick-active:not(.slick-center) {
        opacity: .5;
    }

    .mobile-slider-wrap .slick-slide:not(.slick-active) {
        opacity: .2;
    }

@media (max-width: 1199px) {
    .mobile-mask {
        top: 53px;
        width: 155px;
    }
}

@media (max-width: 991px) {
    .mobile-mask {
        top: 55px;
        width: 94px;
    }
}

@media (max-width: 767px) {
    .mobile-mask {
        top: 20px;
        width: 308px;
    }
}

@media (max-width: 574px) {
    .mobile-mask {
        /* top: 20px; */
        width: 320px;
    }

    .screen-mobile {
        display: none;
    }
}

.btn-hover:hover {
    background-color: #06436b !important;
    color: #fff !important;
}

#header-2 .dropdown-item {
    background-color: transparent;
}

    #header-2 .dropdown-item i {
        opacity: 0;
        transform: translatex(-10px);
        transition: all .3s .05s;
    }

    #header-2 .dropdown-item span {
        transform: translatex(-20px);
        display: inline-block;
        transition: all .3s;
    }

    #header-2 .dropdown-item:hover i {
        opacity: 1;
        transform: translatex(10px);
        -webkit-margin-start: 0px;
        margin-inline-start: 0px;
    }

    #header-2 .dropdown-item:hover span {
        transform: translatex(0);a
    }

@media (min-width: 992px) {
    #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a {
        border-bottom: unset;
        color: #777;
        font-size: 1em;
        font-weight: 400;
        padding: unset;
        position: relative;
        text-transform: none;
        letter-spacing: unset;
    }

        #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a:hover {
            text-decoration: none;
        }
}

#msg-from-our-ceo {
    background: url(/media/1194/sami-slim-resized.jpg) #c7c5ca;
    --opacity: .10;
    background-position: right top !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

    #msg-from-our-ceo > div {
        width: 65%;
    }

#msg-from-our-ceo-2 {
    background: url(../media/1142/jamal-anouti.png) #7b7a7a no-repeat right top/contain;
    --opacity: .10
}

    #msg-from-our-ceo-2 > div {
        width: 1300px !important;
    }

@media (max-width: 1340px) {
    #msg-from-our-ceo {
        background-position: center right -120px !important;
    }
}

@media (max-width: 1700px) {
    #msg-from-our-ceo-2 > div {
        width: 1000px !important;
    }
}

@media (max-width: 1400px) {
    #msg-from-our-ceo-2 > div {
        width: 800px !important;
    }
}

@media (max-width: 1200px) {
    #msg-from-our-ceo-2 > div {
        width: 600px !important;
    }
}

@media (max-width: 960px) {
    #msg-from-our-ceo {
        background-position: center !important;
        background-size: cover !important;
    }

        #msg-from-our-ceo > div {
            width: auto !important;
        }

    #msg-from-our-ceo-2 {
        background-size: cover !important;
        background-position: center !important;
    }

        #msg-from-our-ceo-2 > div {
            width: auto !important;
        }
}

.dropdown-mega .dropdown-menu {
    max-height: calc(100vh - 80px);
    overflow: auto;
}

#spopupCont .credit{
    display:none
}

/* =========================================
    PRIVACY POLICY 
    ========================================= */

.privacy-policy {
    background-image: linear-gradient(to right, var(--blue-2), #9b1a1ece) !important;
}

/* =============================================
TEAM
================================== */

.thumb-info-caption .thumb-info-caption-text, .thumb-info-caption p {
    font-size: 0.9em;
    margin: 0;
    padding: 15px 0;
    display: block;
    /* /* height: 230px; */
}

.nav-tab-team > li.active > a, .nav-tab-team .nav-link.active {
    background-color: var(--blue-2) !important;
}

.nav-tab-team .nav-link.active {
    background-color: transparent;
}

.nav-tab-team .nav-link.active, .nav-tab-team .show > .nav-link {
    color: #fff;
    background-color: #007bff !important;
}

ul.nav-tab-team > li > a.active {
    color: #FFF;
    background-color: #CCC;
}

#team.tab-content {
    border: 0px !important;
    box-shadow: none;
}

.title-letter-spacing {
    letter-spacing: 5px;
}

.btn-request-demo {
    margin-top: 0 !important;
}

.title-slider {
    letter-spacing: 1px;
}

.letter-spacing-0 {
    letter-spacing: 0 !important;
}

/* =============================================
Modified KAITOO
================================== */

.fixed-width {
    width: 140px;
    margin: auto;
}

/* =============================
home page 
=================== */

.testimonial.testimonial-style-2 .testimonial-author img {
    margin: 0 auto 15px;
    max-width: 150px;
    max-height: 150px;
}

@media (min-width: 992px) {
    #header .header-nav-main nav > ul > li.dropdown-mega .dropdown-mega-content {
        padding: 1rem;
        padding-bottom: 0px;
    }
}


.p-header {
    color: #777;
    line-height: 1.4;
    font-size: 15px;
}

.h4-header {
    line-height: 1.4;
}

/* Block: Feature Item — inline SVG (iconSvg) sizing matches 60px-wide image icons */
.feature-item-icon-svg-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: visible;
    box-sizing: border-box;
    padding: 2px 6px;
}

.feature-item-icon-svg-wrap svg {
    width: 60px;
    max-width: none;
    height: auto;
    flex-shrink: 0;
    display: block;
    overflow: visible;
}

.featured-boxes-style-4 .featured-box:has(.feature-item-icon-svg-wrap),
.featured-boxes-style-4 .featured-box .box-content:has(.feature-item-icon-svg-wrap) {
    overflow: visible;
}

.featured-boxes-style-4.row > [class*="col-"]:has(.feature-item-icon-svg-wrap) {
    overflow: visible;
}

/* Icon grid: center copy under inline SVG so it lines up with the icon */
.featured-boxes-style-4 .featured-box .box-content:has(.feature-item-icon-svg-wrap) {
    text-align: center;
}
