﻿:root {
    --bg-color-1: rgb(255, 255, 255);
    --bg-color-2: rgb(15, 23, 42);
    --bg-color-3: rgb(39, 161, 185);
    --bg-color-4: rgb(81, 101, 127);
    --bg-color-5: rgb(248, 250, 252);
    --bg-color-6: rgb(100, 116, 139);
    --bg-color-7: rgb(3, 8, 20);
    --bg-color-8: rgb(137, 154, 185);
    --bg-color-9: rgb(2, 6, 23);
    --section-container-max-width: 1280px;
    --section-container-padding-x: 36px;
    --section-container-padding-x-tablet: 24px;
    --section-container-padding-x-mobile: 16px;
    --section-grid-gap: 32px;
    --section-grid-gap-tablet: 28px;
    --section-grid-gap-mobile: 20px;
    --section-stack-gap: clamp(24px, 3vw, 40px);
    --section-stack-gap-mobile: 18px;
    --section-column-space: 40px;
    --section-column-space-mobile: 24px;
    --section-text-dark: rgb(15, 23, 42);
    --section-text-muted: rgb(81, 101, 127);
    --section-text-light: rgb(255, 255, 255);
    --section-link-color: rgb(39, 161, 185);
    --section-link-hover-color: rgb(1, 123, 176);
}

/*
 * "Roboto" is registered directly (no PrimaryFont-style proprietary alias layer)
 * with one real static face per weight actually used across the site, so
 * every font-weight value below always resolves to a true Roboto face --
 * never the browser's synthetic/faux-bold.
 */
@font-face {
    font-family: "Roboto";
    src: url("/fonts/Roboto/Roboto-Light.woff2") format("woff2");
    font-weight: 300;
    font-display: block;
}

@font-face {
    font-family: "Roboto";
    src: url("/fonts/Roboto/Roboto-Regular.woff2") format("woff2");
    font-weight: 400;
    font-display: block;
}

@font-face {
    font-family: "Roboto";
    src: url("/fonts/Roboto/Roboto-Medium.woff2") format("woff2");
    font-weight: 500;
    font-display: block;
}

@font-face {
    font-family: "Roboto";
    src: url("/fonts/Roboto/Roboto-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-display: block;
}

@font-face {
    font-family: "Roboto";
    src: url("/fonts/Roboto/Roboto-Bold.woff2") format("woff2");
    font-weight: 700;
    font-display: block;
}

@font-face {
    font-family: "Roboto";
    src: url("/fonts/Roboto/Roboto-Italic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: block;
}

.frontend-app {
    font-family: "Roboto", sans-serif;
    color: var(--section-text-dark);
}

    .frontend-app p {
        margin-top: 0;
        font-family: "Roboto", sans-serif !important;
        font-size: clamp(15px, 1.15vw, 18px);
        line-height: 1.7;
        /*
         * Roboto's default tracking is noticeably tighter than the previous
         * Gotham Rounded body face, which reads as visually denser/bolder at
         * the same font-weight. A touch of positive letter-spacing restores
         * the original breathing room between characters.
         */
        letter-spacing: 0.012em;
        text-align: left;
        color: inherit;
    }

        .frontend-app p.p-strong-only strong {
            font-family: "Roboto", sans-serif !important;
            font-weight: 500 !important;
        }

    .frontend-app h1,
    .frontend-app h2,
    .frontend-app h3,
    .frontend-app h4,
    .frontend-app h5,
    .frontend-app h6 {
        margin-top: 0;
        margin-bottom: 0;
        font-family: "Roboto", sans-serif;
        font-weight: 500;
        color: var(--section-text-dark);
    }

    .frontend-app h1 {
        font-size: clamp(34px, 4vw, 52px);
        line-height: 1.08;
        letter-spacing: -0.035em;
    }

    .frontend-app h2 {
        font-size: clamp(24px, 2.2vw, 32px);
        line-height: 1.2;
        font-weight: 500;
        letter-spacing: -0.02em;
        text-transform: none;
        color: var(--section-text-dark);
    }

    .frontend-app h3 {
        font-size: clamp(21px, 1.9vw, 28px);
        line-height: 1.24;
        letter-spacing: -0.018em;
        font-weight: 500;
        color: inherit;
    }

    .frontend-app h4 {
        font-size: clamp(18px, 1.45vw, 22px);
        line-height: 1.3;
        font-weight: 500;
        letter-spacing: 0;
        text-transform: none;
        color: inherit;
    }

    .frontend-app h5 {
        font-size: clamp(16px, 1.15vw, 18px);
        line-height: 1.32;
        font-weight: 500;
    }

    .frontend-app h6 {
        font-size: clamp(14px, 0.98vw, 16px);
        line-height: 1.35;
        font-weight: 500;
    }

    .frontend-app .heading-primary,
    .frontend-app h2.heading-primary,
    .frontend-app h3.heading-primary {
        font-family: "Roboto", sans-serif !important;
        font-size: clamp(24px, 2.2vw, 32px) !important;
        line-height: 1.2 !important;
        letter-spacing: -0.02em !important;
        color: var(--section-text-dark) !important;
        font-weight: 500 !important;
        text-transform: none !important;
    }

    .frontend-app .heading-light,
    .frontend-app h2.heading-light,
    .frontend-app h3.heading-light {
        font-family: "Roboto", sans-serif !important;
        font-size: clamp(24px, 2.2vw, 32px) !important;
        line-height: 1.2 !important;
        letter-spacing: -0.02em !important;
        color: var(--section-text-light) !important;
        font-weight: 500 !important;
        text-transform: none !important;
    }

    .frontend-app .eyebrow-heading,
    .frontend-app h4.eyebrow-heading,
    .frontend-app h5.eyebrow-heading,
    .frontend-app h6.eyebrow-heading {
        font-family: "Roboto", sans-serif !important;
        font-size: clamp(13px, 1vw, 15px) !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
        letter-spacing: 0.24em !important;
        text-transform: uppercase !important;
        color: var(--bg-color-3) !important;
    }

.frontend-app .text-primary,
.frontend-app p.text-primary,
.frontend-app .p-primary {
    color: var(--section-link-color) !important;
    font-family: "Roboto", sans-serif !important;
    font-weight: 500 !important;
}

.frontend-app .mks-left-inner {
    max-width: 560px;
}

.frontend-app .mks-eyebrow {
    margin: 0 0 12px !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.26em !important;
    text-transform: uppercase;
    color: var(--section-link-color) !important;
}

.frontend-app .mks-title,
.frontend-app h2.mks-title,
.frontend-app h4.mks-title {
    margin: 0 0 18px !important;
    font-family: "Roboto", sans-serif !important;
    font-size: clamp(24px, 2.3vw, 32px) !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    color: var(--section-text-dark) !important;
    text-transform: none !important;
}

.frontend-app .mks-description {
    margin: 0;
    font-family: "Roboto", sans-serif !important;
    font-size: clamp(16px, 1.2vw, 18px) !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    color: var(--section-text-muted) !important;
}

.frontend-app .mks-description-secondary {
    margin-top: 16px !important;
    opacity: 1 !important;
}

.frontend-app .mks-card-inner {
    border-radius: 8px !important;
}

.frontend-app .mks-stat-label,
.frontend-app h2.mks-stat-label,
.frontend-app h3.mks-stat-label,
.frontend-app h4.mks-stat-label {
    margin: 0 0 8px !important;
    font-family: "Roboto", sans-serif !important;
    font-size: clamp(24px, 2.15vw, 32px) !important;
    line-height: 1.18 !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
    color: var(--section-text-dark) !important;
}

.frontend-app .mks-stat-value {
    margin-top: 0 !important;
    font-family: "Roboto", sans-serif !important;
    font-size: clamp(14px, 1vw, 16px) !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    color: #2f537f !important;
}

.frontend-app .mks-stat-desc {
    margin-top: 16px !important;
    max-width: 14ch;
    font-family: "Roboto", sans-serif !important;
    font-size: clamp(16px, 1.2vw, 18px) !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    color: var(--section-text-muted) !important;
}

.frontend-app .mks-stat:hover .mks-stat-value {
    transform: none !important;
    color: #2f537f !important;
}

    .frontend-app .free-content-text a {
        color: var(--section-link-color) !important;
        transition: color 0.2s ease-in-out;
    }

        .frontend-app .free-content-text a:hover {
            color: var(--section-link-hover-color) !important;
        }

    .frontend-app .client-section {
        position: relative;
        width: 100%;
        overflow: hidden;
        background-color: transparent;
    }

    .frontend-app .client-section-container {
        position: relative;
        z-index: 2;
        width: 100%;
        box-sizing: border-box;
    }


    .frontend-app .client-section.has-slider-standard {
        width: 100vw;
        max-width: none;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        overflow: hidden;
    }

        .frontend-app .client-section.has-slider-standard .client-section-container,
        .frontend-app .client-section.has-slider-standard .mks-section-wrapper,
        .frontend-app .client-section.has-slider-standard .mks-content-container,
        .frontend-app .client-section.has-slider-standard .free-style-default,
        .frontend-app .client-section.has-slider-standard .section-container,
        .frontend-app .client-section.has-slider-standard .section-container-fluid,
        .frontend-app .client-section.has-slider-standard .container {
            width: 100% !important;
            max-width: none !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .frontend-app .client-section.has-slider-standard .row {
            margin-left: 0 !important;
            margin-right: 0 !important;
            --bs-gutter-x: 0 !important;
        }

            .frontend-app .client-section.has-slider-standard .row > * {
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

        .frontend-app .client-section.has-slider-standard .container-column {
            margin-top: 0 !important;
            margin-bottom: 0 !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .frontend-app .client-section.has-slider-standard .carousel,
        .frontend-app .client-section.has-slider-standard .carousel-inner,
        .frontend-app .client-section.has-slider-standard .carousel-item,
        .frontend-app .client-section.has-slider-standard .swiper,
        .frontend-app .client-section.has-slider-standard .swiper-wrapper,
        .frontend-app .client-section.has-slider-standard .swiper-slide,
        .frontend-app .client-section.has-slider-standard .slider,
        .frontend-app .client-section.has-slider-standard .slider-wrapper,
        .frontend-app .client-section.has-slider-standard .slider-item {
            width: 100% !important;
            max-width: none !important;
        }

        .frontend-app .client-section.has-slider-standard .carousel-item,
        .frontend-app .client-section.has-slider-standard .swiper-slide,
        .frontend-app .client-section.has-slider-standard .slider-item {
            min-height: calc(100vh - 120px);
        }

        .frontend-app .client-section.has-slider-standard img,
        .frontend-app .client-section.has-slider-standard video {
            max-width: none;
        }

    .frontend-app .section-container {
        max-width: var(--section-container-max-width);
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: var(--section-container-padding-x);
        padding-right: var(--section-container-padding-x);
    }

    .frontend-app .section-container-fluid {
        width: 100%;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        padding-left: var(--section-container-padding-x);
        padding-right: var(--section-container-padding-x);
    }

    .frontend-app .section-grid {
        display: grid;
        width: 100%;
        gap: var(--section-grid-gap);
        box-sizing: border-box;
    }

    .frontend-app .grid-cols-1 {
        grid-template-columns: minmax(0, 1fr);
    }

    .frontend-app .container-column {
        min-width: 0;
        width: 100%;
        box-sizing: border-box;
    }

    .frontend-app .section-module-stack {
        display: flex;
        flex-direction: column;
        gap: clamp(20px, 3vw, 40px);
    }

    .frontend-app .section-module-item {
        width: 100%;
        min-width: 0;
    }

        .frontend-app .section-module-item > * {
            width: 100%;
        }

    .frontend-app .section-module-item-full {
        width: 100%;
        max-width: none;
    }

        .frontend-app .section-module-item-full > * {
            width: 100%;
            max-width: none;
        }

        .frontend-app .section-module-item-full .free-style-default,
        .frontend-app .section-module-item-full .free-style-default > .w-full,
        .frontend-app .section-module-item-full .h-full {
            width: 100%;
            max-width: none;
        }

        .frontend-app .section-module-item-full .mks-hosting-hero {
            width: 100%;
            max-width: none;
        }

    .frontend-app .client-section.has-slider-standard .section-module-stack {
        gap: 0;
    }

    .frontend-app .client-section.has-form .section-module-stack {
        gap: clamp(20px, 3vw, 40px);
    }

@media only screen and (min-width: 768px) {
    .frontend-app .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .frontend-app .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .frontend-app .md\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .frontend-app .md\:col-span-4 {
        grid-column: span 4 / span 4;
    }

    .frontend-app .md\:col-span-8 {
        grid-column: span 8 / span 8;
    }
}

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

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

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

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

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

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

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

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

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

.frontend-app .client-section.bg-color-1 {
    background-color: var(--bg-color-1) !important;
}

.frontend-app .client-section.bg-color-2 {
    background-color: var(--bg-color-2) !important;
}

.frontend-app .client-section.bg-color-3 {
    background-color: var(--bg-color-3) !important;
}

.frontend-app .client-section.bg-color-4 {
    background-color: var(--bg-color-4) !important;
}

.frontend-app .client-section.bg-color-5 {
    background-color: var(--bg-color-5) !important;
}

.frontend-app .client-section.bg-color-6 {
    background-color: var(--bg-color-6) !important;
}

.frontend-app .client-section.bg-color-7 {
    background-color: var(--bg-color-7) !important;
}

.frontend-app .client-section.bg-color-8 {
    background-color: var(--bg-color-8) !important;
}

.frontend-app .client-section.bg-color-9 {
    background-color: var(--bg-color-9) !important;
}

.frontend-app .client-section.bg-color-1,
.frontend-app .client-section.bg-color-5 {
    color: var(--section-text-dark);
}

    .frontend-app .client-section.bg-color-1 p,
    .frontend-app .client-section.bg-color-1 span,
    .frontend-app .client-section.bg-color-1 li,
    .frontend-app .client-section.bg-color-5 p,
    .frontend-app .client-section.bg-color-5 span,
    .frontend-app .client-section.bg-color-5 li {
        color: var(--section-text-muted);
    }

    .frontend-app .client-section.bg-color-1 h1,
    .frontend-app .client-section.bg-color-1 h2,
    .frontend-app .client-section.bg-color-1 h3,
    .frontend-app .client-section.bg-color-1 h4,
    .frontend-app .client-section.bg-color-1 h5,
    .frontend-app .client-section.bg-color-1 h6,
    .frontend-app .client-section.bg-color-5 h1,
    .frontend-app .client-section.bg-color-5 h2,
    .frontend-app .client-section.bg-color-5 h3,
    .frontend-app .client-section.bg-color-5 h4,
    .frontend-app .client-section.bg-color-5 h5,
    .frontend-app .client-section.bg-color-5 h6 {
        color: var(--section-text-dark);
    }

.frontend-app .client-section.bg-color-2,
.frontend-app .client-section.bg-color-7,
.frontend-app .client-section.bg-color-9 {
    color: var(--section-text-light);
}

    .frontend-app .client-section.bg-color-2 > .client-section-container,
    .frontend-app .client-section.bg-color-7 > .client-section-container,
    .frontend-app .client-section.bg-color-9 > .client-section-container {
        color: var(--section-text-light);
        background-color: transparent;
    }

    .frontend-app .client-section.bg-color-2 .container-column > h1,
    .frontend-app .client-section.bg-color-2 .container-column > h2,
    .frontend-app .client-section.bg-color-2 .container-column > h3,
    .frontend-app .client-section.bg-color-2 .container-column > h4,
    .frontend-app .client-section.bg-color-2 .container-column > h5,
    .frontend-app .client-section.bg-color-2 .container-column > h6,
    .frontend-app .client-section.bg-color-2 .container-column > p,
    .frontend-app .client-section.bg-color-2 .container-column > span,
    .frontend-app .client-section.bg-color-2 .container-column > a,
    .frontend-app .client-section.bg-color-2 .container-column > ul,
    .frontend-app .client-section.bg-color-2 .container-column > ol,
    .frontend-app .client-section.bg-color-7 .container-column > h1,
    .frontend-app .client-section.bg-color-7 .container-column > h2,
    .frontend-app .client-section.bg-color-7 .container-column > h3,
    .frontend-app .client-section.bg-color-7 .container-column > h4,
    .frontend-app .client-section.bg-color-7 .container-column > h5,
    .frontend-app .client-section.bg-color-7 .container-column > h6,
    .frontend-app .client-section.bg-color-7 .container-column > p,
    .frontend-app .client-section.bg-color-7 .container-column > span,
    .frontend-app .client-section.bg-color-7 .container-column > a,
    .frontend-app .client-section.bg-color-7 .container-column > ul,
    .frontend-app .client-section.bg-color-7 .container-column > ol,
    .frontend-app .client-section.bg-color-9 .container-column > h1,
    .frontend-app .client-section.bg-color-9 .container-column > h2,
    .frontend-app .client-section.bg-color-9 .container-column > h3,
    .frontend-app .client-section.bg-color-9 .container-column > h4,
    .frontend-app .client-section.bg-color-9 .container-column > h5,
    .frontend-app .client-section.bg-color-9 .container-column > h6,
    .frontend-app .client-section.bg-color-9 .container-column > p,
    .frontend-app .client-section.bg-color-9 .container-column > span,
    .frontend-app .client-section.bg-color-9 .container-column > a,
    .frontend-app .client-section.bg-color-9 .container-column > ul,
    .frontend-app .client-section.bg-color-9 .container-column > ol {
        color: var(--section-text-light);
    }

.frontend-app .client-section.bg-color-3,
.frontend-app .client-section.bg-color-4,
.frontend-app .client-section.bg-color-6,
.frontend-app .client-section.bg-color-8 {
    color: var(--section-text-dark);
}

.frontend-app .client-section .mks-section-wrapper,
.frontend-app .client-section .mks-content-container,
.frontend-app .client-section .section-module-item,
.frontend-app .client-section .free-style-default,
.frontend-app .client-section .free-style-default > .w-full,
.frontend-app .client-section .h-full {
    width: 100%;
    height: auto;
    background-color: inherit;
}

.frontend-app .client-section.has-background {
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

    .frontend-app .client-section.has-background::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: rgba(2, 11, 45, 0.58);
        pointer-events: none;
    }

    .frontend-app .client-section.has-background .client-section-container {
        position: relative;
        z-index: 2;
    }

    .frontend-app .client-section.has-background h1,
    .frontend-app .client-section.has-background h2,
    .frontend-app .client-section.has-background h3,
    .frontend-app .client-section.has-background h4,
    .frontend-app .client-section.has-background h5,
    .frontend-app .client-section.has-background h6,
    .frontend-app .client-section.has-background p,
    .frontend-app .client-section.has-background span,
    .frontend-app .client-section.has-background li,
    .frontend-app .client-section.has-background a {
        color: var(--section-text-light) !important;
    }

.section-pt-0 {
    padding-top: 0;
}

.section-pt-1 {
    padding-top: 4px;
}

.section-pt-2 {
    padding-top: 8px;
}

.section-pt-3 {
    padding-top: 12px;
}

.section-pt-4 {
    padding-top: 16px;
}

.section-pt-5 {
    padding-top: 20px;
}

.section-pt-6 {
    padding-top: 24px;
}

.section-pt-7 {
    padding-top: 28px;
}

.section-pt-8 {
    padding-top: 32px;
}

.section-pt-9 {
    padding-top: 36px;
}

.section-pt-10 {
    padding-top: 40px;
}

.section-pt-11 {
    padding-top: 44px;
}

.section-pt-12 {
    padding-top: 48px;
}

.section-pb-0 {
    padding-bottom: 0;
}

.section-pb-1 {
    padding-bottom: 4px;
}

.section-pb-2 {
    padding-bottom: 8px;
}

.section-pb-3 {
    padding-bottom: 12px;
}

.section-pb-4 {
    padding-bottom: 16px;
}

.section-pb-5 {
    padding-bottom: 20px;
}

.section-pb-6 {
    padding-bottom: 24px;
}

.section-pb-7 {
    padding-bottom: 28px;
}

.section-pb-8 {
    padding-bottom: 32px;
}

.section-pb-9 {
    padding-bottom: 36px;
}

.section-pb-10 {
    padding-bottom: 40px;
}

.section-pb-11 {
    padding-bottom: 44px;
}

.section-pb-12 {
    padding-bottom: 48px;
}

.style-1,
.style-2,
.style-3,
.style-4,
.style-5,
.style-6,
.style-7,
.style-8 {
}

.row-eq-height {
    display: flex !important;
}

.frontend-app .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x) * -0.5);
    margin-left: calc(var(--bs-gutter-x) * -0.5);
}

    .frontend-app .row > * {
        flex-shrink: 0;
        width: 100%;
        max-width: 100%;
        padding-right: calc(var(--bs-gutter-x) * 0.5);
        padding-left: calc(var(--bs-gutter-x) * 0.5);
        margin-top: var(--bs-gutter-y);
    }

.loading-wrapper {
    width: 100vw;
    height: 110vh;
    background: rgba(26, 26, 39, 0.5);
    position: fixed;
    z-index: 1001;
}

    .loading-wrapper.cursor-enabled {
        cursor: url("/Content/Images/cursor-close.svg") 20 20, pointer;
    }

.success-message.flex,
.error-message.flex {
    align-items: center;
}

.ds-none {
    display: none !important;
}

.frontend-app .client-section.has-form .container-column {
    margin-top: 65px;
    margin-bottom: 65px;
}

.frontend-app .client-section:not(.has-slider-standard):not(.has-form) .container-column {
    margin-top: var(--section-column-space);
    margin-bottom: var(--section-column-space);
}

.frontend-app .free-style-1 h2 {
    margin-bottom: 50px;
}

.footer,
.site-footer,
.main-footer {
    color: rgb(81, 101, 127) !important;
}

    .footer p,
    .footer span,
    .footer li,
    .footer a,
    .site-footer p,
    .site-footer span,
    .site-footer li,
    .site-footer a,
    .main-footer p,
    .main-footer span,
    .main-footer li,
    .main-footer a {
        color: rgb(81, 101, 127) !important;
    }

    .footer h1,
    .footer h2,
    .footer h3,
    .footer h4,
    .footer h5,
    .footer h6,
    .site-footer h1,
    .site-footer h2,
    .site-footer h3,
    .site-footer h4,
    .site-footer h5,
    .site-footer h6,
    .main-footer h1,
    .main-footer h2,
    .main-footer h3,
    .main-footer h4,
    .main-footer h5,
    .main-footer h6 {
        color: rgb(15, 23, 42) !important;
    }

    .footer a:hover,
    .site-footer a:hover,
    .main-footer a:hover {
        color: rgb(39, 161, 185) !important;
    }

    .footer ::selection,
    .site-footer ::selection,
    .main-footer ::selection {
        background-color: rgba(39, 161, 185, 0.18);
        color: rgb(15, 23, 42);
    }

.frontend-app .footer,
.frontend-app .site-footer,
.frontend-app .main-footer,
.frontend-app .footer-shell,
.frontend-app .footer-main-grid,
.frontend-app .footer-card,
.frontend-app .footer-contact-list,
.frontend-app .footer-contact-item,
.frontend-app .footer-bottom,
.frontend-app .footer-bottom-left,
.frontend-app .footer-rights,
.frontend-app .footer-social-icons,
.frontend-app .footer-modules-extra {
    text-align: left !important;
}

.frontend-app .footer-contact-list,
.frontend-app .footer-social-icons {
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

.frontend-app .footer-rights {
    align-items: flex-start !important;
}

.frontend-app .footer-detail {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.frontend-app .footer :where(h1, h2, h3, h4, h5, h6),
.frontend-app .site-footer :where(h1, h2, h3, h4, h5, h6),
.frontend-app .main-footer :where(h1, h2, h3, h4, h5, h6) {
    text-align: left !important;
}

.frontend-app .footer h2,
.frontend-app .footer h3,
.frontend-app .footer h4,
.frontend-app .footer h5,
.frontend-app .footer h6 {
    margin: 0 0 16px;
    line-height: 1.1;
}

.frontend-app .footer .footer-card-title,
.frontend-app .footer h2.footer-card-title,
.frontend-app .footer h3.footer-card-title {
    margin: 0 0 16px;
    font-size: clamp(22px, 2.2vw, 34px) !important;
    line-height: 1.1;
    font-weight: 500 !important;
    letter-spacing: -0.03em;
    text-transform: none !important;
    color: rgb(15, 23, 42) !important;
}

.frontend-app .footer .footer-contact-label,
.frontend-app .footer h3.footer-contact-label,
.frontend-app .footer h4.footer-contact-label,
.frontend-app .footer h5.footer-contact-label,
.frontend-app .footer h6.footer-contact-label {
    display: block;
    margin: 0 0 4px;
    font-family: "Roboto", sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.35;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgb(15, 23, 42) !important;
}

.frontend-app .footer .footer-contact-value,
.frontend-app .footer .footer-contact-value a,
.frontend-app .footer p.footer-contact-value,
.frontend-app .footer address.footer-contact-value {
    margin: 0;
    font-size: clamp(14px, 1vw, 17px);
    line-height: 1.55;
}

.frontend-app .footer .footer-ip-value,
.frontend-app .footer p.footer-ip-value,
.frontend-app .footer span.footer-ip-value {
    color: rgb(15, 23, 42) !important;
    font-family: "Roboto", sans-serif !important;
    font-weight: 500 !important;
    font-size: clamp(16px, 1.1vw, 18px) !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    word-break: break-word;
}

.frontend-app .footer .footer-contact-item > :last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 1200px) {
    .frontend-app .container {
        max-width: 1295px;
        width: 100%;
    }

    .frontend-app .design-block:not(.background-listas, .background-img, .card-submenus) {
        margin: 60px 0;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .frontend-app .container {
        max-width: 1040px;
        width: 100%;
        padding: 0 95px;
    }

    .frontend-app .section-container,
    .frontend-app .section-container-fluid {
        padding-left: var(--section-container-padding-x-tablet);
        padding-right: var(--section-container-padding-x-tablet);
    }

    .frontend-app .section-grid {
        gap: var(--section-grid-gap-tablet);
    }

    .frontend-app .design-block {
        margin: 30px 0;
    }

    .frontend-app .client-section:not(.has-slider-standard):not(.has-form) .container-column {
        margin-top: 80px;
    }

    .frontend-app .client-section-container.has-background {
        margin-top: 80px;
    }

    .frontend-app .client-section:not(.has-form) .client-section-container.has-background .container-column {
        margin-top: 80px;
        margin-bottom: 80px;
    }
}

@media only screen and (max-width: 767px) {
    .frontend-app h1 {
        font-size: clamp(38px, 11vw, 52px);
    }

    .frontend-app h3 {
        font-size: clamp(32px, 9vw, 42px);
    }

    .frontend-app .row {
        --bs-gutter-x: 0 !important;
    }

    .frontend-app .container {
        max-width: 540px !important;
        width: 100%;
        padding: 0 10px !important;
    }

    .frontend-app .section-container,
    .frontend-app .section-container-fluid {
        padding-left: var(--section-container-padding-x-mobile);
        padding-right: var(--section-container-padding-x-mobile);
    }

    .frontend-app .section-grid {
        gap: var(--section-grid-gap-mobile);
    }

    .frontend-app .design-block {
        margin: 15px 0 !important;
    }

    .frontend-app .section-module-stack {
        gap: var(--section-stack-gap-mobile);
    }

    .frontend-app .client-section:not(.has-slider-standard):not(.has-form) .container-column {
        margin-top: var(--section-column-space-mobile);
        margin-bottom: var(--section-column-space-mobile);
    }

    .frontend-app .client-section.has-form .container-column {
        margin-top: 32px;
        margin-bottom: 32px;
    }
}

@media only screen and (max-width: 768px) {
    .frontend-app .client-section.has-form .client-section-container.has-background {
        margin-top: 60px;
        margin-bottom: 60px;
    }
}

.frontend-app .text-center,
.frontend-app .content-center,
.frontend-app .section-text-center {
    text-align: center;
}

    .frontend-app .text-center p,
    .frontend-app .content-center p,
    .frontend-app .section-text-center p {
        text-align: center;
    }


@media only screen and (max-width: 767px) {
    .frontend-app .client-section.has-slider-standard .carousel-item,
    .frontend-app .client-section.has-slider-standard .swiper-slide,
    .frontend-app .client-section.has-slider-standard .slider-item {
        min-height: calc(100vh - 90px);
    }
}

/* =========================
   Semantic colour inheritance for custom modules
   ========================= */

.frontend-app .client-section.bg-color-1,
.frontend-app .client-section.bg-color-5 {
    color: var(--section-text-dark);
}

    .frontend-app .client-section.bg-color-1 :where(p, span, li),
    .frontend-app .client-section.bg-color-5 :where(p, span, li) {
        color: var(--section-text-muted);
    }

    .frontend-app .client-section.bg-color-1 :where(h1, h2, h3, h4, h5, h6),
    .frontend-app .client-section.bg-color-5 :where(h1, h2, h3, h4, h5, h6) {
        color: var(--section-text-dark);
    }

.frontend-app .client-section.bg-color-2,
.frontend-app .client-section.bg-color-7,
.frontend-app .client-section.bg-color-9 {
    color: var(--section-text-light);
}

    .frontend-app .client-section.bg-color-2 :where(h1, h2, h3, h4, h5, h6, p, span, li, a),
    .frontend-app .client-section.bg-color-7 :where(h1, h2, h3, h4, h5, h6, p, span, li, a),
    .frontend-app .client-section.bg-color-9 :where(h1, h2, h3, h4, h5, h6, p, span, li, a) {
        color: inherit;
    }

.frontend-app .client-section.bg-color-3,
.frontend-app .client-section.bg-color-4,
.frontend-app .client-section.bg-color-6,
.frontend-app .client-section.bg-color-8 {
    color: var(--section-text-light);
}

    .frontend-app .client-section.bg-color-3 :where(h1, h2, h3, h4, h5, h6, p, span, li, a),
    .frontend-app .client-section.bg-color-4 :where(h1, h2, h3, h4, h5, h6, p, span, li, a),
    .frontend-app .client-section.bg-color-6 :where(h1, h2, h3, h4, h5, h6, p, span, li, a),
    .frontend-app .client-section.bg-color-8 :where(h1, h2, h3, h4, h5, h6, p, span, li, a) {
        color: inherit;
    }


@media print {
    html,
    body {
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        background: #ffffff !important;
    }

    .frontend-app .client-section,
    .frontend-app .client-section-container,
    .frontend-app .section-grid,
    .frontend-app .container-column,
    .frontend-app .section-module-stack,
    .frontend-app .section-module-item {
        break-inside: avoid;
        page-break-inside: avoid;
        min-height: auto !important;
        height: auto !important;
        overflow: visible !important;
    }

    .frontend-app .section-module-stack {
        gap: 24px !important;
    }

    .frontend-app .client-section.has-slider-standard .carousel-item,
    .frontend-app .client-section.has-slider-standard .swiper-slide,
    .frontend-app .client-section.has-slider-standard .slider-item {
        min-height: auto !important;
    }
}

.frontend-app p {
    color: var(--section-text-muted) !important;
}

.frontend-app .client-section :where(p) {
    color: var(--section-text-muted) !important;
}

.frontend-app .client-section.has-background :where(p),
.frontend-app .client-section.bg-color-2 :where(p),
.frontend-app .client-section.bg-color-7 :where(p),
.frontend-app .client-section.bg-color-9 :where(p) {
    color: rgba(255, 255, 255, 0.72);
}

.frontend-app #main-container {
    overflow-x: clip;
}

.frontend-app img,
.frontend-app video,
.frontend-app iframe {
    max-width: 100%;
}

.frontend-app .section-module-stack {
    gap: var(--section-stack-gap);
}

.frontend-app .section-module-item > :where(h1, h2, h3, h4, h5, h6):not(:last-child) {
    margin-bottom: clamp(12px, 1.8vw, 24px);
}

.frontend-app .section-module-item :where(p + p, ul + p, p + ul, p + ol, ol + p) {
    margin-top: clamp(12px, 1.6vw, 20px);
}

.frontend-app .section-module-item :where(ul, ol) {
    padding-left: 1.25rem;
}

.frontend-app .section-module-item :where(li + li) {
    margin-top: 0.5rem;
}

.frontend-app .js-fade-slider {
    border-radius: 8px;
}

.frontend-app .js-fade-slider [data-carousel-slide] {
    transition: opacity 700ms ease, transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
    transform: scale(1.03);
}

.frontend-app .js-fade-slider [data-carousel-slide].is-active {
    transform: scale(1);
}

.frontend-app .js-fade-slider-caption {
    animation: fade-slider-caption-in 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.frontend-app .js-fade-slider-indicator {
    min-width: 24px;
    text-align: center;
}

.frontend-app .js-fade-slider-indicator.is-active {
    color: #ffffff;
}

@keyframes fade-slider-caption-in {
    from {
        opacity: 0;
        transform: translate3d(0, 24px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@media only screen and (max-width: 767px) {
    .frontend-app h1 {
        font-size: clamp(30px, 9vw, 42px);
        line-height: 1.1;
    }

    .frontend-app h2,
    .frontend-app .heading-primary,
    .frontend-app .heading-light {
        font-size: clamp(22px, 6.4vw, 28px) !important;
        line-height: 1.24 !important;
    }

    .frontend-app h3 {
        font-size: clamp(20px, 5.8vw, 24px);
        line-height: 1.24;
    }

    .frontend-app h4 {
        font-size: clamp(17px, 4.8vw, 20px);
        line-height: 1.3;
    }

    .frontend-app h5 {
        font-size: clamp(15px, 4.1vw, 17px);
        line-height: 1.32;
    }

    .frontend-app h6 {
        font-size: clamp(14px, 3.8vw, 16px);
        line-height: 1.34;
    }

    .frontend-app p {
        font-size: clamp(15px, 4vw, 17px);
        line-height: 1.65;
    }

    .frontend-app .mks-eyebrow {
        margin-bottom: 10px !important;
    }

    .frontend-app .mks-title,
    .frontend-app h2.mks-title,
    .frontend-app h4.mks-title {
        margin-bottom: 16px !important;
        font-size: clamp(22px, 6.8vw, 30px) !important;
        line-height: 1.22 !important;
    }

    .frontend-app .mks-stat-label,
    .frontend-app h2.mks-stat-label,
    .frontend-app h3.mks-stat-label,
    .frontend-app h4.mks-stat-label {
        font-size: clamp(22px, 6.4vw, 28px) !important;
        line-height: 1.2 !important;
    }

    .frontend-app .mks-stat-desc {
        max-width: none;
        margin-top: 14px !important;
    }

    .frontend-app .mks-description-secondary {
        margin-top: 14px !important;
    }

    .frontend-app .section-module-item > :where(h1, h2, h3, h4, h5, h6):not(:last-child) {
        margin-bottom: 12px;
    }

    .frontend-app .section-module-item :where(p + p, ul + p, p + ul, p + ol, ol + p) {
        margin-top: 12px;
    }

    .frontend-app .js-fade-slider {
        border-radius: 0;
    }

    .frontend-app .js-fade-slider .relative.w-full {
        height: min(70vh, 420px);
    }

    .frontend-app .footer-main-grid,
    .frontend-app .footer-bottom,
    .frontend-app .footer-rights,
    .frontend-app .footer-contact-list,
    .frontend-app .footer-social-icons {
        text-align: left !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }

    .frontend-app .footer-detail {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .frontend-app .js-fade-slider [data-carousel-slide],
    .frontend-app .js-fade-slider-caption {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
}

.frontend-app .style15-scroll-wrapper {
    position: relative;
}

.frontend-app .style15-cards-container {
    align-items: stretch;
}

.frontend-app .style15-card {
    width: clamp(288px, 24vw, 352px);
    min-height: clamp(360px, 34vw, 430px);
    border-radius: 8px;
    box-shadow:
        0 20px 48px rgba(15, 23, 42, 0.10),
        0 8px 20px rgba(15, 23, 42, 0.05);
}

.frontend-app .style15-card img {
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.frontend-app .style15-card:hover img {
    transform: scale(1.08);
}

.frontend-app .style15-card-content {
    display: flex;
    align-items: flex-end;
    min-height: 38%;
    background:
        linear-gradient(180deg, rgba(2, 11, 45, 0) 0%, rgba(2, 11, 45, 0.18) 18%, rgba(2, 11, 45, 0.90) 100%);
}

.frontend-app .style15-card-content h3 {
    max-width: 19ch;
    font-size: clamp(1rem, 1.35vw, 1.12rem) !important;
    line-height: 1.32 !important;
    letter-spacing: -0.01em;
}

.frontend-app .card-style-21 {
    position: relative;
}

.frontend-app .s21-slider-root {
    border-radius: 8px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(248, 250, 252, 0.96) 0%, rgba(255, 255, 255, 1) 100%);
    box-shadow:
        0 22px 52px rgba(15, 23, 42, 0.08),
        0 6px 18px rgba(15, 23, 42, 0.04);
}

.frontend-app .s21-slide {
    padding: clamp(20px, 3vw, 40px);
}

.frontend-app .s21-slide-content {
    gap: clamp(20px, 3vw, 40px);
    align-items: center;
}

.frontend-app .s21-text-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    flex: 0 0 44%;
    max-width: 44%;
    padding-right: clamp(8px, 2vw, 24px);
}

.frontend-app .s21-title {
    margin: 0;
    font-size: clamp(1.8rem, 3.2vw, 3rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em;
}

.frontend-app .s21-text-col .aip-description {
    max-width: 54ch;
}

.frontend-app .s21-text-col .aip-description,
.frontend-app .s21-text-col .aip-description p {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    line-height: 1.72;
    color: var(--section-text-muted) !important;
}

.frontend-app .s21-image-col {
    flex: 0 0 56%;
    max-width: 56%;
    border-radius: 8px;
    overflow: hidden;
}

.frontend-app .s21-image {
    display: block;
    width: 100%;
    min-height: clamp(360px, 34vw, 500px);
    object-fit: cover;
}

.frontend-app .s21-dots-wrapper {
    padding: 0 0 28px;
}

.frontend-app .s21-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.frontend-app .s21-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 0;
    background: rgba(39, 161, 185, 0.22);
    transition: width 220ms ease, background-color 220ms ease;
}

.frontend-app .s21-dot[data-active="true"] {
    width: 34px;
    background: rgb(39, 161, 185);
}

.frontend-app .custom-swiper-root,
.frontend-app .js-swiper-slider {
    overflow: visible;
}

.frontend-app .js-swiper-slider {
    padding-bottom: 54px;
}

.frontend-app .js-swiper-slider .swiper-wrapper {
    align-items: stretch;
}

.frontend-app .custom-swiper-slide,
.frontend-app .js-swiper-slider .swiper-slide {
    height: auto;
    padding-right: 8px;
    padding-left: 8px;
}

.frontend-app .custom-slide-content,
.frontend-app .js-swiper-slider article.group {
    border-radius: 8px;
    overflow: hidden;
    box-shadow:
        0 18px 44px rgba(15, 23, 42, 0.08),
        0 6px 18px rgba(15, 23, 42, 0.04);
}

.frontend-app .custom-slide-content {
    min-height: clamp(360px, 44vw, 520px);
    display: flex;
    align-items: flex-end;
    padding: clamp(20px, 3vw, 34px);
    background:
        linear-gradient(180deg, rgba(2, 11, 45, 0.08) 0%, rgba(2, 11, 45, 0.82) 100%),
        var(--bg-image) center/cover no-repeat;
}

.frontend-app .custom-slide-title {
    max-width: 16ch;
    margin: 0;
}

.frontend-app .custom-slide-text-bg {
    display: inline;
    padding: 0.14em 0.2em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    background: rgba(255, 255, 255, 0.92);
    color: #020b2d;
    line-height: 1.1;
}

.frontend-app .js-swiper-slider .swiper-slide article.group {
    background: #ffffff;
    transition: transform 320ms ease, box-shadow 320ms ease;
}

.frontend-app .js-swiper-slider .swiper-slide article.group:hover {
    transform: translateY(-6px);
    box-shadow:
        0 24px 54px rgba(15, 23, 42, 0.12),
        0 10px 24px rgba(39, 161, 185, 0.10);
}

.frontend-app .js-swiper-slider .swiper-slide img {
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.frontend-app .js-swiper-slider .swiper-slide article.group:hover img {
    transform: scale(1.06);
}

.frontend-app .js-swiper-slider .swiper-slide h3 {
    line-height: 1.28 !important;
}

.frontend-app .js-swiper-slider .swiper-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.frontend-app .js-swiper-slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 !important;
    border-radius: 999px;
    background: rgba(39, 161, 185, 0.24);
    opacity: 1;
    transition: width 220ms ease, background-color 220ms ease, transform 220ms ease;
}

.frontend-app .js-swiper-slider .swiper-pagination-bullet-active {
    width: 32px;
    background: rgb(39, 161, 185);
    transform: translateY(0);
}

@media only screen and (max-width: 767px) {
    .frontend-app .style15-card {
        width: min(272px, 74vw);
        min-height: 340px;
    }

    .frontend-app .style15-card-content h3 {
        max-width: 100%;
    }

    .frontend-app .s21-text-col,
    .frontend-app .s21-image-col {
        flex-basis: 100%;
        max-width: 100%;
        padding-right: 0;
    }

    .frontend-app .s21-slide {
        padding: 20px 16px 24px;
    }

    .frontend-app .s21-image {
        min-height: 260px;
    }

    .frontend-app .custom-slide-content {
        min-height: 280px;
        padding: 18px;
    }

    .frontend-app .js-swiper-slider {
        padding-bottom: 44px;
    }

    .frontend-app .js-swiper-slider .swiper-slide {
        padding-right: 6px;
        padding-left: 6px;
    }
}

/* Hide CMS rich-text editor selection-anchor artifacts that sometimes leak
   into the rendered frontend content (e.g. PDq2pG_selectionAnchorContainer). */
[class*="PDq2pG_"] {
    display: none !important;
}

/* Inside MKS template text blocks, direct-child <p> without an mks-* class and
   bare <font> without a data-input-name are also editor artifacts. */
.mks-left-inner > p:not([class^="mks"]),
.mks-left-inner > font:not([data-input-name]) {
    display: none !important;
}
