@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Raleway:ital,wght@0,100..900;1,100..900&family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap");

:root {
    --body-font: "Urbanist", sans-serif;
    --heading-font: "Urbanist", sans-serif;
    --secondary-font: "Raleway", sans-serif;
    --base-h: 145;
    --base-s: 63%;
    --base-l: 49%;
    --base: var(--base-h) var(--base-s) var(--base-l);
    --base-d-100: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.1);
    --base-d-200: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.2);
    --base-d-300: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.3);
    --base-d-400: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.4);
    --base-d-500: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.5);
    --base-d-600: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.6);
    --base-d-700: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.7);
    --base-d-800: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.8);
    --base-d-900: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.9);
    --base-d-1000: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 1);
    --base-l-100: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.1);
    --base-l-200: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.2);
    --base-l-300: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.3);
    --base-l-400: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.4);
    --base-l-500: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.5);
    --base-l-600: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.6);
    --base-l-700: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.7);
    --base-l-800: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.8);
    --base-l-900: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.9);
    --base-l-1000: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 1);
    --white: 0 0% 100%;
    --body-color: 220 10% 46%;
    --heading-color: 224 71% 4%;
    --dark-h: 240;
    --dark-s: 100%;
    --dark-l: 11%;
    --dark: var(--dark-h) var(--dark-s) var(--dark-l);
    --dark-d-100: var(--dark-h) var(--dark-s) calc(var(--dark-l) - var(--dark-l) * 0.1);
    --dark-d-200: var(--dark-h) var(--dark-s) calc(var(--dark-l) - var(--dark-l) * 0.2);
    --dark-d-300: var(--dark-h) var(--dark-s) calc(var(--dark-l) - var(--dark-l) * 0.3);
    --dark-d-400: var(--dark-h) var(--dark-s) calc(var(--dark-l) - var(--dark-l) * 0.4);
    --dark-d-500: var(--dark-h) var(--dark-s) calc(var(--dark-l) - var(--dark-l) * 0.5);
    --dark-l-100: var(--dark-h) calc(var(--dark-s)) calc(var(--dark-l) + (100% - var(--dark-l)) * 0.1);
    --dark-l-200: var(--dark-h) calc(var(--dark-s)) calc(var(--dark-l) + (100% - var(--dark-l)) * 0.2);
    --dark-l-300: var(--dark-h) calc(var(--dark-s)) calc(var(--dark-l) + (100% - var(--dark-l)) * 0.3);
    --dark-l-400: var(--dark-h) calc(var(--dark-s)) calc(var(--dark-l) + (100% - var(--dark-l)) * 0.4);
    --dark-l-500: var(--dark-h) calc(var(--dark-s)) calc(var(--dark-l) + (100% - var(--dark-l)) * 0.5);
    --black: 0 0% 0%;
    --light: 218 14% 84%;
    --border-color: 240 5% 92%;
    --border-light: 220 13% 91%;
    --border-black: 216 31% 17%;
    --section-bg: 220 14% 96%;
    --light-bg: 210 20% 98%;
    --background-color: 0 0% 100%;
    --primary-h: 224;
    --primary-s: 71%;
    --primary-l: 4%;
    --primary: var(--primary-h) var(--primary-s) var(--primary-l);
    --primary-d-100: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.1);
    --primary-d-200: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.2);
    --primary-d-300: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.3);
    --primary-d-400: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.4);
    --primary-d-500: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.5);
    --primary-l-100: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.1);
    --primary-l-200: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.2);
    --primary-l-300: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.3);
    --primary-l-400: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.4);
    --primary-l-500: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.5);
    --secondary-h: 217;
    --secondary-s: 21%;
    --secondary-l: 27%;
    --secondary: var(--secondary-h) var(--secondary-s) var(--secondary-l);
    --secondary-d-100: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.1);
    --secondary-d-200: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.2);
    --secondary-d-300: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.3);
    --secondary-d-400: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.4);
    --secondary-d-500: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.5);
    --secondary-l-100: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.1);
    --secondary-l-200: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.2);
    --secondary-l-300: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.3);
    --secondary-l-400: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.4);
    --secondary-l-500: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.5);
    --success-h: 142;
    --success-s: 71%;
    --success-l: 45%;
    --success: var(--success-h) var(--success-s) var(--success-l);
    --success-d-100: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.1);
    --success-d-200: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.2);
    --success-d-300: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.3);
    --success-d-400: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.4);
    --success-d-500: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.5);
    --success-l-100: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.1);
    --success-l-200: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.2);
    --success-l-300: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.3);
    --success-l-400: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.4);
    --success-l-500: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.5);
    --danger-h: 0;
    --danger-s: 84%;
    --danger-l: 60%;
    --danger: var(--danger-h) var(--danger-s) var(--danger-l);
    --danger-d-100: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.1);
    --danger-d-200: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.2);
    --danger-d-300: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.3);
    --danger-d-400: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.4);
    --danger-d-500: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.5);
    --danger-l-100: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.1);
    --danger-l-200: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.2);
    --danger-l-300: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.3);
    --danger-l-400: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.4);
    --danger-l-500: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.5);
    --warning-h: 47;
    --warning-s: 100%;
    --warning-l: 50%;
    --warning: var(--warning-h) var(--warning-s) var(--warning-l);
    --warning-d-100: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.1);
    --warning-d-200: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.2);
    --warning-d-300: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.3);
    --warning-d-400: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.4);
    --warning-d-500: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.5);
    --warning-l-100: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.1);
    --warning-l-200: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.2);
    --warning-l-300: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.3);
    --warning-l-400: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.4);
    --warning-l-500: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.5);
    --info-h: 217;
    --info-s: 91%;
    --info-l: 60%;
    --info: var(--info-h) var(--info-s) var(--info-l);
    --info-d-100: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.1);
    --info-d-200: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.2);
    --info-d-300: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.3);
    --info-d-400: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.4);
    --info-d-500: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.5);
    --info-l-100: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.1);
    --info-l-200: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.2);
    --info-l-300: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.3);
    --info-l-400: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.4);
    --info-l-500: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.5);
}

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

video[data-src] {
    background-color: hsl(var(--dark));
    transition: background-color 0.3s ease;
}

video[data-src].is-loaded {
    background-color: transparent;
}

.flex-between {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

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

body {
    font-family: var(--body-font);
    color: hsl(var(--body-color));
    word-break: break-word;
    background-color: hsl(var(--light-bg));
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

p {
    font-weight: 400;
    margin: 0;
    color: hsl(var(--body-color));
    font-size: 1rem;
    line-height: 1.3;
}

span {
    display: inline-block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-family: var(--heading-font);
    color: hsl(var(--heading-color));
    line-height: 1.1;
    font-weight: 700;
}

h1 {
    font-size: 4rem;
}

@media screen and (max-width: 1399px) {
    h1 {
        font-size: 3.375rem;
    }
}

@media screen and (max-width: 1199px) {
    h1 {
        font-size: 3rem;
    }
}

@media screen and (max-width: 991px) {
    h1 {
        font-size: 2.625rem;
    }
}

@media screen and (max-width: 767px) {
    h1 {
        font-size: 2.25rem;
    }
}

@media screen and (max-width: 575px) {
    h1 {
        font-size: 2rem;
    }
}

h2 {
    font-size: 3rem;
}

@media screen and (max-width: 1399px) {
    h2 {
        font-size: 2.625rem;
    }
}

@media screen and (max-width: 1199px) {
    h2 {
        font-size: 2.25rem;
    }
}

@media screen and (max-width: 991px) {
    h2 {
        font-size: 2rem;
    }
}

@media screen and (max-width: 575px) {
    h2 {
        font-size: 1.75rem;
    }
}

h3 {
    font-size: 2.5rem;
}

@media screen and (max-width: 1399px) {
    h3 {
        font-size: 2.375rem;
    }
}

@media screen and (max-width: 1199px) {
    h3 {
        font-size: 2.25rem;
    }
}

@media screen and (max-width: 991px) {
    h3 {
        font-size: 2rem;
    }
}

@media screen and (max-width: 767px) {
    h3 {
        font-size: 1.75rem;
    }
}

@media screen and (max-width: 575px) {
    h3 {
        font-size: 1.5rem;
    }
}

h4 {
    font-size: 2rem;
}

@media screen and (max-width: 1399px) {
    h4 {
        font-size: 1.75rem;
    }
}

@media screen and (max-width: 1199px) {
    h4 {
        font-size: 1.625rem;
    }
}

@media screen and (max-width: 991px) {
    h4 {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 575px) {
    h4 {
        font-size: 1.25rem;
    }
}

h5 {
    font-size: 1.5rem;
}

@media screen and (max-width: 1199px) {
    h5 {
        font-size: 1.375rem;
    }
}

@media screen and (max-width: 991px) {
    h5 {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 767px) {
    h5 {
        font-size: 1.125rem;
    }
}

h6 {
    font-size: 1.25rem;
}

@media screen and (max-width: 1199px) {
    h6 {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 991px) {
    h6 {
        font-size: 1rem;
    }
}

h1>a,
h2>a,
h3>a,
h4>a,
h5>a,
h6>a {
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    transition: 0.2s linear;
    line-height: inherit;
}

a {
    display: inline-block;
    transition: 0.2s linear;
    text-decoration: none;
    color: hsl(var(--base));
}

a:hover {
    color: hsl(var(--base-d-200));
}

img {
    max-width: 100%;
    height: auto;
}

select {
    cursor: pointer;
}

ul,
ol {
    padding: 0;
    margin: 0;
    list-style: none;
}

button {
    border: 0;
    background-color: transparent;
}

button:focus {
    outline: none;
    box-shadow: none;
}

@media screen and (min-width: 425px) and (max-width: 575px) {
    .col-xsm-6 {
        width: 50%;
    }
}

.text-muted {
    color: hsl(var(--black)/0.6) !important;
}

.bg-img {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.body-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    content: "";
    left: 0;
    top: 0;
    background-color: hsl(var(--black)/0.6);
    z-index: 99;
    transition: 0.2s linear;
    visibility: hidden;
    opacity: 0;
}

.body-overlay.show {
    visibility: visible;
    opacity: 1;
}

.sidebar-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    content: "";
    left: 0;
    top: 0;
    background-color: hsl(var(--black)/0.6);
    z-index: 99;
    transition: 0.2s linear;
    visibility: hidden;
    opacity: 0;
}

.sidebar-overlay.show {
    visibility: visible;
    opacity: 1;
    z-index: 999;
}

@media (min-width: 1400px) {
    .container {
        max-width: 1344px;
    }
}

[service-card-animation] {
    will-change: transform, opacity, filter;
    backface-visibility: hidden;
    transform: translateZ(0);
}

.text--base {
    color: hsl(var(--base)) !important;
}

.text--color {
    color: hsl(var(--body-color)) !important;
}

.text--danger {
    color: hsl(var(--danger)) !important;
}

.text--success {
    color: hsl(var(--success)) !important;
}

.icon--rotate45 {
    display: inline-block;
    transform: rotate(45deg);
}

.text--warning {
    color: hsl(var(--warning)) !important;
}

.text--info {
    color: hsl(var(--info)) !important;
}

.py-150 {
    padding-block: 150px !important;
}

@media screen and (max-width: 1199px) {
    .py-150 {
        padding-block: 120px !important;
    }
}

@media screen and (max-width: 575px) {
    .py-150 {
        padding-block: 80px !important;
    }
}

.pt-150 {
    padding-top: 150px !important;
}

@media screen and (max-width: 1199px) {
    .pt-150 {
        padding-top: 120px !important;
    }
}

@media screen and (max-width: 575px) {
    .pt-150 {
        padding-top: 80px !important;
    }
}

.pb-150 {
    padding-bottom: 150px !important;
}

@media screen and (max-width: 1199px) {
    .pb-150 {
        padding-bottom: 120px !important;
    }
}

@media screen and (max-width: 575px) {
    .pb-150 {
        padding-bottom: 80px !important;
    }
}

.py-120 {
    padding-block: 120px !important;
}

@media screen and (max-width: 1199px) {
    .py-120 {
        padding-block: 80px !important;
    }
}

@media screen and (max-width: 575px) {
    .py-120 {
        padding-block: 60px !important;
    }
}

.pt-120 {
    padding-top: 120px !important;
}

@media screen and (max-width: 1199px) {
    .pt-120 {
        padding-top: 80px !important;
    }
}

@media screen and (max-width: 575px) {
    .pt-120 {
        padding-top: 60px !important;
    }
}

.pb-120 {
    padding-bottom: 120px !important;
}

@media screen and (max-width: 1199px) {
    .pb-120 {
        padding-bottom: 80px !important;
    }
}

@media screen and (max-width: 575px) {
    .pb-120 {
        padding-bottom: 60px !important;
    }
}

.py-60 {
    padding-block: 60px !important;
}

@media screen and (max-width: 1199px) {
    .py-60 {
        padding-block: 40px !important;
    }
}

@media screen and (max-width: 575px) {
    .py-60 {
        padding-block: 30px !important;
    }
}

.pt-60 {
    padding-top: 60px !important;
}

@media screen and (max-width: 1199px) {
    .pt-60 {
        padding-top: 40px !important;
    }
}

@media screen and (max-width: 575px) {
    .pt-60 {
        padding-top: 30px !important;
    }
}

.pb-60 {
    padding-bottom: 60px !important;
}

@media screen and (max-width: 1199px) {
    .pb-60 {
        padding-bottom: 40px !important;
    }
}

@media screen and (max-width: 575px) {
    .pb-60 {
        padding-bottom: 30px !important;
    }
}

.my-150 {
    margin-block: 150px !important;
}

@media screen and (max-width: 1199px) {
    .my-150 {
        margin-block: 120px !important;
    }
}

@media screen and (max-width: 575px) {
    .my-150 {
        margin-block: 80px !important;
    }
}

.mt-150 {
    margin-top: 150px !important;
}

@media screen and (max-width: 1199px) {
    .mt-150 {
        margin-top: 120px !important;
    }
}

@media screen and (max-width: 575px) {
    .mt-150 {
        margin-top: 80px !important;
    }
}

.mb-150 {
    margin-bottom: 150px !important;
}

@media screen and (max-width: 1199px) {
    .mb-150 {
        margin-bottom: 120px !important;
    }
}

@media screen and (max-width: 575px) {
    .mb-150 {
        margin-bottom: 80px !important;
    }
}

.my-120 {
    margin-block: 120px !important;
}

@media screen and (max-width: 1199px) {
    .my-120 {
        margin-block: 80px !important;
    }
}

@media screen and (max-width: 575px) {
    .my-120 {
        margin-block: 60px !important;
    }
}

.mt-120 {
    margin-top: 120px !important;
}

@media screen and (max-width: 1199px) {
    .mt-120 {
        margin-top: 80px !important;
    }
}

@media screen and (max-width: 575px) {
    .mt-120 {
        margin-top: 60px !important;
    }
}

.mb-120 {
    margin-bottom: 120px !important;
}

@media screen and (max-width: 1199px) {
    .mb-120 {
        margin-bottom: 80px !important;
    }
}

@media screen and (max-width: 575px) {
    .mb-120 {
        margin-bottom: 60px !important;
    }
}

.my-60 {
    margin-block: 60px !important;
}

@media screen and (max-width: 1199px) {
    .my-60 {
        margin-block: 40px !important;
    }
}

@media screen and (max-width: 575px) {
    .my-60 {
        margin-block: 30px !important;
    }
}

.mt-60 {
    margin-top: 60px !important;
}

@media screen and (max-width: 1199px) {
    .mt-60 {
        margin-top: 40px !important;
    }
}

@media screen and (max-width: 575px) {
    .mt-60 {
        margin-top: 30px !important;
    }
}

.mb-60 {
    margin-bottom: 60px !important;
}

@media screen and (max-width: 1199px) {
    .mb-60 {
        margin-bottom: 40px !important;
    }
}

@media screen and (max-width: 575px) {
    .mb-60 {
        margin-bottom: 30px !important;
    }
}

.custom--accordion .accordion-item {
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid hsl(var(--border-light));
    background-color: hsl(var(--white));
    color: hsl(var(--body-color));
    padding: 24px;
}

.custom--accordion .accordion-item:not(:last-child) {
    margin-bottom: 16px;
}

.custom--accordion .accordion-header {
    line-height: 1.4;
}

.custom--accordion .accordion-body {
    background-color: hsl(var(--white));
    padding: 0;
    padding-top: 24px;
}

.custom--accordion .accordion-button {
    background: hsl(var(--white));
    color: var(--heading-color);
    font-size: 1rem;
    padding: 0;
    font-weight: 700;
}

.custom--accordion .accordion-button::after {
    background-image: none;
}

.custom--accordion .accordion-button:focus {
    box-shadow: none;
}

.custom--accordion .accordion-button:not(.collapsed) {
    box-shadow: none;
}

.custom--accordion .accordion-button:not(.collapsed)::after {
    background-image: none;
}

.custom--accordion .accordion-button[aria-expanded=true]::after,
.custom--accordion .accordion-button[aria-expanded=false]::after {
    font-family: "icomoon";
    position: absolute;
    right: 0;
    height: unset;
    width: unset;
    content: "\e98a";
    transition: all linear 0.3s;
    top: 50% !important;
    transform: translateY(-50%) rotate(180deg);
    font-size: 1.125rem;
    color: hsl(var(--body-color));
}

.custom--accordion .accordion-button[aria-expanded=false]::after {
    transform: translateY(-50%) rotate(0deg);
    content: "\e99e";
}

.custom--accordion.contact-accordion .accordion-button {
    font-size: 1.1875rem;
}

@media screen and (max-width: 1199px) {
    .custom--accordion.contact-accordion .accordion-button {
        font-size: 1.0625rem;
    }
}

.custom--accordion.contact-accordion .accordion-body {
    font-size: 1.125rem;
}

@media screen and (max-width: 1199px) {
    .custom--accordion.contact-accordion .accordion-body {
        font-size: 1rem;
    }
}

.btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
    color: none;
    background-color: none;
    border-color: none;
}

.pill {
    border-radius: 32px !important;
}

.btn {
    color: hsl(var(--white)) !important;
    font-weight: 700;
    padding: 15px 26px;
    border-radius: 8px;
    position: relative;
    z-index: 1;
    border: 1px solid transparent;
    display: inline-block !important;
    font-size: 1.125rem;
    line-height: 1.3;
    font-family: var(--heading-font);
    white-space: nowrap;
}

.btn:has(.icon) {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
}

.btn:has(.icon) .icon {
    display: flex;
    font-size: 22px;
}

@media screen and (max-width: 767px) {
    .btn {
        padding: 11px 20px;
        font-size: 1.0625rem;
    }
}

@media screen and (max-width: 575px) {
    .btn {
        font-size: 1rem;
    }
}

.btn:hover,
.btn:focus,
.btn:focus-visible {
    box-shadow: none !important;
}

.btn:active {
    top: 1px;
}

.btn--sm {
    padding: 9px 16px;
    font-size: 1rem;
}

@media screen and (max-width: 767px) {
    .btn--sm {
        padding: 6px 12px;
    }
}

.btn--xsm {
    padding: 6px 12px;
    font-size: 0.875rem;
    border-radius: 4px;
}

@media screen and (max-width: 767px) {
    .btn--xsm {
        padding: 5px 10px;
    }
}

.btn--white {
    background: hsl(var(--white));
    color: #175031 !important;
    border: 1px solid hsl(var(--base)) !important;
    box-shadow: 0 0 20px 0 rgba(139, 234, 179, 0.15), 0 5px 5px -1px rgba(27, 122, 67, 0.25);
}

.btn--white:hover,
.btn--white:focus .btn--white:focus-visible {
    background: #175031 !important;
    color: hsl(var(--white)) !important;
    border: 1px solid #175031 !important;
}

.btn--light {
    background: hsl(var(--white));
    color: #072C18 !important;
    border: 1px solid #072C18 !important;
    border: 1px solid #072C18;
}

.btn--light:hover,
.btn--light:focus .btn--light:focus-visible {
    background: #072C18 !important;
    color: hsl(var(--white)) !important;
    border: 1px solid #072C18 !important;
}

.btn--base-light {
    background: #072c18;
    color: #8beab3 !important;
    border: 1px solid hsl(var(--base)) !important;
    box-shadow: 0 0 20px 0 rgba(139, 234, 179, 0.15), 0 5px 5px -1px rgba(27, 122, 67, 0.25);
}

.btn--base-light:hover,
.btn--base-light:focus .btn--base-light:focus-visible {
    border: 1px solid hsl(var(--base)) !important;
    background: hsl(var(--base)) !important;
    color: #072c18 !important;
}

.btn--primary {
    background-color: hsl(var(--primary)) !important;
    border-color: hsl(var(--primary)) !important;
}

.btn--primary:hover,
.btn--primary:focus .btn--primary:focus-visible {
    background-color: hsl(var(--primary-d-200)) !important;
    border: 1px solid hsl(var(--primary-d-200)) !important;
}

.btn-outline--primary {
    background-color: transparent !important;
    border: 1px solid hsl(var(--primary)) !important;
    color: hsl(var(--primary)) !important;
}

.btn-outline--primary:hover,
.btn-outline--primary:focus .btn-outline--primary:focus-visible {
    background-color: hsl(var(--primary)) !important;
    color: hsl(var(--white)) !important;
}

.btn--base {
    background-color: hsl(var(--base)) !important;
    border-color: hsl(var(--base)) !important;
}

.btn--base:hover,
.btn--base:focus .btn--base:focus-visible {
    background-color: hsl(var(--base-d-200)) !important;
    border: 1px solid hsl(var(--base-d-200)) !important;
}

.btn-outline--base {
    background-color: transparent !important;
    border: 1px solid hsl(var(--base)) !important;
    color: hsl(var(--base)) !important;
}

.btn-outline--base:hover,
.btn-outline--base:focus .btn-outline--base:focus-visible {
    background-color: hsl(var(--base)) !important;
    color: hsl(var(--white)) !important;
}

.btn--danger {
    background-color: hsl(var(--danger)) !important;
    border-color: hsl(var(--danger)) !important;
}

.btn--danger:hover,
.btn--danger:focus .btn--danger:focus-visible {
    background-color: hsl(var(--danger-d-200)) !important;
    border: 1px solid hsl(var(--danger-d-200)) !important;
}

.btn-outline--danger {
    background-color: transparent !important;
    border: 1px solid hsl(var(--danger)) !important;
    color: hsl(var(--danger)) !important;
}

.btn-outline--danger:hover,
.btn-outline--danger:focus .btn-outline--danger:focus-visible {
    background-color: hsl(var(--danger)) !important;
    color: hsl(var(--white)) !important;
}

.btn--warning {
    background-color: hsl(var(--warning)) !important;
    border-color: hsl(var(--warning)) !important;
}

.btn--warning:hover,
.btn--warning:focus .btn--warning:focus-visible {
    background-color: hsl(var(--warning-d-200)) !important;
    border: 1px solid hsl(var(--warning-d-200)) !important;
}

.btn-outline--warning {
    background-color: transparent !important;
    border: 1px solid hsl(var(--warning)) !important;
    color: hsl(var(--warning)) !important;
}

.btn-outline--warning:hover,
.btn-outline--warning:focus .btn-outline--warning:focus-visible {
    background-color: hsl(var(--warning)) !important;
    color: hsl(var(--white)) !important;
}

.btn--success {
    background-color: hsl(var(--success)) !important;
    border-color: hsl(var(--success)) !important;
}

.btn--success:hover,
.btn--success:focus .btn--success:focus-visible {
    background-color: hsl(var(--success-d-200)) !important;
    border: 1px solid hsl(var(--success-d-200)) !important;
}

.btn-outline--success {
    background-color: transparent !important;
    border: 1px solid hsl(var(--success)) !important;
    color: hsl(var(--success)) !important;
}

.btn-outline--success:hover,
.btn-outline--success:focus .btn-outline--success:focus-visible {
    background-color: hsl(var(--success)) !important;
    color: hsl(var(--white)) !important;
}

.form--label {
    margin-bottom: 4px;
    color: hsl(var(--black));
    font-weight: 400;
    line-height: 160%;
    font-size: 1.125rem;
}

@media screen and (max-width: 767px) {
    .form--label {
        font-size: 1rem;
    }
}

.form-group {
    margin-bottom: 1rem;
}

.form--control {
    border-radius: 12px;
    font-weight: 400;
    outline: none;
    width: 100%;
    padding: 13px 16px;
    background-color: transparent;
    border: 1px solid hsl(var(--section-bg));
    color: hsl(var(--heading-color)) !important;
    line-height: 1.55;
    font-size: 1.125rem;
    background: hsl(var(--white)/0.5);
    backdrop-filter: blur(11px);
}

@media screen and (max-width: 767px) {
    .form--control {
        font-size: 1rem;
    }
}

.form--control::placeholder {
    color: hsl(var(--body-color));
}

select.form--control:invalid {
    color: hsl(var(--body-color)) !important;
}

.form--control:focus {
    border-color: hsl(var(--base));
}

.form--control:disabled,
.form--control[readonly] {
    background-color: hsl(var(--black)/0.03);
    opacity: 1;
    border: 0;
}

.form--control.is-invalid {
    border-color: hsl(var(--danger));
}

.form--control.is-invalid:focus {
    border-color: hsl(var(--danger));
}

.invalid-feedback {
    color: hsl(var(--danger));
}

.form--control[type=password] {
    color: hsl(var(--black)/0.5);
}

.form--control[type=password]:focus {
    color: hsl(var(--black));
}

.form--control[type=file] {
    line-height: var(--file-line-height);
    padding: 0;
    position: relative;
}

.form--control[type=file]::file-selector-button {
    border: 1px solid hsl(var(--black)/0.08);
    padding: 3px;
    border-radius: 4px;
    background-color: hsl(var(--base)) !important;
    transition: 0.2s linear;
    line-height: 25px;
    position: relative;
    margin-left: var(--file-margin-left);
    color: hsl(var(--white)) !important;
}

@media screen and (max-width: 767px) {
    .form--control[type=file]::file-selector-button {
        padding: 2px;
        font-size: 0.875rem;
        line-height: 20px;
    }
}

.form--control[type=file]::file-selector-button:hover {
    background-color: hsl(var(--base));
    border: 1px solid hsl(var(--base));
    color: hsl(var(--black));
}

textarea.form--control {
    height: 150px;
}

@media screen and (max-width: 1199px) {
    textarea.form--control {
        height: 120px;
    }
}

@media screen and (max-width: 991px) {
    textarea.form--control {
        height: 100px;
    }
}

@media screen and (max-width: 767px) {
    textarea.form--control {
        height: 80px;
    }
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    -webkit-text-fill-color: hsl(var(--black)) !important;
    caret-color: hsl(var(--black));
}

input#your-password,
input#confirm-password {
    padding-right: 50px;
}

.form--check {
    display: flex;
    align-items: center;
    gap: 8px;
}

.form--check a {
    display: inline;
}

.form--check .form-check-input {
    box-shadow: none;
    background-color: transparent;
    box-shadow: none !important;
    border: 0;
    position: relative;
    border-radius: 6px;
    width: 18px;
    height: 18px;
    border: 2px solid #C3C6CC;
    cursor: pointer;
    margin-top: 0;
}

.form--check .form-check-input:checked {
    background-color: hsl(var(--base)) !important;
    border-color: hsl(var(--base)) !important;
    box-shadow: none;
}

.form--check .form-check-input:checked[type=checkbox] {
    background-image: none;
}

.form--check .form-check-input:checked::before {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M7.629 13.314 4.286 9.97l-1.143 1.143 4.486 4.486L16.857 6.37l-1.143-1.143z'/%3E%3C/svg%3E");
}

.form--check .form-check-label {
    font-weight: 500;
    cursor: pointer;
    font-size: 1.125rem;
    color: hsl(var(--heading-color));
    line-height: 1.2;
}

@media screen and (max-width: 767px) {
    .form--check .form-check-label {
        font-size: 1rem;
    }
}

.table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    border-collapse: separate;
    border-spacing: 0px 0px;
    overflow: hidden;
    border-radius: 12px;
    background: hsl(var(--white));
    box-shadow: 0 0 4px 0 hsl(var(--black)/0.04), 0 4px 8px 0 hsl(var(--black)/0.06);
}

.table thead tr th {
    background-color: #eef5f0;
    text-align: left;
    padding: 12px 24px;
    color: hsl(var(--body-color));
    font-size: 1.125rem;
    border: 0;
    font-weight: 400;
    white-space: nowrap;
}

.table thead tr th:not(:first-child) {
    border-left: 0;
}

.table thead tr th:first-child {
    text-align: left;
}

.table thead tr th:last-child {
    text-align: right;
}

.table tbody {
    border: 0 !important;
}

.table tbody tr:last-child {
    border-bottom: 0;
}

.table tbody tr:last-child td {
    border-bottom: 0;
}

.table tbody tr:last-child td:first-child {
    border-radius: 0px 0 0 12px;
}

.table tbody tr:last-child td:last-child {
    border-radius: 0 0px 12px 0;
}

.table tbody tr td {
    text-align: left;
    vertical-align: middle;
    padding: 24px;
    border-width: 1px;
    border: 0;
    color: hsl(var(--heading-color)/0.8);
    font-size: 1.125rem;
    border-bottom: 1px solid hsl(var(--border-light));
    background-color: transparent;
    word-break: normal;
    overflow-wrap: normal;
}

.table tbody tr td::before {
    content: attr(data-label);
    color: hsl(var(--heading-color));
    font-weight: 600;
    font-size: 1rem;
    display: none;
    width: 45% !important;
    text-align: left;
}

.table tbody tr td:first-child {
    text-align: left;
}

.table tbody tr td:last-child {
    text-align: right;
}

@media (max-width: 1199px) {
    .table-responsive--lg thead {
        display: none;
    }

    .table-responsive--lg tbody tr {
        display: block;
        border: 1px solid hsl(var(--black)/0.08);
        border-radius: 12px;
        margin-bottom: 12px;
        overflow: hidden;
        background-color: hsl(var(--white));
    }

    .table-responsive--lg tbody tr:last-child {
        margin-bottom: 0;
        border-bottom: 1px solid hsl(var(--black)/0.08);
    }

    .table-responsive--lg tbody tr td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        text-align: right;
        padding: 16px !important;
        border: none;
        border-bottom: 1px solid hsl(var(--black)/0.06);
        max-width: unset;
        background-color: transparent;
    }

    .table-responsive--lg tbody tr td:last-child {
        border-bottom: none;
    }

    .table-responsive--lg tbody tr td:first-child {
        text-align: right;
        border-left: 0;
    }

    .table-responsive--lg tbody tr td::before {
        display: block;
    }
    
    .table-responsive--lg tbody tr td[colspan] {
        display: block;
        text-align: center;
    }

    .table-responsive--lg tbody tr td[colspan]::before {
        display: none;
    }
}

.custom--tab-wrapper {
    margin-bottom: 50px;
    overflow: auto hidden;
    text-align: center;
}

@media screen and (max-width: 1199px) {
    .custom--tab-wrapper {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 991px) {
    .custom--tab-wrapper {
        margin-bottom: 32px;
    }
}

.custom--tab {
    justify-content: center;
    margin-bottom: 0px;
    display: inline-flex;
    border-bottom: 0;
    position: relative;
    gap: 8px;
    flex-wrap: nowrap;
}

.custom--tab .nav-item {
    border-bottom: 0;
}

.custom--tab .nav-item .nav-link {
    transition: all linear 0.3s;
    background: hsl(var(--white));
    position: relative;
    overflow: hidden;
    font-weight: 700;
    border-radius: 12px;
    border: 0;
    line-height: 1;
    font-size: 1.5rem;
    color: hsl(var(--body-color));
    padding: 16px 34px;
    line-height: 1.2;
    white-space: nowrap;
}

@media screen and (max-width: 1199px) {
    .custom--tab .nav-item .nav-link {
        padding: 12px 24px;
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 991px) {
    .custom--tab .nav-item .nav-link {
        padding: 10px 20px;
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 575px) {
    .custom--tab .nav-item .nav-link {
        padding: 8px 16px;
        font-size: 1rem;
    }
}

.custom--tab .nav-item .nav-link.active {
    color: #8BEAB3;
    border-color: #175031;
    background-color: #175031;
}

.custom--tab .nav-item .nav-link.active:hover {
    color: #8BEAB3;
}

.custom--tab .nav-item .nav-link:hover {
    color: hsl(var(--heading-color));
}

.badge {
    padding: 4px 10px;
    border: 1px solid hsl(var(--badge-color));
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 140%;
    color: hsl(var(--badge-color));
    background-color: hsl(var(--badge-color)/0.1);
    border: 0;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.badge::before {
    content: "";
    --size: 6px;
    height: var(--size);
    width: var(--size);
    border-radius: 50%;
    background-color: hsl(var(--badge-color));
    display: flex;
}

.badge--base {
    --badge-color: var(--base);
}

.badge--primary {
    --badge-color: var(--primary);
}

.badge--secondary {
    --badge-color: var(--secondary);
}

.badge--success {
    --badge-color: var(--success);
}

.badge--danger {
    --badge-color: var(--danger);
}

.badge--warning {
    --badge-color: var(--warning);
}

.badge--info {
    --badge-color: var(--info);
}

.badge--dark {
    --badge-color: var(--black);
}

/* PRELOADER START */

.preloader {
    position: fixed;
    inset: 0;
    z-index: 999999999;
    background-color: hsl(var(--black));
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* soft brand glow behind the mark */
.preloader::before {
    content: "";
    position: absolute;
    width: min(70vmin, 560px);
    height: min(70vmin, 560px);
    border-radius: 50%;
    background: radial-gradient(circle, hsl(var(--base) / 0.2) 0%, hsl(var(--base) / 0.06) 45%, transparent 68%);
    animation: tskGlow 3.2s ease-in-out infinite;
}

/* main.js adds .is-loaded to dismiss it */
.preloader.is-loaded {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

.preloader-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 42px;
}

.tsk-loader {
    --pl-size: 132px;
    position: relative;
    width: var(--pl-size);
    height: var(--pl-size);
    flex-shrink: 0;
}

/* ---- orbiting rings ---- */
.tsk-loader__ring {
    position: absolute;
    inset: -26px;
    border-radius: 50%;
    border: 1px solid hsl(var(--white) / 0.08);
}

.tsk-loader__ring::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    border: 1px solid transparent;
    border-top-color: hsl(var(--base));
    border-right-color: hsl(var(--base) / 0.4);
    animation: tskSpin 1.8s linear infinite;
}

.tsk-loader__ring--alt {
    inset: -44px;
    border-color: hsl(var(--white) / 0.05);
}

/* dot that travels the outer ring */
.tsk-loader__orbit {
    position: absolute;
    inset: -44px;
    border-radius: 50%;
    animation: tskSpin 3s linear infinite reverse;
}

.tsk-loader__orbit::before {
    content: "";
    position: absolute;
    top: -3px;
    left: 50%;
    width: 6px;
    height: 6px;
    margin-left: -3px;
    border-radius: 50%;
    background-color: hsl(var(--base));
    box-shadow: 0 0 12px 2px hsl(var(--base) / 0.7);
}

/* ---- the icon card ---- */
/* no animation here — v4 leaves the card still, v5 floats it */
.tsk-loader__card {
    position: absolute;
    inset: 0;
    border-radius: 26%;
    background-color: hsl(var(--dark));
    border: 1px solid hsl(var(--white) / 0.08);
    box-shadow: 0 24px 60px -18px hsl(var(--base) / 0.45), inset 0 1px 0 hsl(var(--white) / 0.06);
    overflow: hidden;
}

/* light sweep across the card — v4 swaps this for a scan line */
.tsk-loader__card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 35%, hsl(var(--white) / 0.14) 50%, transparent 65%);
    background-size: 260% 100%;
    animation: tskSweep 2.8s ease-in-out infinite;
}

/* ---- the four squares of the mark ---- */
.tsk-piece {
    position: absolute;
}

.tsk-piece--sheet {
    left: 29.674%;
    top: 33.654%;
    width: 36.65%;
    height: 36.65%;
    background-color: #fff;
    z-index: 1;
}

.tsk-piece--green-lg {
    left: 29.674%;
    top: 51.992%;
    width: 18.412%;
    height: 18.412%;
    background-color: #52b26e;
    z-index: 2;
}

.tsk-piece--red {
    left: 53.763%;
    top: 29.696%;
    width: 16.692%;
    height: 16.692%;
    background-color: #d5212a;
    z-index: 3;
}

.tsk-piece--green-sm {
    left: 48.257%;
    top: 39.159%;
    width: 12.389%;
    height: 12.389%;
    background-color: #52b26e;
    z-index: 4;
}

/* ---- caption + progress ---- */
.preloader-text {
    margin: 0;
    font-family: var(--heading-font);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.42em;
    text-indent: 0.42em;
    text-transform: uppercase;
    background: linear-gradient(90deg, hsl(var(--white) / 0.22) 0%, hsl(var(--white) / 0.22) 38%, hsl(var(--base)) 50%, hsl(var(--white) / 0.22) 62%, hsl(var(--white) / 0.22) 100%);
    background-size: 260% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: tskShimmer 2.4s linear infinite;
    margin-top: 20px;
}

.preloader-bar {
    position: relative;
    display: block;
    width: 140px;
    height: 2px;
    margin-top: -24px;
    border-radius: 2px;
    background-color: hsl(var(--white) / 0.1);
    overflow: hidden;
}

.preloader-bar i {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, #52b26e 45%, #d5212a 100%);
    animation: tskBar 1.8s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

@keyframes tskSweep {

    0%,
    25% {
        background-position: 160% 0;
    }

    65%,
    100% {
        background-position: -60% 0;
    }
}

@keyframes tskSpin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes tskGlow {

    0%,
    100% {
        transform: scale(0.85);
        opacity: 0.55;
    }

    50% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes tskShimmer {
    0% {
        background-position: 130% 0;
    }

    100% {
        background-position: -130% 0;
    }
}

@keyframes tskBar {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

@media screen and (max-width: 575px) {
    .tsk-loader {
        --pl-size: 104px;
    }

    .preloader-inner {
        gap: 36px;
    }

    .preloader-text {
        font-size: 11px;
    }

    .preloader-bar {
        width: 110px;
        margin-top: -20px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .preloader::before,
    .tsk-loader__ring::after,
    .tsk-loader__orbit,
    .tsk-loader__card,
    .tsk-loader__card::after,
    .tsk-piece,
    .preloader-text,
    .preloader-bar i,
    .preloader--v5 .tsk-loader__ring--alt {
        animation: none !important;
    }

    .tsk-piece {
        opacity: 1;
        transform: none;
    }
}

.preloader--main .tsk-piece {
    animation: tskReveal 2.9s cubic-bezier(0.76, 0, 0.24, 1) infinite;
}

.preloader--main .tsk-piece--sheet {
    --from: 0 0 100% 0;
    --to: 100% 0 0 0;
}

.preloader--main .tsk-piece--green-lg {
    --from: 0 100% 0 0;
    --to: 0 0 0 100%;
    animation-delay: 0.14s;
}

.preloader--main .tsk-piece--red {
    --from: 0 0 0 100%;
    --to: 0 100% 0 0;
    animation-delay: 0.28s;
}

.preloader--main .tsk-piece--green-sm {
    --from: 100% 0 0 0;
    --to: 0 0 100% 0;
    animation-delay: 0.42s;
}

/* scan line that travels with the reveal */
.preloader--main .tsk-loader__card::after {
    background: linear-gradient(to bottom, transparent 45%, hsl(var(--base) / 0.85) 50%, transparent 55%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    animation: tskScan 2.9s cubic-bezier(0.76, 0, 0.24, 1) infinite;
}

/* red arc on the inner ring, counter-rotating */
.preloader--main .tsk-loader__ring:not(.tsk-loader__ring--alt)::after {
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: #d5212a;
    animation-duration: 3s;
    animation-direction: reverse;
}

/* green arc on the outer ring */
.preloader--main .tsk-loader__ring--alt::after {
    border-top-color: hsl(var(--base));
    border-right-color: hsl(var(--base) / 0.4);
    border-bottom-color: transparent;
    border-left-color: transparent;
    animation-duration: 1.8s;
    animation-direction: normal;
}

@keyframes tskReveal {

    0%,
    5% {
        clip-path: inset(var(--from));
        opacity: 0;
    }

    12% {
        opacity: 1;
    }

    36%,
    64% {
        clip-path: inset(0 0 0 0);
        opacity: 1;
    }

    90%,
    100% {
        clip-path: inset(var(--to));
        opacity: 0;
    }
}

@keyframes tskScan {

    0%,
    5% {
        transform: translateY(-100%);
        opacity: 0;
    }

    12% {
        opacity: 1;
    }

    46% {
        transform: translateY(100%);
        opacity: 1;
    }

    50%,
    100% {
        transform: translateY(100%);
        opacity: 0;
    }
}


/* PRELOADER END */

.header {
    width: calc(100% - var(--gap) * 2);
}

.header.is-black .header-logo {
    color: hsl(var(--black));
    animation: rotateLogo 0.5s ease-in-out 0s 1 forwards !important;
}

.header.is-black .header-auth-btn {
    border: 2px solid hsl(var(--black));
    background: transparent;
    color: hsl(var(--black));
}

.header.is-white .header-logo {
    animation: rotateReverse 0.5s ease-in-out 0s 1 forwards;
}

.header-logo {
    width: 100%;
    flex-shrink: 0;
    color: hsl(var(--white));
    max-width: max-content;
    position: fixed;
    top: 40px;
    left: 40px;
    z-index: 999;
}

@media screen and (max-width: 1199px) {
    .header-logo {
        top: 32px;
        left: 32px;
    }
}

@media screen and (max-width: 991px) {
    .header-logo {
        top: 24px;
        left: 24px;
    }

    .header-logo svg {
        width: 32px;
        height: 32px;
    }
}

@media screen and (max-width: 767px) {
    .header-logo svg {
        width: 28px;
        height: 28px;
    }
}

@media screen and (max-width: 575px) {
    .header-logo svg {
        width: 24px;
        height: 24px;
    }
}

.header-logo:hover {
    color: hsl(var(--white));
}

.header-auth-btn {
    --size: 40px;
    width: var(--size);
    height: var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    border: 2px solid hsl(var(--white));
    background: hsl(var(--white)/0.05);
    backdrop-filter: blur(7.5px);
    cursor: pointer;
    color: hsl(var(--white));
    font-size: 24px;
}

@media screen and (max-width: 991px) {
    .header-auth-btn {
        --size: 32px;
        border-radius: 8px;
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .header-auth-btn {
        --size: 28px;
        border-radius: 6px;
        font-size: 16px;
    }
}

@media screen and (max-width: 575px) {
    .header-auth-btn {
        --size: 24px;
        border-radius: 4px;
    }
}

@keyframes rotateReverse {
    0% {
        transform: rotate(720deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

@keyframes rotateLogo {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(720deg);
    }
}

.dropdown-menu {
    padding: 12px;
    border: 0;
    box-shadow: none;
    background-color: hsl(var(--white));
    border-radius: 12px;
    display: unset !important;
    visibility: hidden;
    opacity: 0;
    position: absolute !important;
    border: 1px solid hsl(var(--black)/0.03);
    box-shadow: 0 20px 25px -5px hsl(var(--black)/0.1), 0 8px 10px -6px hsl(var(--black)/0.1);
}

.dropdown-menu.show {
    visibility: visible;
    opacity: 1;
}

.header-auth {
    position: fixed;
    top: 40px;
    right: 40px;
    z-index: 999;
}

@media screen and (max-width: 1199px) {
    .header-auth {
        top: 32px;
        right: 32px;
    }
}

@media screen and (max-width: 991px) {
    .header-auth {
        top: 24px;
        right: 24px;
    }
}


.header-auth-dropdown {
    position: absolute;
    top: 100%;
    background-color: hsl(var(--white)/0.1);
    backdrop-filter: blur(20px);
    width: 240px;
    right: 0;
    border: 1px solid hsl(var(--white)/0.05);
    box-shadow: 0px 5px 12px hsl(var(--white)/0.05);
    padding: 12px;
    border-radius: 12px;
    transition: all linear 0.3s;
    transform: scale(0.75);
    transform-origin: top right;
    opacity: 0;
    visibility: hidden;
}

.header-auth-link {
    font-size: 18px;
    color: hsl(var(--white));
    font-weight: 500;
    padding: 8px;
    text-shadow: 0px 2px 4px hsl(var(--black)/0.5);
    display: flex;
    align-items: center;
    gap: 6px;
    position: relative;
}

.header-auth-link .icon {
    flex-shrink: 0;
    display: flex;
}

.header-auth-link .arrow-icon {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
}


.header-auth-link:hover {
    color: hsl(var(--base-d-200)) !important;
}

.header-auth-link.logout:hover {
    color: hsl(var(--danger)) !important;
}


.header-auth-item:last-child {
    border-top: 1px solid hsl(var(--white)/0.1);
    margin-top: 12px;
}

.header-auth-item:last-child .icon {
    transform: rotate(90deg);
    color: hsl(var(--danger));
}

.header-auth:hover .header-auth-dropdown {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
}

.header.is-black .header-auth-dropdown {
    background-color: hsl(var(--section-bg));
    border: 1px solid hsl(var(--black)/0.05);
}

.header.is-black .header-auth-link {
    color: hsl(var(--black));
    text-shadow: 0px 2px 4px hsl(var(--white)/0.5);
}

.header.is-black .header-auth-item:last-child {
    border-top: 1px solid hsl(var(--black)/0.1);
}

.footer {
    margin-top: auto;
    background-color: hsl(var(--dark));
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .footer-info {
        margin-bottom: 32px;
    }
}

.footer-info-logo {
    max-width: 220px;
    width: 100%;
    margin-bottom: 16px;
}

.footer-info-desc {
    color: hsl(var(--white));
    margin-bottom: 24px;
    font-size: 18px;
    line-height: 1.6;
}

.footer-info-social {
    --size: 56px;
    display: flex;
    gap: 8px;
}

@media screen and (max-width: 1399px) {
    .footer-info-social {
        --size: 50px;
    }
}

@media screen and (max-width: 1199px) {
    .footer-info-social {
        --size: 46px;
    }
}

.footer-info-social-link {
    color: hsl(var(--white));
    width: var(--size);
    height: var(--size);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background-color: hsl(var(--body-color)/0.25);
}

@media screen and (max-width: 1399px) {
    .footer-info-social-link {
        border-radius: 8px;
    }
}

.footer-info-social-link:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.footer-wrapper {
    margin-top: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .footer-wrapper {
        margin-top: 32px;
        flex-direction: column;
        align-items: flex-end;
        gap: 32px;
    }
}

@media screen and (max-width: 575px) {
    .footer-wrapper {
        margin-top: 0;
        gap: 24px;
    }
}

.footer-wrapper-btn {
    --btn-s: 48px;
    padding: 4px 4px 4px 24px;
    background-color: hsl(var(--white));
    display: inline-flex;
    align-items: center;
    gap: 16px;
    border-radius: 50px;
    font-size: 20px;
    font-weight: 700;
    color: hsl(var(--heading-color));
    transition: all 0.3s linear;
}

@media screen and (max-width: 1399px) {
    .footer-wrapper-btn {
        --btn-s: 40px;
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .footer-wrapper-btn {
        --btn-s: 36px;
        font-size: 15px;
        gap: 10px;
    }
}

.footer-wrapper-btn .icon {
    height: var(--btn-s);
    width: var(--btn-s);
    border-radius: 50%;
    background-color: hsl(var(--base));
    display: grid;
    place-content: center;
    transition: all 0.3s linear;
    font-size: calc(var(--btn-s) * 0.75);
}

.footer-wrapper-btn:hover {
    color: hsl(var(--white));
    background-color: hsl(var(--base));
}

.footer-wrapper-btn:hover .icon {
    background-color: hsl(var(--white));
    color: hsl(var(--base));
}

@media screen and (max-width: 767px) {
    .footer-item {
        margin-bottom: 32px;
    }
}

.footer-item-title {
    color: hsl(var(--white));
    padding-bottom: 8px;
    margin-bottom: 16px;
    position: relative;
}

.footer-item-title::before,
.footer-item-title::after {
    content: "";
    position: absolute;
    width: 65px;
    height: 3px;
    left: 0;
    bottom: 0;
    background-color: hsl(var(--base));
    border-radius: 40px;
    overflow: hidden;
}

.footer-item-title::after {
    width: 10px;
    background-color: hsl(var(--dark));
    animation: bar_dot 5s linear infinite;
    border-radius: 0 !important;
}

@keyframes bar_dot {
    from {
        transform: translateX(-10px);
    }

    to {
        transform: translateX(65px);
    }
}

.footer-item-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-item-link {
    color: hsl(var(--border-light));
    transition: all 0.3s ease;
    font-size: 20px;
    line-height: 1.6;
    font-weight: 500;
}

@media screen and (max-width: 1399px) {
    .footer-item-link {
        font-size: 18px;
    }
}

@media screen and (max-width: 991px) {
    .footer-item-link {
        font-size: 16px;
    }
}

.footer-review {
    --gap: 40px;
    display: flex;
    align-items: center;
    gap: var(--gap);
}

@media screen and (max-width: 1399px) {
    .footer-review {
        --gap: 24px;
    }
}

@media screen and (max-width: 767px) {
    .footer-review {
        justify-content: space-between;
        width: 100%;
    }
}

.footer-review-item {
    position: relative;
}

.footer-review-item-logo {
    width: fit-content;
    display: block;
    text-align: center;
    margin-inline: auto;
    margin-bottom: 6px;
}

.footer-review-item-logo:before {
    content: '';
    width: 100%;
    height: 100%;
    display: inline-block;
    position: absolute;
    inset: 0px;
}

@media screen and (max-width: 767px) {
    .footer-review-item-logo img {
        height: 20px;
    }
}

.footer-review-item-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-review-item-content .title {
    color: hsl(var(--light));
    font-size: 12px;
    font-weight: 500;
    line-height: 140%;
    flex-shrink: 0;
}

.review-list {
    display: flex;
    align-items: center;
}

.review-list-item {
    color: hsl(var(--warning));
}

.review-list-item .icon-star-two {
    font-size: 16px;
}

@media screen and (max-width: 1399px) {
    .review-list-item .icon-star-two {
        font-size: 12px;
    }
}

@media screen and (max-width: 575px) {
    .review-list-item .icon-star-two {
        font-size: 9px;
    }
}

.footer-bottom {
    border-top: 1px solid hsl(var(--border-black));
    padding-block: 16px;
    text-align: center;
}

.footer-bottom-text {
    color: hsl(var(--light));
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
}

.footer-text {
    margin-top: clamp(3.4375rem, 2.7549rem + 2.9126vw, 6.25rem);
    text-align: center;
    white-space: nowrap;
    font-family: var(--secondary-font);
    font-size: clamp(3.375rem, 0.0073rem + 14.3689vw, 17.25rem);
    font-weight: 900;
    line-height: 120%;
    letter-spacing: -3.048px;
    background: linear-gradient(180deg, hsl(var(--body-color)) -161.59%, transparent 79.45%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: -2%;
}

::selection {
    color: hsl(var(--white));
    background: hsl(var(--base-d-100));
}

.social {
    position: absolute;
    bottom: 32px;
    left: 32px;
}

@media screen and (max-width: 1399px) {
    .social {
        bottom: 24px;
        left: 24px;
    }
}

@media screen and (max-width: 1199px) {
    .social {
        display: none;
    }
}

.social-list {
    display: flex;
    gap: 12px;
}

.social-link {
    --icon-size: 40px;
    width: var(--icon-size);
    height: var(--icon-size);
    display: grid;
    place-content: center;
    border-radius: 12px;
    border: 1px solid hsl(var(--white)/0.25);
    background: hsl(var(--white)/0.05);
    backdrop-filter: blur(7.5px);
    color: hsl(var(--white));
    transition: all 0.3s ease-in-out;
}

.social-link:hover {
    background: hsl(var(--base));
    color: hsl(var(--white));
}

.breadcrumb-list {
    border-radius: 250px;
    border: 2px solid hsl(var(--base));
    background: hsl(var(--base)/0.15);
    padding: 6px 18px;
    display: inline-block;
    margin-bottom: 16px;
}

@media screen and (max-width: 1199px) {
    .breadcrumb-list {
        padding: 6px 16px;
    }
}

.breadcrumb-list-item {
    color: hsl(var(--base)/0.5);
    font-size: 20px;
    font-weight: 700;
    line-height: 140%;
}

@media screen and (max-width: 1199px) {
    .breadcrumb-list-item {
        font-size: 18px;
    }

    .breadcrumb-list-item:not(:last-child) {
        margin-right: 4px;
    }
}

@media screen and (max-width: 767px) {
    .breadcrumb-list-item {
        font-size: 16px;
    }
}

.breadcrumb-list-item.active {
    color: hsl(var(--base));
    pointer-events: none;
}

.section-heading {
    --outer-m: 50px;
    --name-fs: 20px;
    --desc-fs: 18px;
    --extra-fs: 104px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: var(--outer-m);
}

@media screen and (max-width: 1599px) {
    .section-heading {
        --outer-m: 40px;
        --name-fs: 18px;
        --extra-fs: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .section-heading {
        --outer-m: 32px;
        --name-fs: 16px;
        --extra-fs: 64px;
        --desc-fs: 16px;
    }
}

@media screen and (max-width: 767px) {
    .section-heading {
        --extra-fs: 48px;
    }
}

.section-heading-content {
    max-width: max-content;
    width: 100%;
}

.section-heading-name {
    font-size: var(--name-fs);
    font-weight: 500;
    color: hsl(var(--black));
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.section-heading-name .icon {
    color: hsl(var(--base));
    font-size: calc(var(--name-fs) * 1.25);
}

.section-heading-name .text {
    position: relative;
    --overlay-bg: hsl(var(--light-bg));
    width: 180px;
    white-space: nowrap;
    overflow: hidden;
    text-transform: uppercase;
}

.section-heading-name .text::before,
.section-heading-name .text::after {
    position: absolute;
    content: "";
    width: 50px;
    height: 100%;
    top: 0;
    z-index: 2;
}

.section-heading-name .text::after {
    left: 0;
    background: linear-gradient(235deg, transparent 0%, var(--overlay-bg) 100%);
}

.section-heading-name .text::before {
    right: 0;
    background: linear-gradient(90deg, transparent 0%, var(--overlay-bg) 100%);
}

.section-heading-title {
    font-size: var(--extra-fs);
    font-weight: 900;
    line-height: 87%;
}

.section-heading-title .highlight {
    color: hsl(var(--body-color));
    display: block;
}

.section-heading-subheading {
    color: hsl(var(--body-color));
    font-weight: 100;
    line-height: 1.3;
}

.section-heading-desc {
    max-width: 536px;
    width: 100%;
    font-size: var(--desc-fs);
    color: hsl(var(--black));
}

@media screen and (max-width: 991px) {
    .section-heading-desc {
        display: none;
    }
}

.section-heading[variant=light] .section-heading-name {
    color: hsl(var(--white));
}

.section-heading[variant=light] .section-heading-name .text {
    --overlay-bg: hsl(var(--dark));
}

.section-heading[variant=light] .section-heading-title {
    color: hsl(var(--white));
}

.section-heading[variant=light] .section-heading-desc {
    color: hsl(var(--light));
}

.section-heading-subtitle {
    --extra-x-fs: 180px;
    font-size: var(--extra-x-fs);
    font-weight: 900;
    line-height: 87%;
    background: linear-gradient(180deg, hsl(var(--white)) -331.4%, transparent 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 1399px) {
    .section-heading-subtitle {
        --extra-x-fs: 140px;
    }
}

@media screen and (max-width: 1199px) {
    .section-heading-subtitle {
        --extra-x-fs: 110px;
    }
}

@media screen and (max-width: 991px) {
    .section-heading-subtitle {
        --extra-x-fs: 80px;
    }
}

@media screen and (max-width: 767px) {
    .section-heading-subtitle {
        --extra-x-fs: 70px;
    }
}

@media screen and (max-width: 575px) {
    .section-heading-subtitle {
        --extra-x-fs: 64px;
    }
}

@media screen and (max-width: 424px) {
    .section-heading-subtitle {
        --extra-x-fs: 48px;
    }
}

.section-heading[align=center] {
    justify-content: center;
}

.section-heading[align=center] .section-heading-name {
    justify-content: center;
}

.section-heading[space-bottom=true] {
    margin-bottom: -30px;
}

@media screen and (max-width: 1199px) {
    .section-heading[space-bottom=true] {
        margin-bottom: -10px;
    }
}

@media screen and (max-width: 424px) {
    .section-heading[space-bottom=true] {
        margin-bottom: -6px;
    }
}

.section-heading-bar {
    flex: 1;
    height: 4px;
    background-color: hsl(var(--body-color));
    margin-left: 36px;
    margin-bottom: 20px;
}

body:has(.banner, .about-banner) .nav-menu {
    bottom: 32px;
}

@media screen and (max-width: 767px) {
    body:has(.banner, .about-banner) .nav-menu {
        bottom: 24px;
    }
}

@media screen and (max-width: 575px) {
    body:has(.banner, .about-banner) .nav-menu {
        bottom: 20px;
    }
}

.nav-menu {
    position: fixed;
    bottom: 16px;
    z-index: 999999;
    left: 50%;
    transform: translateX(-50%);
    max-width: 615px;
    width: 100%;
    border-radius: 12px;
    padding: 6px 32px;
}

@media screen and (max-width: 1399px) {
    .nav-menu {
        max-width: 500px;
    }
}

@media screen and (max-width: 1199px) {
    .nav-menu {
        padding: 8px 20px;
    }
}

@media screen and (max-width: 767px) {
    .nav-menu {
        padding: 8px 16px;
        max-width: calc(100vw - 32px);
    }
}

.nav-menu::before {
    content: "";
    z-index: -1;
    background: hsl(var(--heading-color));
    position: absolute;
    height: calc(100% - 2px);
    width: calc(100% - 2px);
    inset: 1px;
    border-radius: 12px;
    box-shadow: 0 1px 1px -0.5px hsl(var(--black)/0.04), 0 3px 3px -1.5px hsl(var(--black)/0.04), 0 3px 6px -2px hsl(var(--white)/0.64) inset, 0 0 8px -2px hsl(var(--white)/0.48) inset;
}

.nav-menu::after {
    content: "";
    z-index: -2;
    background: linear-gradient(0deg, transparent 0%, hsl(var(--base)) 100%);
    position: absolute;
    inset: 0;
    border-radius: 12px;
}

.nav-menu-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-menu-link {
    color: hsl(var(--white));
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 130%;
}

@media screen and (max-width: 991px) {
    .nav-menu-link {
        font-size: 1rem;
    }
}

.nav-menu-inbox-link {
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    background: hsl(var(--base));
    color: hsl(var(--white));
    box-shadow: 0 0 2.232px 0 hsl(var(--base)/0.1), 0 4.465px 8.93px 0 hsl(var(--base)/0.1);
    font-size: 24px;
}

.nav-menu-item--has-mega:hover .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
}

.nav-menu-contact-link {
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 10px;
    background: hsl(var(--base));
    color: hsl(var(--white));
    padding: 7px 7px 7px 24px;
    box-shadow: 0 0 4px 0 hsl(var(--base)/0.1), 0 8px 16px 0 hsl(var(--base)/0.1);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 130%;
}

@media screen and (max-width: 1399px) {
    .nav-menu-contact-link {
        padding: 6px 6px 6px 16px;
        font-size: 1.125rem;
    }
}

.nav-menu-contact-link .icon {
    --size: 42px;
    color: hsl(var(--base));
    background-color: hsl(var(--white));
    height: var(--size);
    width: var(--size);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    overflow: hidden;
}

.nav-menu-contact-link .icon i {
    transition: all 0.3s;
    transform: translate(0px, 2px);
    text-shadow: -42px 0px hsl(var(--base));
}

.nav-menu-contact-link:hover {
    color: hsl(var(--white));
    background-color: hsl(var(--base-l-100));
}

.nav-menu-contact-link:hover i {
    transform: translate(42px, 2px);
}

.mega-menu {
    position: absolute;
    bottom: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    width: 880px;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    box-shadow: 0 24px 64px hsl(var(--black)/0.13), 0 0 0 1px hsl(var(--black)/0.06);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s 0.15s, visibility 0.25s 0.15s, transform 0.25s 0.15s;
    background-color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .mega-menu {
        width: 700px;
    }
}

@media screen and (max-width: 991px) {
    .mega-menu {
        width: 650px;
    }
}

@media screen and (max-width: 767px) {
    .mega-menu {
        width: 550px;
    }
}

@media screen and (max-width: 575px) {
    .mega-menu {
        width: 100%;
    }
}

.mega-menu__left {
    flex: 0 0 50%;
    padding: 36px 32px 0;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.mega-menu__left::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(120% 90% at 0% 0%, hsl(var(--white)/0.65) 0%, transparent 55%),
        linear-gradient(165deg, transparent 45%, hsl(var(--base-d-400)/0.16) 100%);
    pointer-events: none;
}

@media screen and (max-width: 1199px) {
    .mega-menu__left {
        padding: 24px 24px 0;
    }
}

@media screen and (max-width: 575px) {
    .mega-menu__left {
        display: none;
    }
}

.mega-menu__badge {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: hsl(var(--white)/0.8);
    backdrop-filter: blur(8px);
    color: hsl(var(--base-d-200));
    border-radius: 100px;
    padding: 6px 14px 6px 8px;
    font-weight: 600;
    margin-bottom: 22px;
    align-self: flex-start;
    box-shadow: 0 6px 16px -6px hsl(var(--black)/0.12), inset 0 0 0 1px hsl(var(--white)/0.7);
}

@media screen and (max-width: 1199px) {
    .mega-menu__badge {
        font-size: 14px;
    }
}

.mega-menu__badge i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: hsl(var(--base)/0.14);
    font-size: 12px;
}

.mega-menu__title {
    position: relative;
    z-index: 1;
    font-weight: 900;
    letter-spacing: -0.01em;
    color: hsl(var(--heading-color));
    margin-bottom: 14px;
}

.mega-menu__highlight {
    display: block;
    background: linear-gradient(90deg, hsl(var(--base-l-100)), hsl(var(--base-d-300)));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.mega-menu__desc {
    position: relative;
    z-index: 1;
    font-size: 0.9375rem;
    color: hsl(var(--black));
    line-height: 1.6;
    margin-bottom: 24px;
    max-width: 260px;
    font-weight: 500;
}

.mega-menu__cta {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, hsl(var(--heading-color)), hsl(var(--heading-color)/0.85));
    color: hsl(var(--white));
    border-radius: 100px;
    padding: 4px 4px 4px 20px;
    font-size: 1rem;
    font-weight: 700;
    align-self: flex-start;
    box-shadow: 0 10px 24px -10px hsl(var(--heading-color)/0.55);
    transition: background 0.25s, box-shadow 0.25s, transform 0.25s;
}

.mega-menu__cta:hover {
    color: hsl(var(--white));
    background: hsl(var(--base));
    box-shadow: 0 12px 28px -8px hsl(var(--base)/0.55);
    transform: translateY(-2px);
}

.mega-menu__cta:hover .mega-menu__cta-icon {
    background: hsl(var(--black));
}

.mega-menu__cta-icon {
    --size: 36px;
    width: var(--size);
    height: var(--size);
    background: linear-gradient(135deg, hsl(var(--base-l-100)), hsl(var(--base)));
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: hsl(var(--white));
    transition: background 0.25s;
}

.mega-menu__thumb {
    position: relative;
    z-index: 1;
    margin-top: auto;
    text-align: center;
}

.mega-menu__thumb img {
    max-width: 90%;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 22px 28px hsl(var(--black)/0.16));
}

@media screen and (max-width: 1399px) {
    .mega-menu__thumb img {
        max-width: 80%;
    }
}

.mega-menu__right {
    flex: 1;
    background: hsl(var(--white));
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px 32px;
}

@media screen and (max-width: 1199px) {
    .mega-menu__right {
        padding: 16px 24px;
    }
}

.mega-menu__item {
    border-bottom: 1px solid hsl(var(--border-color));
}

.mega-menu__item:last-child {
    border-bottom: none;
}

.mega-menu__link {
    --inner-p: 28px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-block: var(--inner-p);
    padding-right: 20px;
    transition: background 0.2s;
    position: relative;
    z-index: 1;
    --size: 56px;
}

@media screen and (max-width: 1399px) {
    .mega-menu__link {
        --inner-p: 20px;
    }
}

@media screen and (max-width: 1199px) {
    .mega-menu__link {
        --size: 48px;
        --inner-p: 16px;
    }
}

.mega-menu__link::after {
    content: "";
    position: absolute;
    z-index: -1;
    background: hsl(var(--base-l-900));
    border-radius: 10px;
    height: var(--size);
    width: var(--size);
    left: 0;
    transition: all linear 0.3s;
}

.mega-menu__link:hover::after {
    height: 100%;
    width: 100%;
    border-radius: 0;
}

.mega-menu__link:hover .mega-menu__name {
    color: hsl(var(--base));
}

.mega-menu__link:hover .mega-menu__arrow {
    transform: translateY(-50%) rotate(-90deg);
}

.mega-menu__icon {
    width: var(--size);
    height: var(--size);
    min-width: var(--size);
    display: flex;
    align-items: center;
    justify-content: center;
    color: hsl(var(--base));
    font-size: calc(var(--size) * 0.6);
}

.mega-menu__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mega-menu__name {
    font-size: 1.125rem;
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.3;
    transition: color 0.2s;
}

@media screen and (max-width: 1199px) {
    .mega-menu__name {
        font-size: 17px;
    }
}

.mega-menu__text {
    font-size: 0.9375rem;
    color: hsl(var(--body-color));
}

@media screen and (max-width: 1199px) {
    .mega-menu__text {
        font-size: 0.875rem;
        font-weight: 500;
    }
}

.mega-menu__arrow {
    color: hsl(var(--heading-color));
    font-size: 24px;
    flex-shrink: 0;
    transition: transform 0.2s;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    right: 0;
}

@media screen and (max-width: 1199px) {
    .mega-menu__arrow {
        font-size: 17px;
    }
}

.banner {
    height: 100dvh;
    position: relative;
    overflow: hidden;
}

.banner-control {
    height: 100%;
    padding: 16px;
}

@media screen and (max-width: 1599px) {
    .banner-control {
        padding: 12px;
    }
}

@media screen and (max-width: 575px) {
    .banner-control {
        padding: 8px;
    }
}

.banner-wrapper {
    position: relative;
    z-index: 1;
    border-radius: 32px;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 1599px) {
    .banner-wrapper {
        border-radius: 24px;
    }
}

.banner-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: hsl(var(--dark)/0.5);
}

.banner-bg {
    position: absolute;
    inset: 0;
    z-index: -4;
}

.banner-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.banner-text {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(20%);
    width: 100%;
    font-family: var(--secondary-font);
    font-size: clamp(3.375rem, 0.0073rem + 14.3689vw, 17.25rem);
    white-space: nowrap;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -5.248px;
    font-weight: 900;
    line-height: 1.4;
    text-align: center;
    background: linear-gradient(180deg, hsl(var(--white)/0.08) 0%, transparent 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    backdrop-filter: blur(0.65px);
    z-index: -3;
}

@media screen and (max-width: 1199px) {
    .banner-text {
        letter-spacing: -4px;
    }
}

.banner-light-shape {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    z-index: -1;
    color: hsl(var(--base));
}

.banner-content {
    max-width: 1268px;
    width: 100%;
    margin-inline: auto;
    padding-block: 24vh;
}

@media screen and (max-width: 1399px) {
    .banner-content {
        max-width: 1100px;
    }
}

@media screen and (max-width: 1199px) {
    .banner-content {
        max-width: 1000px;
    }
}

@media screen and (max-width: 991px) {
    .banner-content {
        max-width: 720px;
    }
}

@media screen and (max-width: 767px) {
    .banner-content {
        max-width: 620px;
        padding-inline: 6px;
    }
}

@media screen and (max-width: 575px) {
    .banner-content {
        max-width: 520px;
    }
}

.banner-content-title {
    font-size: 102px;
    line-height: 1.3;
    text-align: center;
    color: hsl(var(--white));
    font-weight: 900;
    margin-bottom: 32px;
}

@media screen and (max-width: 1599px) {
    .banner-content-title {
        font-size: 80px;
    }
}

@media screen and (max-width: 1399px) {
    .banner-content-title {
        font-size: 70px;
    }
}

@media screen and (max-width: 1199px) {
    .banner-content-title {
        font-size: 64px;
    }
}

@media screen and (max-width: 991px) {
    .banner-content-title {
        font-size: 52px;
        margin-bottom: 24px;
    }
}

@media screen and (max-width: 575px) {
    .banner-content-title {
        font-size: 44px;
        margin-bottom: 16px;
    }
}

@media screen and (max-width: 424px) {
    .banner-content-title {
        margin-bottom: 8px;
    }
}

.banner-content-title .highlight-text {
    position: relative;
    z-index: 1;
    padding-inline: 20px;
}

@media screen and (max-width: 1399px) {
    .banner-content-title .highlight-text {
        padding-inline: 16px;
    }
}

.banner-content-title .highlight-text::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: hsl(var(--base));
    border-radius: 22px;
    transform: rotate(-2.5deg);
}

@media screen and (max-width: 1399px) {
    .banner-content-title .highlight-text::after {
        border-radius: 16px;
    }
}

@media screen and (max-width: 575px) {
    .banner-content-title .highlight-text::after {
        border-radius: 10px;
    }
}

.banner-content-desc {
    color: hsl(var(--white));
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3;
}

@media screen and (max-width: 1399px) {
    .banner-content-desc {
        font-size: 22px;
    }
}

@media screen and (max-width: 991px) {
    .banner-content-desc {
        font-size: 18px;
    }
}

@media screen and (max-width: 575px) {
    .banner-content-desc {
        font-size: 16px;
        font-weight: 400;
    }
}

.review {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: max-content;
    width: 100%;
    margin-inline: auto;
    gap: 8px;
    padding: 8px;
    border-radius: 12px;
    border: 1px solid hsl(var(--white)/0.2);
    background: hsl(var(--white)/0.15);
    backdrop-filter: blur(11.1px);
    margin-bottom: 44px;
}

@media screen and (max-width: 575px) {
    .review {
        margin-bottom: 24px;
    }
}

@media screen and (max-width: 767px) {
    .review {
        margin-bottom: 16px;
    }
}

.review-thumb {
    flex-shrink: 0;
    display: flex;
}

.review-thumb-img {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    border-radius: 8px;
    background-color: hsl(var(--white));
    box-shadow: 0 0 6px 0 hsl(var(--black)/0.02), 0 2px 4px 0 hsl(var(--black)/0.08);
    display: grid;
    place-items: center;
    position: relative;
}

@media screen and (max-width: 991px) {
    .review-thumb-img {
        --size: 24px;
        border-radius: 6px;
    }
}

.review-thumb-img:not(:first-child) {
    margin-left: -10px;
}

@media screen and (max-width: 991px) {
    .review-thumb-img:not(:first-child) {
        margin-left: -6px;
    }
}

.review-thumb-img:first-child {
    z-index: 1;
}

.review-thumb-img:last-child {
    z-index: -1;
}

.review-thumb-img img {
    max-width: 24px;
}

@media screen and (max-width: 991px) {
    .review-thumb-img img {
        max-width: 18px;
    }
}

.review-content {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 4px;
}

.review-rating {
    display: flex;
    align-items: center;
}

.review-rating .icon {
    display: flex;
    color: hsl(var(--warning));
    font-size: 20px;
}

@media screen and (max-width: 991px) {
    .review-rating .icon {
        font-size: 16px;
    }
}

.review-count {
    color: hsl(var(--white));
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

@media screen and (max-width: 991px) {
    .review-count {
        font-size: 16px;
    }
}

.video {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    position: relative;
    margin-bottom: 150vh;
    background: linear-gradient(180deg, transparent 0%, hsl(var(--black)/0.4) 100%);
}

.video-wrapper {
    align-content: center;
    align-items: center;
    height: 480px;
    width: 40%;
    will-change: transform;
    opacity: 1;
    transform-style: preserve-3d;
    transform-origin: 50% 50% 0px;
    transform: perspective(1200px) translateY(10px) rotateX(50deg);
    position: relative;
}

@media screen and (max-width: 1399px) {
    .video-wrapper {
        height: 400px;
    }
}

@media screen and (max-width: 1199px) {
    .video-wrapper {
        height: 380px;
    }
}

.video video {
    width: 100%;
    height: 100%;
    border-radius: 0px;
    display: block;
    object-fit: cover;
    object-position: 50% 50%;
    transform-origin: center center;
}

.service-section {
    position: relative;
    z-index: 2;
    background-color: hsl(var(--white));
    overflow: hidden;
    min-height: 100vh;
}

.service-card {
    --radius: 40px;
    --card-bg: 38 100% 96%;
    --inner-p: 32px;
    --thumb-w: 50%;
    --gap: 48px;
    --outer-gap: 48px;
    --text-fs: 18px;
    --icon-size: 56px;
    display: flex;
    align-items: center;
    padding: var(--inner-p);
    padding-left: calc(var(--inner-p) * 1.75);
    gap: var(--gap);
    background-color: hsl(var(--card-bg));
    border-radius: var(--radius);
    position: relative;
    will-change: transform;
    perspective: 500px;
}

@media screen and (max-width: 1399px) {
    .service-card {
        --radius: 30px;
        --inner-p: 24px;
        --gap: 32px;
        --outer-gap: 32px;
        --text-fs: 16px;
        --icon-size: 40px;
    }
}

@media screen and (max-width: 1199px) {
    .service-card {
        --gap: 24px;
        --radius: 24px;
        --inner-p: 20px;
        --thumb-w: 40%;
    }
}

@media screen and (max-width: 991px) {
    .service-card {
        flex-direction: column;
        padding: var(--inner-p);
        gap: 36px;
    }
}

@media screen and (max-width: 575px) {
    .service-card {
        --radius: 20px;
        --inner-p: 16px;
        --icon-size: 32px;
    }
}

.service-card.style-two {
    padding: 0;
    --thumb-w: 53%;
    background-color: transparent;
}

.service-card:not(:last-child) {
    margin-bottom: var(--outer-gap);
}

.service-card.card-two {
    --card-bg: 226 100% 97%;
}

.service-card.card-three {
    --card-bg: 152 81% 96%;
}

.service-card.card-four {
    --card-bg: 0 86% 97%;
}

.service-card.card-five {
    --card-bg: 270 100% 98%;
}

.service-card-content {
    width: calc(100% - (var(--thumb-w) + var(--gap)));
}

@media screen and (max-width: 991px) {
    .service-card-content {
        width: 100%;
    }
}

.service-card-title {
    margin-bottom: 10px;
}

.service-card-title a {
    position: relative;
}

.service-card-title a::after {
    content: "";
    position: absolute;
    transition: all linear 0.3s;
    height: 2px;
    width: 0px;
    background-color: hsl(var(--black));
    bottom: 0;
    left: 0;
}

.service-card-title:hover a {
    color: hsl(var(--black));
}

.service-card-title:hover a::after {
    width: 100%;
}

.service-card-desc {
    color: hsl(var(--secondary));
    font-size: var(--text-fs);
    line-height: 160%;
    margin-bottom: 24px;
}

.service-card-info {
    margin-bottom: var(--outer-gap);
}

.service-card-info .title {
    margin-bottom: 8px;
    line-height: 1.4;
}

.service-card-info-list {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.service-card-info-item {
    width: calc(50% - 6px);
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    color: hsl(var(--secondary));
    font-size: var(--text-fs);
}

@media screen and (max-width: 1199px) {
    .service-card-info-item {
        font-size: 15px;
    }
}

@media screen and (max-width: 575px) {
    .service-card-info-item {
        width: 100%;
    }
}

.service-card-info-item::before {
    content: "";
    width: 12px;
    height: 2px;
    background-color: hsl(var(--secondary));
}

.service-card-tech {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.service-card-tech-item {
    width: var(--icon-size);
    height: var(--icon-size);
    border-radius: 12px;
    display: grid;
    place-content: center;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.61);
    padding: 6px;
}

.service-card-tech-item img {
    max-height: 24px;
}

@media screen and (max-width: 1199px) {
    .service-card-tech-item {
        border-radius: 8px;
    }
}

.service-card-link {
    --size: 56px;
    height: var(--size);
    width: var(--size);
    position: absolute;
    top: 20px;
    right: 20px;
    border-radius: 12px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.6);
    box-shadow: 0 0 12px 0 hsl(var(--black)/0.1);
    backdrop-filter: blur(10px);
    color: hsl(var(--black));
    font-size: calc(var(--size) * 0.65);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.5);
    visibility: hidden;
    transition: all linear 0.3s;
}

@media screen and (max-width: 1199px) {
    .service-card-link {
        --size: 56px;
    }
}

.service-card:hover .service-card-link {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
}

.service-card-thumb {
    border-radius: calc(var(--radius) / 1.33);
    overflow: hidden;
    width: var(--thumb-w);
    position: relative;
}

@media screen and (max-width: 991px) {
    .service-card-thumb {
        width: 100%;
    }
}

.service-card-btn {
    margin-top: var(--outer-gap);
}

.service-card-btn .btn {
    border-radius: 12px;
}

.services-wrapper .service-card:nth-child(odd) {
    flex-direction: row-reverse;
}

@media screen and (max-width: 991px) {
    .services-wrapper .service-card:nth-child(odd) {
        flex-direction: column;
    }
}

.tween-section {
    background-color: hsl(var(--dark));
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .tween-section {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .tween-section {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .tween-section {
        border-radius: 20px;
    }
}

.tween-section .products-section {
    background-color: transparent;
    border-radius: 0;
}

.tween-section.style-two {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.products-section {
    background-color: hsl(var(--dark));
    min-height: 100vh;
    border-radius: 40px;
    overflow-x: clip;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

@media screen and (max-width: 1399px) {
    .products-section {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .products-section {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .products-section {
        border-radius: 20px;
    }
}

.products-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: 64px;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 1599px) {
    .products-wrapper {
        gap: 48px;
    }
}

@media screen and (max-width: 991px) {
    .products-wrapper {
        gap: 32px;
        flex-direction: column;
    }
}

.product-item {
    --content-w: 240px;
    --extra-w: 320px;
    --gap: 40px;
    display: flex;
    gap: var(--gap);
    padding: 24px 40px;
    border-radius: 40px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    width: 100%;
    flex-shrink: 0;
}

@media screen and (max-width: 1399px) {
    .product-item {
        --content-w: 240px;
        --extra-w: 280px;
        --gap: 32px;
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .product-item {
        --extra-w: 200px;
        --gap: 24px;
        border-radius: 24px;
    }
}

@media screen and (max-width: 991px) {
    .product-item {
        flex-wrap: wrap;
        padding: 24px;
    }
}

@media screen and (max-width: 575px) {
    .product-item {
        border-radius: 20px;
    }
}

.product-item-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.product-item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    backdrop-filter: blur(50px);
    background-color: hsl(var(--dark)/0.6);
}

.product-item .title {
    color: hsl(var(--light));
    line-height: 1.6;
}

@media screen and (max-width: 1399px) {
    .product-item .title {
        font-size: 0.875rem;
    }
}

.product-item-content {
    --gap: 24px;
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    width: var(--content-w);
}

@media screen and (max-width: 1399px) {
    .product-item-content {
        --gap: 20px;
    }
}

@media screen and (max-width: 991px) {
    .product-item-content {
        --gap: 16px;
        width: 100%;
        margin-bottom: 60px;
    }
}

.product-item-logo {
    max-width: 180px;
    width: 100%;
}

@media screen and (max-width: 1399px) {
    .product-item-logo {
        max-width: 160px;
    }
}

.product-item-desc {
    font-size: 1.125rem;
    line-height: 1.6;
    color: hsl(var(--light));
}

@media screen and (max-width: 1399px) {
    .product-item-desc {
        font-size: 1rem;
    }
}

@media screen and (max-width: 1199px) {
    .product-item-desc {
        font-size: 0.9375rem;
    }
}

.product-item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    justify-content: space-between;
}

@media screen and (max-width: 991px) {
    .product-item-info {
        flex-direction: row;
        align-items: flex-end;
        flex-wrap: wrap;
    }
}

.product-item-info-list .item {
    font-size: 1.125rem;
    line-height: 1.4;
    color: hsl(var(--white));
    font-weight: 700;
    margin-top: 8px;
}

@media screen and (max-width: 1399px) {
    .product-item-info-list .item {
        font-size: 1rem;
    }
}

@media screen and (max-width: 1199px) {
    .product-item-info-list .item {
        font-size: 0.875rem;
    }
}

.product-item-info-date .time {
    font-size: 1.125rem;
    line-height: 1.4;
    color: hsl(var(--white));
    font-weight: 700;
}

@media screen and (max-width: 1399px) {
    .product-item-info-date .time {
        font-size: 1rem;
    }
}

@media screen and (max-width: 1199px) {
    .product-item-info-date .time {
        font-size: 0.875rem;
    }
}

.product-item-thumb {
    flex: 1;
    text-align: right;
}

.product-item-thumb img {
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .product-item-thumb img {
        border-radius: 32px;
        max-width: 390px;
        width: 100%;
    }
}

@media screen and (max-width: 1199px) {
    .product-item-thumb img {
        max-width: 360px;
        border-radius: 20px;
    }
}

@media screen and (max-width: 991px) {
    .product-item-thumb img {
        max-width: 100%;
    }
}

@media screen and (max-width: 575px) {
    .product-item-thumb img {
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .product-item-thumb {
        order: 2;
    }
}

.product-item-extra {
    width: var(--extra-w);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media screen and (max-width: 991px) {
    .product-item-extra {
        width: 100%;
    }
}

.product-item-extra .item {
    font-size: 1.125rem;
    line-height: 1.4;
    color: hsl(var(--white));
    font-weight: 700;
    margin-top: 8px;
    display: block;
}

@media screen and (max-width: 1399px) {
    .product-item-extra .item {
        font-size: 1rem;
    }
}

@media screen and (max-width: 1199px) {
    .product-item-extra .item {
        font-size: 0.875rem;
    }
}

.product-item-extra .item:hover {
    text-decoration: underline;
}

.product-item-extra-link {
    color: hsl(var(--white));
    font-size: 20px;
    font-weight: 700;
    line-height: 140%;
    display: flex;
    align-items: center;
    gap: 4px;
}

@media screen and (max-width: 1399px) {
    .product-item-extra-link {
        font-size: 1rem;
    }
}

@media screen and (max-width: 1199px) {
    .product-item-extra-link {
        font-size: 0.9375rem;
    }
}

.product-item-extra-link .icon {
    transition: 0.2s ease-in-out;
    font-size: 24px;
    display: flex;
}

@media screen and (max-width: 1399px) {
    .product-item-extra-link .icon {
        font-size: 20px;
    }
}

@media screen and (max-width: 1199px) {
    .product-item-extra-link .icon {
        font-size: 18px;
    }
}

.product-item-extra-link:hover {
    color: hsl(var(--white)/0.6);
}

.product-item-extra-link:hover .text {
    text-decoration: underline;
}

.product-item-extra-link:hover .icon {
    transform: rotate(45deg);
}


.stories-section {
    overflow-x: clip;
}

.stories-wrapper {
    --item-w: 90px;
    --item-h: 550px;
    --height-round: 40px;
    --radius: 20px;
    --gap: 24px;
    --view-width: 860px;
    display: flex;
    align-items: center;
    gap: var(--gap);
    width: 100%;
    padding: 60px 0;
    position: relative;
    overflow: hidden;
    height: var(--item-h);
}

@media screen and (max-width: 1399px) {
    .stories-wrapper {
        --item-w: 75px;
        --item-h: 500px;
        --view-width: 720px;
    }
}

@media screen and (max-width: 1199px) {
    .stories-wrapper {
        --item-w: 70px;
        --item-h: 420px;
        --view-width: 520px;
        --radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .stories-wrapper {
        --item-w: 60px;
        --item-h: 360px;
        --view-width: 355px;
        --radius: 12px;
    }
}

@media screen and (max-width: 767px) {
    .stories-wrapper {
        --item-h: 300px;
        --view-width: 350px;
    }
}

@media screen and (max-width: 575px) {
    .stories-wrapper {
        --item-w: 40px;
        --item-h: 250px;
        --view-width: 240px;
        --gap: 8px;
        --radius: 8px;
        width: 336px;
        overflow-x: clip;
    }
}

.stories-item {
    height: calc(var(--item-h) - var(--height-round) * 2);
    width: var(--item-w);
    flex-shrink: 0;
    border-radius: var(--radius);
    overflow: hidden;
    position: relative;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1), height 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    transition: width 0.8s ease, height 0.8s ease, opacity 0.8s ease;
    cursor: pointer;
}

.stories-item.sm-height {
    height: calc(var(--item-h) - var(--height-round));
}

.stories-item-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: var(--view-width);
    padding: 40px 36px 32px;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

@media screen and (max-width: 1199px) {
    .stories-item-content {
        padding: 30px 24px 22px;
    }
}

@media screen and (max-width: 575px) {
    .stories-item-content {
        padding: 18px 14px 14px;
    }
}

.stories-item-content .quote {
    font-size: 1.3125rem;
    line-height: 1.6;
    color: hsl(var(--white)/0.88);
    max-width: 760px;
    margin-top: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .stories-item-content .quote {
        font-size: 1.125rem;
        line-height: 1.6;
        margin-top: 13px;
    }
}

@media screen and (max-width: 991px) {
    .stories-item-content .quote {
        font-size: 0.9375rem;
        line-height: 1.55;
        margin-top: 10px;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }
}

@media screen and (max-width: 575px) {
    .stories-item-content .quote {
        font-size: 0.8125rem;
        line-height: 1.5;
        margin-top: 7px;
    }
}

.stories-item-content .name {
    font-size: 2rem;
    font-weight: 700;
    color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .stories-item-content .name {
        font-size: 1.625rem;
    }
}

@media screen and (max-width: 991px) {
    .stories-item-content .name {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 575px) {
    .stories-item-content .name {
        font-size: 1rem;
    }
}

.stories-item::after {
    content: "";
    inset: 0;
    position: absolute;
    background: hsl(var(--dark)/0.8);
    z-index: 2;
    transition: opacity 0.5s;
}

.stories-item.stories-view {
    width: var(--view-width);
    height: var(--item-h);
}

.stories-item.stories-view::after {
    opacity: 0;
}

.stories-item.stories-view .stories-item-name {
    opacity: 0;
    visibility: hidden;
}

.stories-item.stories-view .stories-item-content {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease 0.5s, visibility 0.4s ease 0.5s;
}

.stories-item-img {
    width: 100%;
    height: 100%;
    position: relative;
}

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

.stories-item-img::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.8s ease;
    background: linear-gradient(to top,
            hsl(var(--black)/0.96) 0%,
            hsl(var(--black)/0.88) 18%,
            hsl(var(--black)/0.7) 36%,
            hsl(var(--black)/0.42) 54%,
            hsl(var(--black)/0.15) 72%,
            transparent 88%);
}

.stories-item.stories-view .stories-item-img::after {
    opacity: 1;
}

.stories-item-name {
    z-index: 3;
    position: absolute;
    inset: 0;
    color: hsl(var(--white));
    font-size: 1.5rem;
    font-weight: 700;
    writing-mode: vertical-rl;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(-1);
    letter-spacing: 8px;
}

@media screen and (max-width: 1399px) {
    .stories-item-name {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 991px) {
    .stories-item-name {
        font-size: 1.0625rem;
    }
}

@media screen and (max-width: 767px) {
    .stories-item-name {
        font-size: 1rem;
    }
}

@media screen and (max-width: 575px) {
    .stories-item-name {
        font-size: 0.875rem;
        letter-spacing: 3px;
    }
}

@media screen and (max-width: 424px) {
    .stories-item-name {
        font-size: 0.75rem;
    }
}

.stories-item-arrow {
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: 0;
    visibility: hidden;
}

.stories-item-arrow .icon {
    --size: 40px;
    width: var(--size);
    height: var(--size);
    display: grid;
    place-content: center;
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    transition: all linear 0.1s;
    color: hsl(var(--white));
    font-size: 48px;
}

@media screen and (max-width: 1199px) {
    .stories-item-arrow .icon {
        --size: 32px;
        bottom: 16px;
        font-size: 40px;
    }
}

@media screen and (max-width: 991px) {
    .stories-item-arrow .icon {
        --size: 28px;
        bottom: 8px;
        font-size: 28px;
    }
}

@media screen and (max-width: 991px) {
    .stories-item-arrow .icon {
        font-size: 20px;
    }
}

@media screen and (max-width: 424px) {
    .stories-item-arrow .icon {
        font-size: 18px;
    }
}

.stories-item.left-item .arrow-left {
    opacity: 1;
    visibility: visible;
}

.stories-item.right-item .arrow-right {
    opacity: 1;
    visibility: visible;
}

.stories-item:hover .arrow-left .icon {
    transform: translateX(-60%) !important;
}

.stories-item:hover .arrow-right .icon {
    transform: translateX(-40%) !important;
}

.tween-section:has(.radius-unset) {
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.statistics-heading {
    --outer-gap: 72px;
    --thumb-size: 80px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: var(--outer-gap);
}

@media screen and (max-width: 1399px) {
    .statistics-heading {
        --thumb-size: 60px;
    }
}

@media screen and (max-width: 991px) {
    .statistics-heading {
        --thumb-size: 48px;
        --outer-gap: 50px;
    }
}

@media screen and (max-width: 575px) {
    .statistics-heading {
        --thumb-size: 40px;
        --outer-gap: 24px;
    }
}

@media screen and (max-width: 575px) {
    .statistics-heading {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media screen and (max-width: 575px) {
    .statistics-heading-auth {
        display: flex;
        gap: 8px;
        align-items: center;
    }
}

.statistics-heading-auth .thumb img {
    height: var(--thumb-size);
    width: var(--thumb-size);
    border-radius: 100%;
    border: 3px solid hsl(var(--white));
    background: #8beab3;
    position: relative;
    flex-shrink: 0;
}

.statistics-heading-auth .thumb img:first-child {
    z-index: 1;
}

.statistics-heading-auth .thumb img:not(:last-child) {
    margin-right: -20px;
}

@media screen and (max-width: 575px) {
    .statistics-heading-auth .thumb img:not(:last-child) {
        margin-right: -16px;
    }
}

.statistics-heading-auth .title {
    color: hsl(var(--body-color));
    font-size: 18px;
    font-weight: 600;
    line-height: 120%;
    margin-top: 10px;
}

@media screen and (max-width: 1199px) {
    .statistics-heading-auth .title {
        font-size: 16px;
    }
}

@media screen and (max-width: 991px) {
    .statistics-heading-auth .title {
        font-size: 14px;
    }
}

@media screen and (max-width: 575px) {
    .statistics-heading-auth .title {
        margin: 0;
    }
}

.statistics-heading-desc {
    font-weight: 500;
    line-height: 140%;
    max-width: 910px;
    width: 100%;
    margin-left: auto;
}

@media screen and (max-width: 1399px) {
    .statistics-heading-desc {
        font-size: 36px;
        max-width: 720px;
    }
}

@media screen and (max-width: 1199px) {
    .statistics-heading-desc {
        font-size: 28px;
        max-width: 600px;
    }
}

@media screen and (max-width: 991px) {
    .statistics-heading-desc {
        font-size: 24px;
        max-width: 460px;
    }
}

@media screen and (max-width: 767px) {
    .statistics-heading-desc {
        font-size: 19px;
        max-width: 360px;
    }
}

@media screen and (max-width: 575px) {
    .statistics-heading-desc {
        max-width: unset;
        font-size: 24px;
        margin-top: 12px;
    }
}

.statistics-wrapper {
    --inner-gap: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.statistics-item:not(:first-child) {
    margin-left: var(--inner-gap);
    padding-left: var(--inner-gap);
    border-left: 1px solid hsl(var(--border-color)/0.8);
}

@media screen and (max-width: 991px) {
    .statistics-item {
        flex: 1;
        text-align: center;
    }
}

.statistics-item-count {
    font-weight: 600;
    margin-bottom: 6px;
}

@media screen and (max-width: 1199px) {
    .statistics-item-count {
        font-size: 42px;
    }
}

@media screen and (max-width: 991px) {
    .statistics-item-count {
        font-size: 36px;
    }
}

@media screen and (max-width: 767px) {
    .statistics-item-count {
        font-size: 24px;
        font-weight: 700;
    }
}

.statistics-item-title {
    color: hsl(var(--body-color));
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 140%;
}

@media screen and (max-width: 1199px) {
    .statistics-item-title {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .statistics-item-title {
        font-size: 14px;
    }
}

.brand-slider {
    --count: 6;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 40px;
}

@media screen and (max-width: 991px) {
    .brand-slider {
        --count: 3;
        gap: 32px 0;
    }
}

@media screen and (max-width: 424px) {
    .brand-slider {
        --count: 2;
    }
}

.brand-slider-item {
    width: calc(100% / var(--count));
    text-align: center;
}

.brand-slider-item:first-child {
    text-align: left;
}

.brand-slider-item:last-child {
    text-align: end;
}

@media screen and (max-width: 991px) {
    .brand-slider-item {
        text-align: center !important;
    }
}

.brand-slider-item img {
    max-height: 38px;
    object-fit: contain;
}

@media screen and (max-width: 767px) {
    .brand-slider-item img {
        max-height: 32px;
    }
}

@media screen and (max-width: 575px) {
    .brand-slider-item img {
        max-height: 28px;
    }
}

.tech-slider-section {
    overflow: hidden;
    isolation: isolate;
    contain: paint;
    background-color: hsl(var(--section-bg));
}

.tech-slider {
    padding-block: 48px;
    display: flex;
    flex-wrap: nowrap;
    perspective: 1000px;
    backface-visibility: hidden;
    will-change: transform;
    transform-style: preserve-3d;
    backface-visibility: hidden;
}

@media screen and (max-width: 991px) {
    .tech-slider {
        padding-block: 32px;
    }
}

@media screen and (max-width: 767px) {
    .tech-slider {
        padding-block: 24px;
    }
}

.tech-slider-item {
    color: hsl(var(--body-color));
    padding-inline: 32px;
    flex-shrink: 0;
}

@media screen and (max-width: 991px) {
    .tech-slider-item {
        padding-inline: 24px;
    }
}

@media screen and (max-width: 767px) {
    .tech-slider-item {
        padding-inline: 16px;
    }
}

.why-choose {
    --divide-width: 274px;
    --inner-s: 200px;
    --radius: 20px;
    --gap: 20px;
    --circle-size: 700px;
    --inner-p: 48px 36px;
}

@media screen and (max-width: 1599px) {
    .why-choose {
        --gap: 16px;
        --inner-p: 36px 28px;
    }
}

@media screen and (max-width: 1199px) {
    .why-choose {
        --inner-p: 32px 24px;
        --divide-width: 200px;
        --inner-s: 150px;
        --radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .why-choose {
        --radius: 12px;
        --inner-p: 24px;
    }
}

.why-choose:has(.top-left-card:hover, .top-left-card.active) .choose-control-corner.left-top {
    opacity: 1;
    visibility: visible;
}

.why-choose:has(.top-right-card:hover, .top-right-card.active) .choose-control-corner.right-top {
    opacity: 1;
    visibility: visible;
}

.why-choose:has(.bottom-left-card:hover, .bottom-left-card.active) .choose-control-corner.left-bottom {
    opacity: 1;
    visibility: visible;
}

.why-choose:has(.bottom-right-card:hover, .bottom-right-card.active) .choose-control-corner.right-bottom {
    opacity: 1;
    visibility: visible;
}

.choose-card-wrapper {
    display: flex;
    justify-content: space-between;
    gap: var(--gap);
}

@media screen and (max-width: 575px) {
    .choose-card-wrapper {
        flex-direction: column;
    }
}

.choose-card {
    flex: 1;
    padding: var(--inner-p);
    border: 1px solid hsl(var(--light));
    border-radius: var(--radius);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.choose-card:hover,
.choose-card.active {
    border-color: transparent;
}

.choose-card:hover::after,
.choose-card.active::after {
    opacity: 1;
    visibility: visible;
}

.choose-card:hover::before,
.choose-card.active::before {
    opacity: 1;
    visibility: visible;
}

.choose-card::after {
    content: "";
    position: absolute;
    width: var(--circle-size);
    height: var(--circle-size);
    border-radius: var(--circle-size);
    background: hsl(var(--base));
    filter: blur(300px);
    z-index: -1;
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
}

.choose-card.top-left-card::after {
    top: 80%;
    left: 60%;
}

.choose-card.top-right-card::after {
    top: 80%;
    right: 60%;
}

.choose-card.bottom-left-card::after {
    bottom: 80%;
    left: 60%;
}

.choose-card.bottom-right-card::after {
    bottom: 80%;
    right: 60%;
}

.choose-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--radius);
    z-index: -1;
    transition: all 0.3s ease;
    border: 2px solid hsl(var(--base));
    opacity: 0;
    visibility: hidden;
}

.choose-card-icon {
    margin-bottom: 30px;
    font-size: 100px;
    display: flex;
}

@media screen and (max-width: 1599px) {
    .choose-card-icon {
        margin-bottom: 20px;
        font-size: 80px;
    }
}

@media screen and (max-width: 1199px) {
    .choose-card-icon {
        margin-bottom: 16px;
        font-size: 60px;
    }
}

@media screen and (max-width: 767px) {
    .choose-card-icon {
        font-size: 48px;
    }
}

.choose-card-title {
    font-weight: 700;
    margin-bottom: 32px;
    line-height: 1.2;
    color: hsl(var(--black));
    max-width: 300px;
    width: 100%;
}

@media screen and (max-width: 1599px) {
    .choose-card-title {
        margin-bottom: 24px;
        font-size: 2.25rem;
    }
}

@media screen and (max-width: 1199px) {
    .choose-card-title {
        margin-bottom: 20px;
        font-size: 1.75rem;
    }
}

@media screen and (max-width: 767px) {
    .choose-card-title {
        font-size: 1.5rem;
    }
}

.choose-card-desc {
    color: hsl(var(--heading-color));
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 160%;
}

@media screen and (max-width: 1599px) {
    .choose-card-desc {
        font-size: 1.0625rem;
    }
}

@media screen and (max-width: 1199px) {
    .choose-card-desc {
        font-size: 1rem;
    }
}

.choose-divide {
    width: var(--divide-width);
    border-radius: var(--radius);
    overflow: hidden;
}

.choose-divide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
}

.choose-control-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-block: 20px;
    gap: var(--gap);
}

.choose-control {
    height: var(--divide-width);
    width: var(--divide-width);
    border-radius: var(--radius);
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid hsl(var(--light));
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.choose-control-corner {
    position: absolute;
    top: -25px;
    left: -25px;
    height: calc(100% + 50px);
    width: calc(100% + 50px);
    color: hsl(var(--base));
    transform: rotate(var(--corner-rotate));
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.choose-control-corner.left-top {
    --corner-rotate: 0deg;
}

.choose-control-corner.right-top {
    --corner-rotate: 90deg;
}

.choose-control-corner.left-bottom {
    --corner-rotate: 265deg;
}

.choose-control-corner.right-bottom {
    --corner-rotate: 180deg;
}

.choose-control-inner {
    height: var(--inner-s);
    width: var(--inner-s);
    border-radius: 50%;
    border: 1px solid hsl(var(--light));
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.choose-control-inner img {
    border-radius: 50%;
    background-color: hsl(var(--secondary));
}

@media screen and (max-width: 1199px) {
    .choose-control-inner img {
        max-width: 90px;
    }
}

.choose-control-shape {
    height: calc(100% - 8px);
    width: calc(100% - 8px);
    position: absolute;
    top: 4px;
    left: 4px;
    color: hsl(var(--base));
    transition: all 0.3s ease;
}

@media screen and (max-width: 1199px) {
    .choose-control-shape svg {
        height: 65px;
        width: 75px;
    }
}

.choose-control-image {
    flex: 1;
    height: var(--divide-width);
    border-radius: var(--radius);
    overflow: hidden;
}

.choose-control-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
}

.industry-why-best {
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .industry-why-best {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .industry-why-best {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .industry-why-best {
        border-radius: 20px;
    }
}

.coverage-section {
    --radius: 20px;
}

@media screen and (max-width: 1199px) {
    .coverage-section {
        --radius: 16px;
    }
}

@media screen and (max-width: 575px) {
    .coverage-section {
        --radius: 12px;
    }
}

.coverage-thumb {
    border-radius: 20px;
    overflow: hidden;
    height: 800px;
}

@media screen and (max-width: 1199px) {
    .coverage-thumb {
        height: 650px;
    }
}

.coverage-thumb video {
    display: block;
}

.coverage-wrapper {
    position: relative;
}

.coverage-item {
    --inner-gap: 32px;
    padding: var(--inner-gap);
    border-radius: var(--radius);
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white));
    transition: all 0.5s ease-in-out;
}

@media screen and (max-width: 1199px) {
    .coverage-item {
        --inner-gap: 20px;
    }
}

.coverage-item:not(:last-child) {
    margin-bottom: 24px;
}

@media screen and (max-width: 1199px) {
    .coverage-item:not(:last-child) {
        margin-bottom: 20px;
    }
}

.coverage-item-title {
    margin-bottom: 8px;
    line-height: 1.3;
}

.coverage-item-desc {
    margin-bottom: var(--inner-gap);
    color: hsl(var(--secondary));
    font-size: 1.125rem;
    max-width: 610px;
    width: 100%;
    line-height: 1.6;
}

@media screen and (max-width: 1199px) {
    .coverage-item-desc {
        font-size: 1rem;
    }
}

.coverage-tag-title {
    font-size: 0.875rem;
    color: hsl(var(--body-color));
    margin-bottom: 4px;
}

.coverage-tag-list {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.coverage-tag-link {
    padding: 5px 16px;
    line-height: 1.4;
    color: hsl(var(--black));
    font-weight: 700;
    border: 1px solid hsl(var(--section-bg));
    border-radius: 32px;
}

@media screen and (max-width: 575px) {
    .coverage-tag-link {
        padding: 4px 12px;
        font-size: 0.875rem;
    }
}

.design-process-section {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 40px 40px 0 0;
}

@media screen and (max-width: 1399px) {
    .design-process-section {
        border-radius: 32px 32px 0 0;
    }
}

@media screen and (max-width: 1199px) {
    .design-process-section {
        border-radius: 24px 24px 0 0;
    }
}

.design-process-section-shape {
    position: absolute;
    inset: 0;
    z-index: -2;
    border-radius: var(--radius);
}

.design-process-section.style-two::after {
    display: none;
}

.design-process-section::after {
    content: "";
    position: absolute;
    --s-height: 746px;
    height: var(--s-height);
    width: var(--s-height);
    border-radius: 50%;
    background-color: hsl(var(--base));
    z-index: -3;
    filter: blur(225px);
    top: 0;
    left: 0;
    transform: translate(-90%, -10%);
}

.design-process-section::before {
    content: "";
    position: absolute;
    height: 140px;
    width: 100%;
    background: linear-gradient(180deg, transparent 0%, hsl(var(--dark)) 100%);
    z-index: -1;
    bottom: 20px;
    left: 0;
}

.design-process-row {
    --count: 4;
    --gap: 24px;
    display: flex;
    gap: var(--gap);
    justify-content: flex-start;
    flex-wrap: wrap;
}

@media screen and (max-width: 991px) {
    .design-process-row {
        --count: 2;
    }
}

@media screen and (max-width: 575px) {
    .design-process-row {
        --count: 1;
    }
}

.design-process-card {
    --radius: 20px;
    --inner-p: 32px;
    --icon-size: 56px;
    --inner-gap: 150px;
    width: calc(100% / var(--count) - (var(--gap) - var(--gap) / var(--count)));
    padding: var(--inner-p);
    border-radius: var(--radius);
    background: hsl(var(--white)/0.07);
    backdrop-filter: blur(9px);
    will-change: transform, opacity, filter;
    backface-visibility: hidden;
}

@media screen and (max-width: 1399px) {
    .design-process-card {
        --radius: 16px;
        --inner-p: 24px;
        --icon-size: 48px;
        --inner-gap: 100px;
    }
}

@media screen and (max-width: 1199px) {
    .design-process-card {
        --inner-p: 20px;
        --inner-gap: 60px;
    }
}

.design-process-card-count {
    --extra-fs: 104px;
    font-size: var(--extra-fs);
    color: hsl(var(--white)/0.05);
    font-weight: 900;
    line-height: 1;
    position: absolute;
    top: 12px;
    right: 16px;
}

@media screen and (max-width: 1599px) {
    .design-process-card-count {
        --extra-fs: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .design-process-card-count {
        --extra-fs: 64px;
    }
}

@media screen and (max-width: 767px) {
    .design-process-card-count {
        --extra-fs: 48px;
    }
}

.design-process-card-icon {
    height: var(--icon-size);
    width: var(--icon-size);
    border-radius: 15px;
    color: hsl(var(--white));
    border: 1px solid hsl(var(--white)/0.23);
    background: hsl(var(--white)/0.07);
    backdrop-filter: blur(9px);
    display: grid;
    place-content: center;
    margin-bottom: var(--inner-gap);
    font-size: 24px;
}

@media screen and (max-width: 1199px) {
    .design-process-card-icon {
        border-radius: 12px;
    }
}

.design-process-card-title {
    color: hsl(var(--white));
    margin-bottom: 12px;
}

.design-process-card-desc {
    color: hsl(var(--light));
    line-height: 1.6;
}

@media screen and (max-width: 1199px) {
    .design-process-card-desc {
        font-size: 15px;
    }
}

.design-build {
    margin-top: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 24px;
    border: 1px solid hsl(var(--white)/0.23);
    background: hsl(var(--white)/0.07);
    border-radius: 20px;
    backdrop-filter: blur(9px);
    gap: 20px;
}

@media screen and (max-width: 1399px) {
    .design-build {
        padding: 20px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 1199px) {
    .design-build {
        padding: 16px;
    }
}

@media screen and (max-width: 575px) {
    .design-build {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
}

.design-build-content {
    flex: 1;
}

.design-build-title {
    color: hsl(var(--white));
    line-height: 1.4;
}

@media screen and (max-width: 767px) {
    .design-build-title {
        margin-bottom: 8px;
    }
}

.design-build-desc {
    color: hsl(var(--light));
    line-height: 1.6;
    font-size: 18px;
}

@media screen and (max-width: 1399px) {
    .design-build-desc {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .design-build-desc {
        font-size: 15px;
        line-height: 1.4;
    }
}

.design-build-btn {
    --btn-s: 48px;
    padding: 4px 24px 4px 4px;
    background-color: hsl(var(--white));
    display: flex;
    align-items: center;
    gap: 16px;
    border-radius: 50px;
    font-size: 20px;
    font-weight: 700;
    color: hsl(var(--heading-color));
    transition: all 0.3s linear;
}

@media screen and (max-width: 1399px) {
    .design-build-btn {
        --btn-s: 40px;
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .design-build-btn {
        --btn-s: 36px;
        font-size: 15px;
        gap: 10px;
    }
}

.design-build-btn .icon {
    height: var(--btn-s);
    width: var(--btn-s);
    border-radius: 50%;
    background-color: hsl(var(--base));
    display: grid;
    place-content: center;
    transition: all 0.3s linear;
}

@media screen and (max-width: 1399px) {
    .design-build-btn .icon svg {
        height: 24px;
        width: 24px;
    }
}

@media screen and (max-width: 767px) {
    .design-build-btn .icon svg {
        height: 20px;
        width: 20px;
    }
}

.design-build-btn:hover {
    color: hsl(var(--white));
    background-color: hsl(var(--base));
}

.design-build-btn:hover .icon {
    background-color: hsl(var(--white));
    color: hsl(var(--base));
}

.testimonial-section {
    overflow: hidden;
}

.testimonial-wrapper {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    padding-top: 40px;
}

@media screen and (max-width: 575px) {
    .testimonial-wrapper {
        gap: 16px;
    }
}

.testimonial-control {
    --size: 80px;
    height: var(--size);
    width: var(--size);
    border-radius: 50%;
    color: hsl(var(--body-color));
    border: 2px solid hsl(var(--body-color));
    transition: all linear 0.3s;
    font-size: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.testimonial-control.testimonial-control__left i {
    transform: rotate(180deg);
}

@media screen and (max-width: 1399px) {
    .testimonial-control {
        --size: 64px;
        font-size: 36px;
    }
}

@media screen and (max-width: 1199px) {
    .testimonial-control {
        --size: 56px;
        font-size: 32px;
    }
}

@media screen and (max-width: 767px) {
    .testimonial-control {
        --size: 48px;
        font-size: 28px;
    }
}

@media screen and (max-width: 575px) {
    .testimonial-control {
        --size: 36px;
        font-size: 24px;
    }
}

.testimonial-control svg {
    width: calc(var(--size) / 2);
    height: calc(var(--size) / 2);
}

.testimonial-control:hover {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white));
}

.stacked-cards {
    position: relative;
    flex: 1;
}

.stacked-card {
    z-index: 2;
    transform: translateY(0) rotate(4deg) translateX(0);
    transform-origin: center;
    transition: transform 0.4s ease 0.1s;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    border-radius: 24px;
}

.stacked-card--current {
    user-select: auto;
    position: relative;
    z-index: 10;
    opacity: 1;
    transform: rotate(0deg) translateX(0%) scale(1);
}

.stacked-card--current .testimonial-item {
    --card-bg: #000021;
    background: var(--card-bg);
    transition: background-color 0s;
}

.stacked-card--next {
    z-index: 5;
    transform: translateY(0) rotate(-4deg) translateX(0);
}

.stacked-card--out {
    animation: card-out 0.4s cubic-bezier(0.8, 0.2, 0.1, 0.8);
    transform: translateY(0) rotate(-4deg) translateX(0);
    z-index: 1;
}

.stacked-card--current+.stacked-card {
    transform: translateY(0) rotate(-4deg) translateX(0);
    z-index: 1;
}

@keyframes card-out {
    0% {
        z-index: 20;
        transform: translateY(0px) rotate(-4deg);
    }

    50% {
        transform: translateY(-80%) rotate(-8deg) translateX(-40px);
        opacity: 1;
    }

    80% {
        z-index: 1;
        opacity: 0.4;
    }

    100% {
        transform: translateY(-50px) rotate(4deg) translateX(0);
        opacity: 0;
    }
}

.testimonial-item {
    --radius: 40px;
    --thumb-w: 390px;
    display: flex;
    border-radius: var(--radius);
    background: #141443;
    transition: background-color 0s linear 1s;
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.testimonial-item-quote {
    position: absolute;
    right: 50px;
    top: 0px;
}

@media screen and (max-width: 1199px) {
    .testimonial-item-quote {
        max-width: 100px;
    }
}

@media screen and (max-width: 991px) {
    .testimonial-item-quote {
        display: none;
    }
}

@media screen and (max-width: 1199px) {
    .testimonial-item {
        --thumb-w: 320px;
    }
}

@media screen and (max-width: 991px) {
    .testimonial-item {
        --thumb-w: 220px;
        --radius: 24px;
    }
}

@media screen and (max-width: 767px) {
    .testimonial-item {
        flex-direction: column-reverse;
        --radius: 20px;
        --thumb-w: 320px;
        padding: 40px 24px 0;
    }
}

@media screen and (max-width: 575px) {
    .testimonial-item {
        --radius: 16px;
    }
}

@media screen and (max-width: 424px) {
    .testimonial-item {
        --radius: 12px;
    }
}

.testimonial-item-watermark {
    position: absolute;
    inset: 0;
    color: hsl(var(--white)/0.03);
    font-size: 336px;
    font-style: normal;
    font-weight: 800;
    line-height: 85%;
    text-transform: uppercase;
    font-family: "Bebas Neue", sans-serif;
    z-index: -1;
    padding: 16px;
    letter-spacing: 5px;
    white-space: nowrap;
}

@media screen and (max-width: 991px) {
    .testimonial-item-watermark {
        font-size: 240px;
    }
}

@media screen and (max-width: 767px) {
    .testimonial-item-watermark {
        font-size: 200px;
        text-align: center;
        align-content: end;
    }
}

.testimonial-item-thumb {
    width: var(--thumb-w);
}

@media screen and (max-width: 767px) {
    .testimonial-item-thumb {
        margin-inline: auto;
    }
}

@media screen and (max-width: 575px) {
    .testimonial-item-thumb {
        max-width: var(--thumb-w);
        width: 100%;
    }
}

.testimonial-item-content {
    width: calc(100% - var(--thumb-w));
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px;
}

@media screen and (max-width: 991px) {
    .testimonial-item-content {
        padding: 24px;
    }
}

@media screen and (max-width: 767px) {
    .testimonial-item-content {
        padding: 0;
        width: 100%;
    }
}

.testimonial-item-title {
    color: hsl(var(--white));
    margin-bottom: 16px;
    max-width: 560px;
    width: 100%;
}

@media screen and (max-width: 575px) {
    .testimonial-item-title {
        margin-bottom: 8px;
    }
}

.testimonial-item-desc {
    color: hsl(var(--light));
    margin-bottom: 32px;
    max-width: 532px;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .testimonial-item-desc {
        margin-bottom: 24px;
    }
}

@media screen and (max-width: 575px) {
    .testimonial-item-desc {
        margin-bottom: 16px;
    }
}

.testimonial-item-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 600px;
    width: 100%;
}

.testimonial-item-auth .name {
    color: hsl(var(--white));
    margin-bottom: 4px;
}

.testimonial-item-auth .designation {
    color: hsl(var(--light));
}

.text-cta {
    overflow: hidden;
    position: relative;
    cursor: pointer;
    border-radius: 0 0 40px 40px;
}

@media screen and (max-width: 1399px) {
    .text-cta {
        border-radius: 0 0 32px 32px;
    }
}

@media screen and (max-width: 1199px) {
    .text-cta {
        border-radius: 0 0 24px 24px;
    }
}

.text-cta-title {
    font-size: clamp(13.75rem, -0.2083rem + 18.6111vw, 22.125rem);
    font-weight: 900;
    line-height: 86%;
    background: linear-gradient(180deg, hsl(var(--white)) -331.4%, transparent 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    white-space: nowrap;
}

@media screen and (max-width: 1199px) {
    .text-cta-title {
        font-size: clamp(7.5rem, 4.6591rem + 12.1212vw, 13.75rem);
        white-space: wrap;
        text-align: center;
    }
}

.text-cta-bg {
    z-index: 1;
    background-image: radial-gradient(circle, transparent, hsl(var(--dark)) 40%);
    position: absolute;
    inset: 0%;
    transform: scale(2.5);
    pointer-events: none;
    will-change: transform;
}

.text-cta-btn {
    z-index: 2;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    display: grid;
    place-content: center;
    position: absolute;
    will-change: transform;
}

.text-cta-btn .btn {
    transition: all linear 0.3s;
}

.text-cta-btn .btn:hover {
    transform: scale(1.15);
}

.partner-slider-item {
    height: 150px;
    width: 312px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.5);
}

@media screen and (max-width: 1399px) {
    .partner-slider-item {
        width: 250px !important;
        height: 120px;
    }

    .partner-slider-item img {
        max-width: 130px;
    }
}

@media screen and (max-width: 1199px) {
    .partner-slider-item {
        width: 220px !important;
        height: 110px;
    }

    .partner-slider-item img {
        max-width: 120px;
    }
}

@media screen and (max-width: 991px) {
    .partner-slider-item {
        width: 200px !important;
        height: 100px;
    }

    .partner-slider-item img {
        max-width: 110px;
    }
}

@media screen and (max-width: 575px) {
    .partner-slider-item {
        width: 160px !important;
        height: 80px;
    }

    .partner-slider-item img {
        max-width: 90px;
    }
}

.partner-slider-wrapper {
    position: relative;
    --bg-color: hsl(var(--light-bg));
}

.partner-slider-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: -12px;
    width: 112px;
    height: 100%;
    background: linear-gradient(90deg, var(--bg-color) 0%, transparent 100%);
    z-index: 2;
}

.partner-slider-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    right: -12px;
    width: 112px;
    height: 100%;
    background: linear-gradient(-90deg, var(--bg-color) 0%, transparent 100%);
    z-index: 2;
}

.about-banner {
    height: 100dvh;
    position: relative;
    overflow: hidden;
}

.about-banner-control {
    height: 100%;
    padding: 16px;
}

@media screen and (max-width: 1599px) {
    .about-banner-control {
        padding: 12px;
    }
}

@media screen and (max-width: 575px) {
    .about-banner-control {
        padding: 8px;
    }
}

.about-banner-wrapper {
    position: relative;
    z-index: 1;
    border-radius: 32px;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 1599px) {
    .about-banner-wrapper {
        border-radius: 24px;
    }
}

.about-banner-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: hsl(var(--dark)/0.5);
}

.about-banner-content {
    max-width: 1268px;
    width: 100%;
    margin-inline: auto;
    padding-block: 16vh;
    text-align: center;
}

@media screen and (max-width: 1399px) {
    .about-banner-content {
        max-width: 1000px;
    }
}

@media screen and (max-width: 1199px) {
    .about-banner-content {
        max-width: 900px;
    }
}

@media screen and (max-width: 991px) {
    .about-banner-content {
        max-width: 720px;
    }
}

@media screen and (max-width: 767px) {
    .about-banner-content {
        max-width: 620px;
        padding-inline: 6px;
    }
}

@media screen and (max-width: 575px) {
    .about-banner-content {
        max-width: 520px;
    }
}

.about-banner-content .name {
    border-radius: 50px;
    border: 2px solid hsl(var(--base));
    background: hsl(var(--base)/0.15);
    padding: 6px 18px;
    display: inline-block;
    color: hsl(var(--base));
    font-size: 20px;
    font-weight: 700;
    line-height: 140%;
    margin-bottom: 20px;
}

@media screen and (max-width: 1399px) {
    .about-banner-content .name {
        font-size: 18px;
    }
}

@media screen and (max-width: 767px) {
    .about-banner-content .name {
        font-size: 16px;
        margin-bottom: 16px;
    }
}

.about-banner-content-title {
    font-size: 102px;
    line-height: 1.1;
    text-align: center;
    color: hsl(var(--white));
    font-weight: 900;
    margin-bottom: 16px;
}

@media screen and (max-width: 1599px) {
    .about-banner-content-title {
        font-size: 80px;
    }

    .about-banner-content-title .img {
        max-width: 200px;
    }
}

@media screen and (max-width: 1399px) {
    .about-banner-content-title {
        font-size: 70px;
    }

    .about-banner-content-title .img {
        max-width: 148px;
    }
}

@media screen and (max-width: 1199px) {
    .about-banner-content-title {
        font-size: 64px;
    }
}

@media screen and (max-width: 991px) {
    .about-banner-content-title {
        font-size: 52px;
    }

    .about-banner-content-title .img {
        max-width: 134px;
    }
}

@media screen and (max-width: 575px) {
    .about-banner-content-title {
        font-size: 44px;
    }

    .about-banner-content-title .img {
        max-width: 104px;
    }
}

@media screen and (max-width: 424px) {
    .about-banner-content-title {
        margin-bottom: 12px;
    }
}

.about-banner-content-desc {
    color: hsl(var(--light));
    text-align: center;
    font-size: 18px;
    line-height: 1.6;
}

@media screen and (max-width: 991px) {
    .about-banner-content-desc {
        font-size: 16px;
    }
}

.about-banner-content-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 48px;
}

@media screen and (max-width: 1399px) {
    .about-banner-content-action {
        margin-top: 32px;
    }
}

@media screen and (max-width: 575px) {
    .about-banner-content-action {
        gap: 16px;
    }
}

@media screen and (max-width: 424px) {
    .about-banner-content-action {
        flex-direction: column;
        gap: 16px;
    }

    .about-banner-content-action .btn {
        width: 100%;
        justify-content: center;
    }
}

.scale-image {
    overflow: hidden;
    height: 100dvh;
}

.scale-image-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(2);
}

.about-story {
    --inner-p: 40px;
    --radius: 40px;
    background-color: hsl(var(--white));
    border-radius: var(--radius);
    padding: var(--inner-p);
    height: 100%;
}

@media screen and (max-width: 1399px) {
    .about-story {
        --inner-p: 32px;
        --radius: 32px;
    }
}

@media screen and (max-width: 991px) {
    .about-story {
        --inner-p: 24px;
        --radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .about-story {
        --inner-p: 20px;
        --radius: 20px;
    }
}

.about-story-serial {
    font-size: 20px;
    font-weight: 500;
    color: hsl(var(--light));
    margin-bottom: 96px;
}

@media screen and (max-width: 1399px) {
    .about-story-serial {
        margin-bottom: 64px;
    }
}

@media screen and (max-width: 575px) {
    .about-story-serial {
        margin-bottom: 48px;
    }
}

.about-story-count {
    --extra-fs: 104px;
    font-size: var(--extra-fs);
}

@media screen and (max-width: 1599px) {
    .about-story-count {
        --extra-fs: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .about-story-count {
        --extra-fs: 64px;
    }
}

@media screen and (max-width: 767px) {
    .about-story-count {
        --extra-fs: 48px;
    }
}

.about-story-title {
    margin-bottom: 12px;
}

.about-story-desc {
    font-size: 1.125rem;
}

.ceo-video {
    overflow: hidden;
}

.ceo-video-wrapper {
    position: relative;
}

.ceo-video-play {
    --radius: 40px;
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: var(--radius) var(--radius) 0 0;
    display: flex;
    width: clamp(47.5rem, -11.8166rem + 95.672vw, 100rem);
    margin-inline: auto;
}

@media screen and (max-width: 1399px) {
    .ceo-video-play {
        --radius: 32px;
    }
}

@media screen and (max-width: 991px) {
    .ceo-video-play {
        --radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .ceo-video-play {
        --radius: 20px;
    }
}

@media screen and (max-width: 991px) {
    .ceo-video-play {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width: 575px) {
    .ceo-video-play {
        aspect-ratio: 2/2.25;
    }
}

.ceo-video-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.ceo-video-button img {
    animation: rotate 7s linear infinite;
}

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

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

.tween-section:has(.project-cycle) {
    border-radius: 0;
}

.project-cycle {
    position: relative;
    z-index: 1;
    background-color: hsl(var(--dark));
}

.project-cycle::after {
    content: "";
    position: absolute;
    height: 350px;
    background: linear-gradient(180deg, transparent 0%, hsl(var(--dark)) 100%);
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: -1;
}

.project-cycle .project-cycle-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.project-cycle .section-heading-name .text {
    position: relative;
    --overlay-bg: 225 90% 12%;
    --overlay-bg: 0 100% 50%;
}

.project-cycle .section-heading-name .text::after {
    left: 0;
    background: linear-gradient(235deg, transparent 0%, var(--overlay-bg) 100%);
}

.project-cycle .section-heading-name .text::before {
    right: 0;
    background: linear-gradient(90deg, transparent 0%, var(--overlay-bg) 100%);
}

.project-cycle-row {
    --count: 3;
    --gap: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

@media screen and (max-width: 991px) {
    .project-cycle-row {
        --count: 2;
    }
}

@media screen and (max-width: 575px) {
    .project-cycle-row {
        --count: 1;
    }
}

.project-cycle-card {
    --inner-p: 32px;
    --radius: 20px;
    width: calc(100% / var(--count) - (var(--gap) - var(--gap) / var(--count)));
    padding: var(--inner-p);
    border-radius: var(--radius);
    text-align: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

@media screen and (max-width: 1399px) {
    .project-cycle-card {
        --inner-p: 24px;
        --radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .project-cycle-card {
        --inner-p: 20px;
        --radius: 12px;
    }
}

.project-cycle-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: hsl(var(--white)/0.15);
    backdrop-filter: blur(10px);
    z-index: -1;
}

.project-cycle-card-icon {
    position: relative;
    z-index: 1;
}

.project-cycle-card-icon-inner {
    --icon-size: 64px;
    width: var(--icon-size);
    height: var(--icon-size);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 84px;
    background-color: #4a5772;
    border-radius: 12px;
    color: hsl(var(--white));
    margin-inline: auto;
    font-size: 28px;
}

@media screen and (max-width: 1399px) {
    .project-cycle-card-icon-inner {
        margin-bottom: 60px;
    }
}

@media screen and (max-width: 1199px) {
    .project-cycle-card-icon-inner {
        --icon-size: 52px;
        margin-bottom: 48px;
        border-radius: 8px;
    }
}

@media screen and (max-width: 767px) {
    .project-cycle-card-icon-inner {
        margin-bottom: 42px;
    }
}

.project-cycle-card-icon .shape-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: 100%;
}

.project-cycle-card-icon .shape-image:has(.bottom-circle) {
    bottom: -50%;
    top: 0;
    transform: translate(-50%, -25%);
}

@media screen and (max-width: 1399px) {
    .project-cycle-card-icon .shape-image:has(.bottom-circle) {
        transform: translate(-50%, -15%);
    }
}

.project-cycle-card-icon .shape-image:has(.top-circle) {
    bottom: 0;
    transform: translate(-50%, 0);
}

.project-cycle-card:has(.project-cycle-card-sub) .project-cycle-card-icon-inner {
    margin-bottom: 60px;
}

@media screen and (max-width: 1199px) {
    .project-cycle-card:has(.project-cycle-card-sub) .project-cycle-card-icon-inner {
        margin-bottom: 48px;
    }
}

@media screen and (max-width: 767px) {
    .project-cycle-card:has(.project-cycle-card-sub) .project-cycle-card-icon-inner {
        margin-bottom: 32px;
    }
}

.project-cycle-card-sub {
    font-weight: 700;
    color: hsl(var(--light));
}

.project-cycle-card-title {
    margin-bottom: 4px;
    color: hsl(var(--white));
}

.project-cycle-card-desc {
    color: hsl(var(--light));
}

.team-section {
    overflow: hidden;
    isolation: isolate;
    contain: paint;
    --gap: 12px;
}

@media screen and (max-width: 991px) {
    .team-section {
        --gap: 8px;
    }
}

@media screen and (max-width: 575px) {
    .team-section {
        --gap: 6px;
    }
}

.team-slider {
    display: flex;
    flex-wrap: nowrap;
    will-change: transform;
    gap: calc(var(--gap) * 2);
    perspective: 1000px;
    backface-visibility: hidden;
    will-change: transform;
    transform-style: preserve-3d;
    backface-visibility: hidden;
}

.team-item {
    --this-bg: 210 20% 98%;
    --card-w: 312px;
    --radius: 20px;
    --inner-gap: 12px;
    width: var(--card-w) !important;
    border-radius: var(--radius);
    overflow: hidden;
    position: relative;
    background: hsl(var(--this-bg));
    flex-shrink: 0;
}

@media screen and (max-width: 1399px) {
    .team-item {
        --card-w: 280px;
        --radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .team-item {
        --card-w: 240px;
        --radius: 12px;
    }
}

@media screen and (max-width: 575px) {
    .team-item {
        --card-w: 210px;
    }
}

.team-item-content {
    position: absolute;
    bottom: var(--inner-gap);
    width: calc(100% - var(--inner-gap) * 2);
    left: var(--inner-gap);
    right: var(--inner-gap);
    border-radius: 16px;
    border: 1px solid hsl(var(--white)/0.16);
    background: hsl(var(--white)/0.08);
    backdrop-filter: blur(20px);
    padding: 16px 24px;
}

@media screen and (max-width: 991px) {
    .team-item-content {
        padding: 12px 16px;
        border-radius: 12px;
    }
}

@media screen and (max-width: 575px) {
    .team-item-content {
        padding: 12px;
        border-radius: 8px;
    }
}

.team-item-name {
    color: hsl(var(--white));
    margin-bottom: 2px;
}

.team-item-designation {
    color: hsl(var(--white));
    font-size: 14px;
}

.our-activity-item {
    --inner-p: 24px;
    --radius: 20px;
    border-radius: var(--radius);
    background-color: hsl(var(--white));
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
}

.our-activity-item:not(:last-child) {
    margin-bottom: 16px;
}

@media screen and (max-width: 1199px) {
    .our-activity-item {
        --inner-p: 16px;
        --radius: 16px;
    }
}

.our-activity-item-content {
    flex: 1;
    padding: var(--inner-p);
}

.our-activity-item-content .top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}

.our-activity-item-content .sponsor {
    padding: 4px 10px;
    border-radius: 250px;
    border: 1px solid hsl(var(--base));
    background: hsl(var(--base)/0.1);
    color: hsl(var(--base));
    font-size: 14px;
    font-weight: 700;
    line-height: 150%;
    flex-shrink: 0;
}

.our-activity-item-content .date {
    display: flex;
    align-items: center;
    gap: 8px;
    color: hsl(var(--black));
}

.our-activity-item-content .date .icon {
    font-size: 18px;
    display: flex;
}

.our-activity-item-thumb {
    flex-shrink: 0;
}

@media screen and (max-width: 991px) {
    .our-activity-item-thumb img {
        max-height: 80px;
    }
}

@media screen and (max-width: 575px) {
    .our-activity-item-thumb {
        display: none;
    }
}

.activity-box {
    --radius: 40px;
    --inner-p: 40px;
    background-color: hsl(var(--white));
    border-radius: var(--radius);
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 1199px) {
    .activity-box {
        --inner-p: 24px;
        --radius: 24px;
    }
}

@media screen and (max-width: 991px) {
    .activity-box {
        height: 450px;
    }
}

.activity-box::before {
    content: "";
    position: absolute;
    top: 32px;
    left: -2px;
    width: calc(100% + 4px);
    height: calc(100% - 32px);
    background: linear-gradient(to right, hsl(var(--section-bg)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--section-bg)) 1px, transparent 1px);
    background-size: 36px 36px;
    opacity: 0.5;
    z-index: -1;
}

.activity-box-title {
    padding: var(--inner-p) var(--inner-p) 0;
    line-height: 1.1;
    max-width: 370px;
    width: 100%;
}

.activity-box-list {
    position: relative;
    overflow: hidden;
    flex: 1;
}

.activity-box-item {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 250px;
    border: 1px solid hsl(var(--base));
    background: hsl(var(--base-l-900));
    background: hsl(var(--base-l-900));
    color: hsl(var(--heading-color));
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    user-select: none;
    pointer-events: none;
    white-space: nowrap;
    position: absolute;
}

@media screen and (max-width: 1399px) {
    .activity-box-item {
        padding: 10px 20px;
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .activity-box-item {
        padding: 8px 16px;
        font-size: 14px;
    }
}

.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

@media screen and (max-width: 767px) {
    .gallery-thumb img {
        border-radius: 8px;
    }
}

.about-cta {
    padding: 60px 0;
    position: relative;
    z-index: 1;
    background: linear-gradient(-45deg, hsl(var(--base)), #23a6d5, hsl(var(--base)), #23d5ab);
    background-size: 400% 400%;
    animation: bgPositionChange 50s;
}

@keyframes bgPositionChange {
    0% {
        background-position: 0% 50%;
    }

    25% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@media screen and (max-width: 991px) {
    .about-cta {
        padding: 40px 0;
    }
}

.about-cta-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

@media screen and (max-width: 575px) {
    .about-cta-wrapper {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

.about-cta-content .title {
    --extra-fs: 104px;
    font-size: var(--extra-fs);
    font-weight: 900;
    color: hsl(var(--white));
}

@media screen and (max-width: 1599px) {
    .about-cta-content .title {
        --extra-fs: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .about-cta-content .title {
        --extra-fs: 64px;
    }
}

@media screen and (max-width: 991px) {
    .about-cta-content .title {
        --extra-fs: 56px;
    }
}

@media screen and (max-width: 767px) {
    .about-cta-content .title {
        --extra-fs: 42px;
    }
}

.about-cta-content .tag {
    font-weight: 900;
    line-height: 110%;
    color: hsl(var(--white));
}

@media screen and (max-width: 991px) {
    .about-cta-content .tag {
        font-size: 28px;
    }
}

@media screen and (max-width: 767px) {
    .about-cta-content .tag {
        font-size: 24px;
    }
}

.about-cta-link {
    --icon-s: 40px;
    --fs: 32px;
    font-size: var(--fs);
    font-weight: 700;
    line-height: 125%;
    color: hsl(var(--white));
    transition: all linear 0.3s;
}

@media screen and (max-width: 1199px) {
    .about-cta-link {
        --icon-s: 32px;
        --fs: 28px;
    }
}

@media screen and (max-width: 991px) {
    .about-cta-link {
        --icon-s: 24px;
        --fs: 20px;
    }
}

@media screen and (max-width: 767px) {
    .about-cta-link {
        --icon-s: 20px;
        --fs: 18px;
    }
}

.about-cta-link svg {
    height: var(--icon-s);
    width: var(--icon-s);
}

.about-cta-link svg path {
    stroke: hsl(var(--white));
}

.about-cta-link:hover {
    color: hsl(var(--white));
    transform: translateX(6px);
    text-decoration: underline;
}

.page-banner {
    background-position: bottom center;
    position: relative;
    z-index: 1;
}

.page-banner-shape1 {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

@media screen and (max-width: 1399px) {
    .page-banner-shape1 {
        max-width: 260px;
    }
}

@media screen and (max-width: 1199px) {
    .page-banner-shape1 {
        max-width: 200px;
    }
}

@media screen and (max-width: 991px) {
    .page-banner-shape1 {
        max-width: 160px;
    }
}

@media screen and (max-width: 575px) {
    .page-banner-shape1 {
        max-width: 100px;
    }
}

.page-banner-shape2 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

@media screen and (max-width: 1399px) {
    .page-banner-shape2 {
        max-width: 300px;
    }
}

@media screen and (max-width: 1199px) {
    .page-banner-shape2 {
        max-width: 230px;
    }
}

@media screen and (max-width: 991px) {
    .page-banner-shape2 {
        max-width: 180px;
    }
}

@media screen and (max-width: 575px) {
    .page-banner-shape2 {
        max-width: 100px;
    }
}

.page-banner-content {
    text-align: center;
}

.page-banner-content.style-left {
    text-align: left;
}

@media screen and (max-width: 991px) {
    .page-banner-content.style-left {
        text-align: center;
    }
}

.page-banner-content.style-left .page-banner-desc {
    margin-left: 0;
}

.page-banner-title {
    --extra-fs: 104px;
    color: hsl(var(--white));
    font-size: var(--extra-fs);
    font-weight: 900;
    line-height: 100%;
    background: linear-gradient(180deg, hsl(var(--white)) 0%, hsl(var(--body-color)) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-bottom: 24px;
}

@media screen and (max-width: 1599px) {
    .page-banner-title {
        --extra-fs: 84px;
        padding-bottom: 20px;
    }
}

@media screen and (max-width: 1199px) {
    .page-banner-title {
        --extra-fs: 64px;
        padding-bottom: 16px;
    }
}

@media screen and (max-width: 767px) {
    .page-banner-title {
        --extra-fs: 48px;
        padding-bottom: 12px;
    }
}

.page-banner-desc {
    max-width: 740px;
    width: 100%;
    margin: 0 auto;
    font-size: 1.125rem;
    color: hsl(var(--light));
    line-height: 150%;
}

@media screen and (max-width: 767px) {
    .page-banner-desc {
        font-size: 1rem;
    }
}

@media screen and (max-width: 575px) {
    .page-banner-desc {
        font-size: 0.9375rem;
    }
}

.page-banner-contact-info {
    margin-top: 72px;
}

@media screen and (max-width: 1199px) {
    .page-banner-contact-info {
        margin-top: 60px;
    }
}

@media screen and (max-width: 767px) {
    .page-banner-contact-info {
        margin-top: 48px;
    }
}

@media screen and (max-width: 575px) {
    .page-banner-contact-info {
        margin-top: 36px;
    }
}

.page-banner-contact-info .title {
    font-size: 1.125rem;
    color: hsl(var(--light));
    line-height: 160%;
}

@media screen and (max-width: 767px) {
    .page-banner-contact-info .title {
        font-size: 1rem;
    }
}

@media screen and (max-width: 575px) {
    .page-banner-contact-info .title {
        font-size: 0.9375rem;
    }
}

.page-banner-contact-info .value {
    font-size: 1.25rem;
    color: hsl(var(--light));
    line-height: 140%;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .page-banner-contact-info .value {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 575px) {
    .page-banner-contact-info .value {
        font-size: 1.0625rem;
    }
}

.page-banner-thumb {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    max-width: 50%;
    width: 100%;
    text-align: left;
    height: 100%;
    display: flex;
    align-items: flex-end;
}

.page-banner-thumb.sm-style {
    max-width: 34%;
}

@media screen and (max-width: 1199px) {
    .page-banner-thumb.sm-style {
        max-width: 28%;
    }
}

.page-banner-thumb img {
    max-height: 100%;
}

@media screen and (max-width: 991px) {
    .page-banner-thumb {
        display: none;
    }
}

.service-choose-thumb {
    border-radius: 40px;
    overflow: hidden;
}

@media screen and (max-width: 1399px) {
    .service-choose-thumb {
        border-radius: 32px;
    }
}

@media screen and (max-width: 991px) {
    .service-choose-thumb {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .service-choose-thumb {
        border-radius: 20px;
    }
}

.service-choose-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.service-choose-list-item:not(:last-child) {
    margin-bottom: 24px;
    border-bottom: 1px solid hsl(var(--section-bg));
    padding-bottom: 24px;
}

.service-choose-list-item .count {
    font-size: 1.125rem;
    color: hsl(var(--body-color));
    transition: 0.3s ease;
}

@media screen and (max-width: 991px) {
    .service-choose-list-item .count {
        font-size: 1rem;
    }
}

.service-choose-list-item .title {
    flex: 1;
    text-align: left;
    transition: 0.3s ease;
}

.service-choose-list-item .arrow {
    color: hsl(var(--black));
    font-size: 32px;
    display: flex;
}

.service-choose-list-item .arrow .icon-rotate-arrow {
    -webkit-text-stroke: 0.6px currentColor;
}

@media screen and (max-width: 991px) {
    .service-choose-list-item .arrow {
        font-size: 24px;
    }
}

@media screen and (max-width: 575px) {
    .service-choose-list-item .arrow {
        font-size: 20px;
    }
}

.service-choose-list-item:hover .count {
    color: hsl(var(--base));
}

.service-choose-list-item:hover .title {
    color: hsl(var(--base));
}

.service-choose-list-item:hover .arrow {
    color: hsl(var(--base));

}

.bg-pattern {
    position: relative;
    z-index: 1;
}

.bg-pattern::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(to right, hsl(var(--border-light)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--border-light)) 1px, transparent 1px);
    background-size: 20px 20px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 0%, hsl(var(--black)) 60%, transparent 100%);
    opacity: 0.1;
    z-index: -1;
}

.service-process-content {
    position: relative;
    cursor: grab;
}

.service-process-title {
    color: hsl(var(--light));
    text-align: center;
    font-size: 335px;
    font-weight: 900;
    line-height: 80%;
    letter-spacing: -23px;
    white-space: nowrap;
}

@media screen and (max-width: 1399px) {
    .service-process-title {
        font-size: 275px;
        letter-spacing: -15px;
    }
}

@media screen and (max-width: 1199px) {
    .service-process-title {
        font-size: 235px;
    }
}

@media screen and (max-width: 991px) {
    .service-process-title {
        font-size: 170px;
        letter-spacing: -10px;
    }
}

@media screen and (max-width: 767px) {
    .service-process-title {
        font-size: 124px;
        letter-spacing: 0;
    }
}

@media screen and (max-width: 767px) {
    .service-process-title {
        font-size: clamp(4rem, -0.7059rem + 23.5294vw, 7.75rem);
    }
}

.service-process-list {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.service-process-list-item {
    border-radius: 250px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--section-bg));
    color: hsl(var(--black));
    font-size: 32px;
    font-weight: 700;
    line-height: 125%;
    padding: 12px 25px;
}

@media screen and (max-width: 1499px) {
    .service-process-list-item {
        font-size: 24px;
        padding: 12px 20px;
    }
}

@media screen and (max-width: 1399px) {
    .service-process-list-item {
        font-size: 22px;
        padding: 12px 20px;
    }
}

@media screen and (max-width: 1199px) {
    .service-process-list-item {
        font-size: 18px;
        padding: 12px 20px;
    }
}

@media screen and (max-width: 991px) {
    .service-process-list-item {
        font-size: 17px;
        padding: 10px 18px;
    }
}

@media screen and (max-width: 767px) {
    .service-process-list-item {
        font-size: 16px;
        padding: 8px 16px;
    }
}

@media screen and (max-width: 575px) {
    .service-process-list-item {
        font-size: 14px;
    }
}

@media screen and (max-width: 424px) {
    .service-process-list-item {
        font-size: 12px;
        padding: 4px 8px;
    }
}

.our-offer-item {
    padding-block: 48px;
    border-bottom: 1px solid hsl(var(--border-light));
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 991px) {
    .our-offer-item {
        padding-block: 32px;
    }
}

.our-offer-item:first-child {
    border-top: 1px solid hsl(var(--border-light));
}

.our-offer-item-title,
.our-offer-item-desc {
    color: hsl(var(--white));
    mix-blend-mode: difference;
    position: relative;
    z-index: 2;
}

.our-offer-item-title {
    max-width: 896px;
    width: 100%;
    margin-bottom: 8px;
    line-height: 115%;
}

.our-offer-item-desc {
    color: hsl(var(--body-color));
    font-size: 18px;
    line-height: 160%;
    max-width: 640px;
    width: 100%;
    height: 0px;
    overflow: hidden;
    transition: height 0.3s ease-in-out;
    mix-blend-mode: difference;
}

@media screen and (max-width: 991px) {
    .our-offer-item-desc {
        font-size: 16px;
    }
}

.our-offer-item-thumb {
    border-radius: 20px;
    overflow: hidden;
    max-width: 210px;
    position: absolute;
    opacity: 0;
    pointer-events: none;
    transition: all linear 0.3s;
    top: 0;
    z-index: 1;
}

@media screen and (max-width: 991px) {
    .our-offer-item-thumb {
        max-width: 170px;
        border-radius: 12px;
        display: none;
    }
}

.our-offer-item-thumb img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.our-offer-item:hover .our-offer-item-thumb {
    opacity: 1;
}

.our-offer-item:hover .our-offer-item-title,
.our-offer-item:hover .our-offer-item-desc {
    color: hsl(var(--white));
    mix-blend-mode: difference;
    position: relative;
    z-index: 2;
}

.industries {
    position: relative;
    z-index: 1;
}

.industries::after,
.industries::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: clamp(9.375rem, -187.3587rem + 262.3116vw, 42rem);
    height: 100%;
    background-image: linear-gradient(to right, hsl(var(--base)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--base)) 1px, transparent 1px);
    background-size: 20px 20px;
    mask-image: radial-gradient(ellipse 70% 90% at 100% 50%, hsl(var(--black)) 30%, transparent 70%);
    opacity: 0.125;
    z-index: -1;
}

.industries::after {
    right: auto;
    transform: scale(-1);
    left: 0;
}

.industries-item {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 1399px) {
    .industries-item {
        border-radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .industries-item {
        border-radius: 12px;
    }
}

.industries-item-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    background: linear-gradient(0deg, hsl(var(--black)) 0%, transparent 100%);
}

@media screen and (max-width: 1399px) {
    .industries-item-content {
        padding: 20px;
    }
}

@media screen and (max-width: 767px) {
    .industries-item-content {
        padding: 16px;
    }
}

.industries-item-title {
    color: hsl(var(--white));
    margin-bottom: 4px;
}

.industries-item-desc {
    color: hsl(var(--border-light));
    font-size: 18px;
    line-height: 160%;
    height: 0px;
    overflow: hidden;
    transition: height 0.3s ease-in-out;
}

@media screen and (max-width: 1399px) {
    .industries-item-desc {
        font-size: 16px;
    }
}

.system-card {
    padding: 24px;
    border-radius: 20px;
    border: 1px solid hsl(var(--section-bg));
    background: hsl(var(--white));
    height: 100%;
    transition: all 0.5s ease;
}

.system-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px hsl(var(--black)/0.05);
}

@media screen and (max-width: 1199px) {
    .system-card {
        padding: 20px;
        border-radius: 16px;
    }
}

.system-card-icon {
    --size: 56px;
    display: flex;
    width: var(--size);
    height: var(--size);
    justify-content: center;
    align-items: center;
    margin-bottom: 24px;
    background-color: hsl(var(--danger)/0.1);
    color: hsl(var(--danger));
    border-radius: 12px;
}

@media screen and (max-width: 1199px) {
    .system-card-icon {
        border-radius: 8px;
    }
}

@media screen and (max-width: 991px) {
    .system-card-icon {
        --size: 48px;
    }
}

.system-card-title {
    color: hsl(var(--heading-color));
    margin-bottom: 4px;
}

@media screen and (max-width: 991px) {
    .system-card-title {
        font-size: 26px;
    }
}

@media screen and (max-width: 575px) {
    .system-card-title {
        font-size: 24px;
    }
}

.approach-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: space-between;
}

.approach-content-title {
    margin-bottom: 16px;
}

.approach-content-desc {
    color: hsl(var(--black));
}

.approach-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.approach-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.approach-list-item .icon {
    --size: 24px;
    display: flex;
    width: var(--size);
    height: var(--size);
    justify-content: center;
    align-items: center;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-radius: 50%;
    font-size: 12px;
}

.approach-list-item .icon.icon--font {
    font-size: 28px;
}

.approach-list-item .text {
    color: hsl(var(--black));
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
}

.approach-card {
    --this-color: var(--danger);
    background-color: hsl(var(--this-color)/0.1);
    padding: 24px;
    border-radius: 12px;
    border: 1px solid hsl(var(--this-color));
}

@media screen and (max-width: 1199px) {
    .approach-card {
        padding: 20px;
    }
}

@media screen and (max-width: 991px) {
    .approach-card {
        padding: 16px;
        border-radius: 8px;
    }
}

.approach-card.style-two {
    --this-color: var(--base);
}

.approach-card-title {
    margin-bottom: 8px;
    color: hsl(var(--black));
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    position: relative;
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 1;
}

.approach-card-title::before {
    content: "";
    width: 16px;
    height: 16px;
    background-color: hsl(var(--this-color));
    border-radius: 50%;
    display: block;
}

.approach-card-list-item {
    color: hsl(var(--secondary));
    font-size: 18px;
    line-height: 160%;
}

@media screen and (max-width: 1399px) {
    .approach-card-list-item {
        font-size: 16px;
    }
}

.approach-card-list-item:not(:last-child) {
    margin-bottom: 4px;
}

.approach-card-list-item .icon {
    color: hsl(var(--this-color));
}

.benefit-item {
    --gap: 24px;
    --inner-w: 58%;
    display: flex;
    gap: var(--gap);
    --radius: 24px;
}

.benefit-item:not(:last-child) {
    margin-bottom: 48px;
}

@media screen and (max-width: 767px) {
    .benefit-item:not(:last-child) {
        margin-bottom: 32px;
    }
}

.benefit-item:nth-child(even) {
    flex-direction: row-reverse;
}

@media screen and (max-width: 1199px) {
    .benefit-item {
        --radius: 20px;
    }
}

@media screen and (max-width: 991px) {
    .benefit-item {
        --radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .benefit-item {
        flex-direction: column !important;
        --inner-w: 100%;
        --radius: 12px;
    }
}

.benefit-item-inner {
    border-radius: var(--radius);
    width: calc(var(--inner-w) - var(--gap) / 2);
    position: relative;
    overflow: hidden;
}

.benefit-item-inner .thumb {
    height: 100%;
}

.benefit-item-inner .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.benefit-item-inner-content {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 40px 32px;
    background: hsl(var(--white)/0.05);
    backdrop-filter: blur(3px);
    width: 100%;
}

@media screen and (max-width: 1199px) {
    .benefit-item-inner-content {
        padding: 32px 24px;
    }
}

@media screen and (max-width: 991px) {
    .benefit-item-inner-content {
        padding: 16px;
    }
}

.benefit-item-inner .count {
    font-weight: 900;
    color: hsl(var(--white));
    margin-bottom: 10px;
    line-height: 90%;
}

.benefit-item-inner .title {
    color: hsl(var(--white));
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
}

.benefit-item-content {
    --this-bg: 140 14% 96%;
    border-radius: var(--radius);
    width: calc(100% - var(--inner-w) - var(--gap) / 2);
    padding: 40px 24px;
    background: radial-gradient(162.76% 50% at 50% 50%, transparent 0%, hsl(var(--this-bg)) 100%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1199px) {
    .benefit-item-content {
        padding: 32px 24px;
    }
}

@media screen and (max-width: 991px) {
    .benefit-item-content {
        padding: 24px;
    }
}

@media screen and (max-width: 767px) {
    .benefit-item-content {
        width: 100%;
        padding: 32px 24px;
    }
}

.benefit-item-content::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(to right, hsl(var(--black)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--black)) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: radial-gradient(ellipse 70% 50% at 50% 50%, hsl(var(--black)) 30%, transparent 90%);
    opacity: 0.05;
    z-index: -1;
}

.benefit-item-content .title {
    font-size: 72px;
    font-weight: 900;
    line-height: 80%;
    letter-spacing: -3px;
}

@media screen and (max-width: 1399px) {
    .benefit-item-content .title {
        font-size: 56px;
        letter-spacing: -2px;
    }
}

@media screen and (max-width: 1199px) {
    .benefit-item-content .title {
        font-size: 40px;
        letter-spacing: -1px;
    }
}

@media screen and (max-width: 991px) {
    .benefit-item-content .title {
        font-size: 32px;
    }
}

@media screen and (max-width: 575px) {
    .benefit-item-content .title {
        font-size: 28px;
    }
}

.benefit-item-content .desc {
    color: hsl(var(--heading-color));
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
}

@media screen and (max-width: 575px) {
    .benefit-item-content .desc {
        font-size: 16px;
    }
}

.service-tech-title {
    color: hsl(var(--border-light));
    text-align: center;
    font-size: 200px;
    font-weight: 900;
    line-height: 80%;
    white-space: nowrap;
}

@media screen and (max-width: 1399px) {
    .service-tech-title {
        font-size: 168px;
    }
}

@media screen and (max-width: 1199px) {
    .service-tech-title {
        font-size: 140px;
    }
}

@media screen and (max-width: 991px) {
    .service-tech-title {
        font-size: 105px;
        position: absolute;
        z-index: -1;
        left: 0;
        top: -10%;
    }
}

@media screen and (max-width: 767px) {
    .service-tech-title {
        font-size: 80px;
    }
}

@media screen and (max-width: 575px) {
    .service-tech-title {
        font-size: clamp(2.75rem, -0.0735rem + 14.1176vw, 5rem);
    }
}

@media screen and (max-width: 424px) {
    .service-tech-title {
        top: -5%;
    }
}

.service-tech-wrapper {
    --count: 5;
    --gap: 24px;
    display: flex;
    justify-content: center;
    gap: var(--gap);
    flex-wrap: wrap;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
}

@media screen and (max-width: 991px) {
    .service-tech-wrapper {
        --count: 3;
        transform: unset;
        top: 0;
        position: relative;
    }
}

@media screen and (max-width: 767px) {
    .service-tech-wrapper {
        --gap: 16px;
    }
}

@media screen and (max-width: 424px) {
    .service-tech-wrapper {
        --count: 2;
    }
}

.service-tech-item {
    width: calc((100% - var(--gap) * (var(--count) - 1)) / var(--count));
    padding: 50px 24px;
    border-radius: 20px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.5);
    backdrop-filter: blur(7.5px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}

@media screen and (max-width: 1399px) {
    .service-tech-item img {
        max-height: 70px;
        object-fit: contain;
    }
}

/* site map css start */

.site-map-desc {
    font-size: 24px;
    max-width: 620px;
    width: 100%;
    text-align: center;
    margin-inline: auto;
    font-weight: 500;
    color: hsl(var(--heading-color));
}

.sitemap-tree-wrapper {
    overflow-x: auto;
}

.sitemap-tree {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
}

@media screen and (max-width: 1399px) {
    .sitemap-tree {
        gap: 60px;
    }
}

@media screen and (max-width: 1199px) {
    .sitemap-tree {
        gap: 50px;
    }
}

.sm-section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sm-section__label {
    position: relative;
    background: hsl(var(--base));
    color: hsl(var(--white));
    font-size: 1rem;
    padding: 10px 28px;
    font-weight: 700;
    letter-spacing: 0.02em;
    border-radius: 8px;
    z-index: 1;
    text-align: center;
}

@media screen and (max-width: 1399px) {
    .sm-section__label {
        font-size: 0.9125rem;
        padding: 9px 20px;
    }
}

@media screen and (max-width: 1199px) {
    .sm-section__label {
        font-size: 0.875rem;
        padding: 8px 16px;
    }
}

.sm-section__label a {
    color: hsl(var(--white));
    text-decoration: none;
}

.sm-section__label::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 24px;
    background: hsl(var(--base));
}

.sm-section__branches {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding-top: 24px;
}

@media (min-width: 992px) {
    .zigzag-mode .sm-branch:nth-child(odd) .sm-node {
        margin-top: 74px;
        margin-inline: calc((var(--element-margin) / 2.6) * -1);
    }

    .zigzag-mode .sm-branch:nth-child(odd)::after {
        height: 74px;
    }
}

.sm-branch {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 4px;
}

.sm-branch::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: hsl(var(--base));
}

.sm-branch::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background: hsl(var(--base));
}

.sm-branch:first-child::before {
    left: 50%;
}

.sm-branch:last-child::before {
    right: 50%;
}

.sm-branch:first-child:last-child::before {
    display: none;
}

.sm-branch>.sm-node {
    margin-top: 20px;
}

.sm-branch--has-child>.sm-node {
    position: relative;
}

.sm-branch--has-child>.sm-node::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background: hsl(var(--base));
}

.sm-sub-branches {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding-top: 20px;
}

.sm-sub-branches .sm-branch {
    padding: 0 8px;
}

.sm-node {
    border: 1px solid hsl(var(--base)/0.4);
    border-radius: 8px;
    padding: 7px 14px;
    background: hsl(var(--white));
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--black));
    white-space: nowrap;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    line-height: 1.5;
}

@media screen and (max-width: 1399px) {
    .sm-node {
        padding: 7px 12px;
        font-size: 13px;
    }
}

@media screen and (max-width: 1199px) {
    .sm-node {
        padding: 6px 5px;
        font-size: 12px;
    }
}

.sm-node a {
    color: inherit;
    text-decoration: none;
}

.sm-node:hover {
    background: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white));
}

.sm-node:hover a {
    color: hsl(var(--white));
}

@media (max-width: 991px) {
    .sitemap-tree {
        align-items: flex-start;
    }

    .sm-section {
        align-items: flex-start;
    }

    .sm-section__branches {
        flex-direction: column;
        padding-left: 24px;
        border-left: 1px solid hsl(var(--base));
        margin-left: 20px;
        gap: 20px;
    }

    .sm-branch::before {
        display: none;
    }

    .sm-branch::after {
        top: 50%;
        left: -25px;
        transform: translateY(-50%);
        width: 26px;
        height: 1px;
        background: hsl(var(--base));
    }

    .sm-node {
        margin-top: 0px !important;
    }

    .sm-section__label::after {
        display: none;
    }
}

/* site map css end */

.slick-initialized.slick-slider {
    margin: 0 -10px;
}

.slick-initialized.slick-slider .slick-track {
    display: flex;
}

.slick-initialized.slick-slider .slick-slide {
    height: auto;
    padding: 0 10px;
}

.slick-initialized.slick-slider .slick-slide>div {
    height: 100%;
}

.slick-arrow {
    --size: 40px;
    position: absolute;
    z-index: 1;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    width: var(--size);
    height: var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    transition: 0.2s linear;
    background-color: hsl(var(--white));
    color: hsl(var(--black));
    font-size: 16px;
    filter: drop-shadow(0px 8px 16px hsl(var(--black)/0.08)) drop-shadow(0px 0px 4px hsl(var(--black)/0.04));
}

@media screen and (max-width: 991px) {
    .slick-arrow {
        width: 36px;
        height: 36px;
    }
}

@media screen and (max-width: 575px) {
    .slick-arrow {
        width: 32px;
        height: 32px;
        font-size: 0.875rem;
    }
}

.slick-arrow:hover {
    border-color: hsl(var(--base));
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.slick-next {
    right: -20px;
}

@media screen and (max-width: 991px) {
    .slick-next {
        right: -10px;
    }
}

@media screen and (max-width: 575px) {
    .slick-next {
        right: 0px;
    }
}

.slick-prev {
    left: -20px;
}

@media screen and (max-width: 991px) {
    .slick-prev {
        left: -10px;
    }
}

@media screen and (max-width: 575px) {
    .slick-prev {
        left: 0px;
    }
}

.slick-dots {
    text-align: center;
    padding-top: 20px;
}

.slick-dots li {
    display: inline-block;
}

.slick-dots li button {
    border: none;
    background-color: hsl(var(--black)/0.06);
    color: hsl(var(--heading-color));
    margin: 0 3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    text-indent: -9999px;
    transition: 0.3s linear;
}

.slick-dots li.slick-active button {
    background: hsl(var(--base));
    width: 48px;
    border-radius: 24px;
    color: hsl(var(--base));
}

.custom-proposal {
    --inner-p: 56px;
    --radius: 40px;
    border-radius: var(--radius);
    padding: var(--inner-p);
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.5);
    backdrop-filter: blur(10px);
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .custom-proposal {
        --inner-p: 48px;
        --radius: 32px;
    }
}

@media screen and (max-width: 991px) {
    .custom-proposal {
        --inner-p: 40px;
        --radius: 24px;
    }
}

@media screen and (max-width: 767px) {
    .custom-proposal {
        --inner-p: 32px;
        --radius: 20px;
    }
}

.custom-proposal-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 32px;
    height: 100%;
}

.custom-proposal-badge {
    color: hsl(var(--base));
    font-weight: 700;
    line-height: 160%;
    padding: 6px 12px;
    border-radius: 24px;
    border: 1px solid hsl(var(--base));
    margin-bottom: 12px;
}

.custom-proposal-title {
    font-weight: 900;
    color: hsl(var(--black));
    margin-bottom: 20px;
}

.custom-proposal-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.custom-proposal-list-item {
    font-size: 18px;
    color: hsl(var(--black));
    display: flex;
    align-items: center;
    gap: 8px;
}

.custom-proposal-list-item .icon {
    width: 20px;
    height: 20px;
    display: grid;
    place-content: center;
    border: 2px solid hsl(var(--base));
    font-size: 10px;
    color: hsl(var(--base));
    border-radius: 50%;
}

.custom-proposal-list-item .icon.icon--font {
    width: 18px;
    height: 18px;
    font-size: 20px;
    border: none;
    background-color: hsl(var(--base)/0.12);
}

.custom-proposal-supporter {
    margin-bottom: calc(-1 * var(--inner-p));
    margin-left: calc(-1 * var(--inner-p));
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

@media screen and (max-width: 991px) {
    .custom-proposal-supporter {
        margin-bottom: 0;
        margin-left: 0;
    }
}

.custom-proposal-supporter .thumb {
    max-width: 380px;
}

@media screen and (max-width: 1199px) {
    .custom-proposal-supporter .thumb {
        max-width: 220px;
    }
}

.custom-proposal-supporter .content {
    margin-bottom: var(--inner-p);
}

.custom-proposal-supporter .content .designation {
    color: hsl(var(--body-color));
    line-height: 1.6;
}

.custom-proposal-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.custom-proposal-form-captcha {
    line-height: 0;
}

.custom-proposal-form-actions .btn {
    flex-shrink: 0;
}

@media screen and (max-width: 575px) {
    .custom-proposal-form-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .custom-proposal-form-captcha {
        display: flex;
        justify-content: center;
    }

    .custom-proposal-form-actions .btn {
        width: 100%;
        text-align: center;
    }
}

.btn--base-light:has(.arrow-icon) {
    position: relative;
    padding-left: calc(var(--btn-s) + 16px);
    --btn-s: 48px;
    transition: padding-left 0.3s linear, padding-right 0.3s linear;
}

.btn--base-light:has(.arrow-icon):hover {
    padding-left: 26px;
    padding-right: calc(var(--btn-s) + 16px);
}

@media screen and (max-width: 1399px) {
    .btn--base-light:has(.arrow-icon) {
        --btn-s: 40px;
    }
}

@media screen and (max-width: 767px) {
    .btn--base-light:has(.arrow-icon):hover {
        padding-left: 20px;
    }
}

@media screen and (max-width: 767px) {
    .btn--base-light:has(.arrow-icon) {
        --btn-s: 36px;
    }
}

.btn--base-light .arrow-icon {
    left: 3px;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    height: var(--btn-s);
    width: var(--btn-s);
    border-radius: 50%;
    background-color: hsl(var(--base));
    display: grid !important;
    place-content: center;
    transition: all 0.3s linear;
    font-size: 32px;
    color: hsl(var(--black));
}

@media screen and (max-width: 1399px) {
    .btn--base-light .arrow-icon {
        font-size: 28px;
    }
}

@media screen and (max-width: 767px) {
    .btn--base-light .arrow-icon {
        font-size: 22px;
    }
}

.btn--base-light:hover .arrow-icon {
    background-color: hsl(var(--white));
    left: calc(100% - var(--btn-s) - 3px);
}

.document-upload {
    --gap: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap);
    cursor: pointer;
    border-radius: 12px;
    border: 1px solid hsl(var(--base)/0.1);
    background: hsl(var(--white)/0.5);
    backdrop-filter: blur(10px);
    padding: 8px;
}

@media screen and (max-width: 1399px) {
    .document-upload {
        --gap: 24px;
    }
}

@media screen and (max-width: 575px) {
    .document-upload {
        flex-direction: column;
        align-items: flex-start;
    }
}

.document-upload-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.document-upload-content .icon {
    color: hsl(var(--base));
    flex-shrink: 0;
    font-size: 24px;
}

.document-upload-content .content {
    flex: 1;
}

.document-upload-content .content .title {
    color: hsl(var(--body-color));
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
}

.document-upload-content .content .note {
    color: hsl(var(--body-color));
    font-size: 11px;
    line-height: 140%;
}

.document-upload .btn {
    flex-shrink: 0;
}

.document-upload.is-dragover {
    border-color: hsl(var(--base));
    background: hsl(var(--base)/0.08);
}

.document-upload-content .content .title.has-file {
    color: hsl(var(--base));
}

.visit-location {
    position: relative;
    z-index: 1;
    background-color: hsl(var(--dark));
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .visit-location {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .visit-location {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .visit-location {
        border-radius: 20px;
    }
}

.visit-location::after,
.visit-location::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: clamp(9.375rem, -187.3587rem + 262.3116vw, 42rem);
    height: 100%;
    background-image: linear-gradient(to right, hsl(var(--base)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--base)) 1px, transparent 1px);
    background-size: 20px 20px;
    mask-image: radial-gradient(ellipse 70% 90% at 100% 50%, hsl(var(--black)) 30%, transparent 70%);
    opacity: 0.125;
    z-index: -1;
}

.visit-location::after {
    right: auto;
    transform: scale(-1);
    left: 0;
}

.location-card {
    --inner-p: 40px;
    padding: var(--inner-p);
    border-radius: 20px;
    background-color: hsl(var(--white)/0.07);
    backdrop-filter: blur(9px);
    height: 100%;
}

@media screen and (max-width: 1199px) {
    .location-card {
        --inner-p: 32px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .location-card {
        --inner-p: 24px;
        border-radius: 12px;
    }
}

.location-card-area {
    margin-bottom: 100px;
    display: flex;
    align-items: center;
    gap: 12px;
}

@media screen and (max-width: 1199px) {
    .location-card-area {
        margin-bottom: 80px;
    }
}

@media screen and (max-width: 767px) {
    .location-card-area {
        margin-bottom: 60px;
    }
}

.location-card-area .thumb {
    width: 55px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
}

.location-card-area .name {
    color: hsl(var(--white));
}

.location-card-desc {
    color: hsl(var(--white));
    line-height: 140%;
    margin-bottom: 20px;
}

.location-card-desc .small-text {
    display: block;
    font-size: 18px;
    line-height: 140%;
}

@media screen and (max-width: 991px) {
    .location-card-desc .small-text {
        font-size: 16px;
    }
}

.location-card-link {
    color: hsl(var(--white)/0.5);
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.location-card-link .text {
    text-decoration: underline;
}

.location-card-link .icon {
    transition: all linear 0.3s;
    font-size: 20px;
}

.location-card-link:hover .icon {
    transform: rotate(45deg);
}

.faq-content-wrapper {
    max-width: 464px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media screen and (max-width: 991px) {
    .faq-content-wrapper {
        max-width: 100%;
    }
}

.faq-content {
    padding: 24px;
    border-radius: 20px;
}

.faq-content-desc {
    margin-bottom: 24px;
}

.faq-content-link .icon {
    transition: all linear 0.3s;
}

.faq-content-link a {
    text-decoration: underline;
}

.faq-content-link a:hover {
    color: hsl(var(--black));
}

.faq-content-link a:hover .icon {
    transform: rotate(45deg);
}

.account-section {
    --radius-bg: #101216;
    display: flex;
    flex-wrap: wrap;
    height: 100vh;
    background-color: hsl(var(--light-bg));
}

.account-heading {
    padding: 16px;
}

@media screen and (max-width: 1599px) {
    .account-heading {
        padding: 0;
    }
}

.account-heading .logo {
    margin-bottom: 24px;
}

.account-heading-desc {
    color: hsl(var(--white));
    max-width: 652px;
    width: 100%;
    font-weight: 500;
    margin-bottom: 32px;
}

@media screen and (max-width: 1599px) {
    .account-heading-desc {
        font-size: 24px;
        line-height: 1.3;
    }
}

@media screen and (max-width: 1399px) {
    .account-heading-desc {
        font-size: 20px;
        margin-bottom: 24px;
    }
}

.account-heading-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media screen and (max-width: 1399px) {
    .account-heading-list {
        gap: 12px;
    }
}

.account-heading-list-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.account-heading-list-item .icon {
    height: 28px;
    width: 28px;
    border-radius: 6px;
    background-color: hsl(var(--white));
    display: grid;
    place-items: center;
    color: hsl(var(--black));
}

@media screen and (max-width: 1599px) {
    .account-heading-list-item .icon {
        height: 24px;
        width: 24px;
        font-size: 14px;
    }
}

@media screen and (max-width: 1399px) {
    .account-heading-list-item .icon {
        height: 20px;
        width: 20px;
        border-radius: 4px;
    }
}

.account-heading-list-item .text {
    color: hsl(var(--white));
}

@media screen and (max-width: 1599px) {
    .account-heading-list-item .text {
        font-size: 18px;
    }
}

@media screen and (max-width: 1399px) {
    .account-heading-list-item .text {
        font-size: 16px;
    }
}

.account-left {
    height: 100%;
    width: 56%;
    position: relative;
    z-index: 1;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media screen and (max-width: 1599px) {
    .account-left {
        padding: 24px;
    }
}

@media screen and (max-width: 991px) {
    .account-left {
        display: none;
    }
}

.account-left-round {
    --radius: 28px;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 148px;
    height: 104px;
    background: hsl(var(--light-bg));
    border-radius: var(--radius) 0 0 0;
    z-index: 3;
}

@media screen and (max-width: 1599px) {
    .account-left-round {
        --radius: 20px;
    }
}

.account-left-round::after {
    content: "";
    position: absolute;
    right: 0px;
    top: -45px;
    width: 45px;
    height: 45px;
    background: transparent;
    border-bottom-right-radius: var(--radius);
    box-shadow: 20px 20px 0 0 hsl(var(--light-bg));
}

.account-left-round::before {
    content: "";
    position: absolute;
    left: -45px;
    bottom: 0;
    width: 45px;
    height: 45px;
    background: transparent;
    border-top-left-radius: var(--radius);
    box-shadow: -20px -20px 0 0 hsl(var(--light-bg));
    transform: rotate(180deg);
}

.account-left-bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 0px 30px 30px 0px;
    overflow: hidden;
}

@media screen and (max-width: 1599px) {
    .account-left-bg {
        border-radius: 0px 20px 20px 0px;
    }
}

.account-left-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.account-left .account-slider-arrow {
    position: absolute;
    display: flex;
    align-items: center;
    bottom: 24px;
    right: 0;
    z-index: 3;
    gap: 12px;
}

.account-left .account-slider-arrow .slick-arrow {
    background: hsl(var(--white));
    display: flex;
    width: 56px;
    height: 56px;
    padding: 16px;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    font-size: 1.75rem;
    position: unset;
    transform: unset;
    color: hsl(var(--black));
}

@media screen and (max-width: 1599px) {
    .account-left .account-slider-arrow .slick-arrow {
        font-size: 1.5rem;
        width: 48px;
        height: 48px;
    }
}

.account-left .account-slider-arrow .slick-arrow:hover {
    box-shadow: 0 0 20px 4px hsl(var(--black)/0.05);
    color: hsl(var(--black));
}

.account-slider {
    margin: 0 -10px;
}

.account-slider-item {
    padding: 40px 48px;
    backdrop-filter: blur(8px);
    border-radius: 40px;
    overflow: hidden;
    background-color: hsl(var(--white)/0.13);
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1599px) {
    .account-slider-item {
        padding: 24px 32px;
        border-radius: 24px;
    }
}

@media screen and (max-width: 1399px) {
    .account-slider-item {
        padding: 16px 20px;
        border-radius: 16px;
    }
}

.account-slider-item .title {
    color: hsl(var(--white));
    margin-bottom: 20px;
    line-height: 1.25;
}

@media screen and (max-width: 1599px) {
    .account-slider-item .title {
        font-size: 1.75rem;
        margin-bottom: 12px;
    }
}

@media screen and (max-width: 1399px) {
    .account-slider-item .title {
        font-size: 1.375rem;
    }
}

.account-slider-item .desc {
    color: hsl(var(--border-light));
    font-size: 1.75rem;
    line-height: 1.35;
    margin-bottom: 50px;
}

@media screen and (max-width: 1599px) {
    .account-slider-item .desc {
        font-size: 1.375rem;
    }
}

@media screen and (max-width: 1399px) {
    .account-slider-item .desc {
        font-size: 1.125rem;
    }
}

.account-slider-item .name {
    color: hsl(var(--white));
    margin-bottom: 2px;
}

@media screen and (max-width: 1599px) {
    .account-slider-item .name {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 1399px) {
    .account-slider-item .name {
        font-size: 1.125rem;
    }
}

.account-slider-item .designation {
    color: hsl(var(--light));
    font-size: 18px;
}

@media screen and (max-width: 1599px) {
    .account-slider-item .designation {
        font-size: 1.0625rem;
    }
}

@media screen and (max-width: 1399px) {
    .account-slider-item .designation {
        font-size: 1rem;
    }
}

.account-slider-item-round {
    --radius: 28px;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 148px;
    height: 104px;
    background: var(--radius-bg);
    border-radius: var(--radius) 0 0 0;
    z-index: 3;
}

@media screen and (max-width: 1599px) {
    .account-slider-item-round {
        --radius: 20px;
    }
}

.account-slider-item-round::after {
    content: "";
    position: absolute;
    right: 0px;
    top: -45px;
    width: 45px;
    height: 45px;
    background: transparent;
    border-bottom-right-radius: var(--radius);
    box-shadow: 20px 20px 0 0 var(--radius-bg);
}

.account-slider-item-round::before {
    content: "";
    position: absolute;
    left: -45px;
    bottom: 0;
    width: 45px;
    height: 45px;
    background: transparent;
    border-top-left-radius: var(--radius);
    box-shadow: -20px -20px 0 0 var(--radius-bg);
    transform: rotate(180deg);
}

.account-slider .slick-track {
    display: flex;
}

.account-slider .slick-slide {
    height: auto;
    padding: 0 10px;
}

.account-slider .slick-slide>div {
    height: 100%;
}

.account-content {
    height: 100%;
    width: 44%;
    display: flex;
    justify-content: center;
    padding: 40px;
    overflow-y: auto;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1599px) {
    .account-content {
        padding: 32px;
    }
}

@media screen and (max-width: 991px) {
    .account-content {
        padding: 24px;
        width: 100%;
    }
}

.account-form {
    width: 100%;
    max-width: 550px;
    margin-block: auto;
    height: max-content;
}

.account-form-title {
    margin-bottom: 12px;
}

.account-form-desc {
    margin-bottom: 32px;
    color: hsl(var(--secondary));
    font-size: 1.25rem;
    max-width: 455px;
    width: 100%;
}

@media screen and (max-width: 991px) {
    .account-form-desc {
        font-size: 1.125rem;
    }
}

.account-form .form-check-label {
    font-size: 1rem;
}

.account-form button.btn {
    margin-block: 32px;
}

.social-auth {
    width: 100%;
}

.social-auth__list {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.social-auth__item {
    flex-grow: 1;
}

.social-auth__link {
    border-radius: 12px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white));
    box-shadow: 0 0 6px 0 hsl(var(--black)/0.02), 0 2px 4px 0 hsl(var(--black)/0.08);
    color: hsl(var(--secondary));
    font-size: 1.125rem;
    font-weight: 500;
    width: 100%;
    padding: 15px 16px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.social-auth__link img {
    width: 24px;
    height: 24px;
}

.social-auth__link:hover {
    box-shadow: 0 0 6px 0 hsl(var(--black)/0.08), 0 2px 4px 0 hsl(var(--black)/0.15);
    color: hsl(var(--black));
}

.social-auth__divide {
    text-align: center;
    position: relative;
    z-index: 1;
    margin-block: 16px;
}

.social-auth__divide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: hsl(var(--black)/0.2);
    height: 1px;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}

.social-auth__divide span {
    padding-inline: 6px;
    background-color: hsl(var(--light-bg));
    color: hsl(var(--body-color));
    font-size: 14px;
}

.forgot-password {
    color: hsl(var(--danger));
    font-size: 1rem;
    font-weight: 500;
}

.forgot-password:hover {
    text-decoration: underline;
    color: hsl(var(--danger));
}

.account-external {
    font-size: 1.125rem;
    color: hsl(var(--body-color));
    text-align: center;
}

@media screen and (max-width: 1399px) {
    .account-external {
        font-size: 1rem;
    }
}

.account-external a {
    color: hsl(var(--heading-color));
    font-weight: 700;
}

.account-external a:hover {
    text-decoration: underline;
}

.visit-banner {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    padding-block: 60px;
}

.visit-banner-shape {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-repeat: repeat-x;
    animation: slide 200s linear infinite;
}

@keyframes slide {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 3840px 0;
    }
}

.visit-banner-wrapper {
    max-width: 1120px;
    margin: 0 auto;
    padding-inline: 16px;
}

.visit-banner-title {
    font-size: 102px;
    font-weight: 800;
    line-height: 120%;
    color: hsl(var(--base-d-600));
}

@media screen and (max-width: 1599px) {
    .visit-banner-title {
        font-size: 90px;
    }
}

@media screen and (max-width: 1399px) {
    .visit-banner-title {
        font-size: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .visit-banner-title {
        font-size: 72px;
    }
}

@media screen and (max-width: 991px) {
    .visit-banner-title {
        font-size: 60px;
    }
}

@media screen and (max-width: 575px) {
    .visit-banner-title {
        font-size: 48px;
    }
}

.visit-banner-title .highlight-text {
    background: url(../images/shapes/bd-flag.webp) lightgray 50%/cover no-repeat;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-repeat: repeat-x;
    animation: slide-text 100s linear infinite;
}

@keyframes slide-text {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 1920px 0;
    }
}

.visit-banner-subtitle {
    font-weight: 400;
}

@media screen and (max-width: 1199px) {
    .visit-banner-subtitle {
        font-size: 40px;
    }
}

@media screen and (max-width: 991px) {
    .visit-banner-subtitle {
        font-size: 32px;
    }
}

@media screen and (max-width: 575px) {
    .visit-banner-subtitle {
        font-size: 24px;
    }
}

.visit-banner-desc {
    max-width: 940px;
    margin: 0 auto;
    margin-block: 32px;
    color: hsl(var(--secondary));
    font-size: 24px;
    font-weight: 400;
    line-height: 150%;
}

@media screen and (max-width: 1199px) {
    .visit-banner-desc {
        font-size: 20px;
        margin-block: 24px;
    }
}

@media screen and (max-width: 991px) {
    .visit-banner-desc {
        font-size: 18px;
        margin-block: 20px;
    }
}

@media screen and (max-width: 575px) {
    .visit-banner-desc {
        font-size: 17px;
    }
}

.visit-banner-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 48px;
}

@media screen and (max-width: 1399px) {
    .visit-banner-btn {
        margin-top: 32px;
    }
}

@media screen and (max-width: 575px) {
    .visit-banner-btn {
        gap: 16px;
    }
}

@media screen and (max-width: 424px) {
    .visit-banner-btn {
        flex-direction: column;
        gap: 16px;
    }

    .visit-banner-btn .btn {
        width: 100%;
        justify-content: center;
    }
}

.visit-service-card-wrapper {
    --count: 3;
    --gap: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

@media screen and (max-width: 991px) {
    .visit-service-card-wrapper {
        --count: 2;
    }
}

@media screen and (max-width: 767px) {
    .visit-service-card-wrapper {
        --count: 1;
    }
}

.visit-service-card {
    --inner-p: 32px;
    --radius: 20px;
    width: calc(100% / var(--count) - (var(--gap) - var(--gap) / var(--count)));
    padding: var(--inner-p);
    border-radius: var(--radius);
    text-align: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.61);
    backdrop-filter: blur(10px);
    flex-grow: 1;
}

@media screen and (max-width: 1399px) {
    .visit-service-card {
        --inner-p: 24px;
        --radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .visit-service-card {
        --inner-p: 20px;
        --radius: 12px;
    }
}

.visit-service-card-icon {
    position: relative;
    z-index: 1;
}

.visit-service-card-icon-inner {
    --icon-size: 64px;
    width: var(--icon-size);
    height: var(--icon-size);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 84px;
    border-radius: 12px;
    color: hsl(var(--black));
    margin-inline: auto;
    border: 1px solid hsl(var(--white));
    background-color: hsl(var(--white));
    box-shadow: 0 0 12px 0 hsl(var(--black)/0.1);
}

@media screen and (max-width: 1399px) {
    .visit-service-card-icon-inner {
        margin-bottom: 60px;
    }
}

@media screen and (max-width: 1199px) {
    .visit-service-card-icon-inner {
        --icon-size: 52px;
        margin-bottom: 48px;
        border-radius: 8px;
    }
}

@media screen and (max-width: 767px) {
    .visit-service-card-icon-inner {
        margin-bottom: 42px;
    }
}

.visit-service-card-icon .shape-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: 100%;
}

.visit-service-card-icon .shape-image:has(.bottom-circle) {
    bottom: -50%;
    top: 0;
    transform: translate(-50%, -25%);
}

@media screen and (max-width: 1399px) {
    .visit-service-card-icon .shape-image:has(.bottom-circle) {
        transform: translate(-50%, -15%);
    }
}

.visit-service-card-icon .shape-image:has(.top-circle) {
    bottom: 0;
    transform: translate(-50%, 0);
}

.visit-service-card-title {
    margin-bottom: 4px;
    color: hsl(var(--black));
}

.visit-service-card-desc {
    color: hsl(var(--secondary));
    font-size: 18px;
}

.hotel-card {
    padding: 12px;
    border-radius: 20px;
    background: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .hotel-card {
        padding: 8px;
        border-radius: 16px;
    }
}

.hotel-card-thumb {
    border-radius: 16px;
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .hotel-card-thumb {
        border-radius: 12px;
    }
}

.hotel-card-content {
    padding: 16px 12px;
}

.hotel-card-title {
    line-height: 130%;
}

.hotel-card-desc {
    color: hsl(var(--secondary));
    line-height: 160%;
}

@media screen and (max-width: 1399px) {
    .hotel-card-desc {
        font-size: 15px;
    }
}

.hotel-card-location {
    margin-block: 16px;
    display: flex;
    align-items: center;
    gap: 4px;
}

@media screen and (max-width: 1399px) {
    .hotel-card-location {
        font-size: 15px;
    }
}

@media screen and (max-width: 1199px) {
    .hotel-card-location {
        margin-block: 12px;
    }
}

.hotel-card-location .icon {
    color: hsl(var(--base));
    font-size: 20px;
}

@media screen and (max-width: 1399px) {
    .hotel-card-location .icon {
        font-size: 18px;
    }
}

.hotel-card-amenities .title {
    color: hsl(var(--heading-color));
    line-height: 160%;
    margin-bottom: 6px;
}

@media screen and (max-width: 1399px) {
    .hotel-card-amenities .title {
        font-size: 15px;
    }
}

.hotel-card .amenities-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

@media screen and (max-width: 1399px) {
    .hotel-card .amenities-list {
        gap: 6px 12px;
    }
}

.hotel-card .amenities-list-item {
    color: hsl(var(--heading-color));
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
}

@media screen and (max-width: 1399px) {
    .hotel-card .amenities-list-item {
        font-size: 14px;
    }
}

.hotel-card .amenities-list-item .icon {
    --size: 24px;
    height: var(--size);
    width: var(--size);
    color: hsl(var(--base-d-500));
    border-radius: 4px;
    display: grid;
    place-content: center;
    background-color: hsl(var(--base)/0.1);
    font-size: 14px;
}

.discover-card {
    position: relative;
    z-index: 1;
    border-radius: 20px;
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .discover-card {
        border-radius: 16px;
    }
}

.discover-card::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.7;
    background: hsl(var(--black));
}

.discover-card-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

@media screen and (max-width: 1399px) {
    .discover-card-content {
        padding: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .discover-card-content {
        padding: 24px;
    }
}

@media screen and (max-width: 991px) {
    .discover-card-content {
        padding: 16px;
    }
}

.discover-card-content .icon {
    --size: 56px;
    width: var(--size);
    height: var(--size);
    display: grid;
    place-content: center;
    border-radius: 16px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.6);
    backdrop-filter: blur(10px);
    margin-bottom: 16px;
}

@media screen and (max-width: 1399px) {
    .discover-card-content .icon {
        --size: 48px;
        margin-bottom: 12px;
    }
}

@media screen and (max-width: 1199px) {
    .discover-card-content .icon {
        --size: 40px;
        border-radius: 12px;
        margin-bottom: 8px;
        padding: 9px;
    }
}

@media screen and (max-width: 991px) {
    .discover-card-content .icon {
        --size: 36px;
        border-radius: 8px;
        margin-bottom: 6px;
        padding: 6px;
    }
}

.discover-card-content .title {
    color: hsl(var(--white));
    line-height: 130%;
}

.discover-card-content .desc {
    color: hsl(var(--white));
    line-height: 160%;
    margin-bottom: 16px;
}

@media screen and (max-width: 991px) {
    .discover-card-content .desc {
        margin-bottom: 12px;
        font-size: 14px;
    }
}

.discover-card-content .list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

@media screen and (max-width: 991px) {
    .discover-card-content .list {
        gap: 4px;
    }
}

.discover-card-content .item {
    color: hsl(var(--white));
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}

@media screen and (max-width: 1399px) {
    .discover-card-content .item {
        font-size: 17px;
    }
}

@media screen and (max-width: 1199px) {
    .discover-card-content .item {
        font-size: 15px;
    }
}

@media screen and (max-width: 991px) {
    .discover-card-content .item {
        font-size: 14px;
    }
}

.discover-card-content .item::before {
    content: "";
    display: block;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background-color: hsl(var(--base));
}

.trip-tabs {
    justify-content: center;
    display: inline-flex;
    border-bottom: 0;
    gap: 24px;
    margin-bottom: 32px;
    width: 100%;
    flex-wrap: wrap;
}

@media screen and (max-width: 991px) {
    .trip-tabs {
        gap: 16px;
    }
}

.trip-tabs .nav-item {
    flex: 1;
}

@media screen and (max-width: 767px) {
    .trip-tabs .nav-item {
        flex: unset;
        width: calc(50% - 8px);
    }
}

.trip-tabs .nav-item .nav-link {
    transition: all linear 0.3s;
    position: relative;
    overflow: hidden;
    font-weight: 700;
    border-radius: 40px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.6);
    backdrop-filter: blur(11px);
    padding: 32px;
    width: 100%;
    display: flex;
    flex-direction: column;
    color: hsl(var(--black));
    height: 100%;
}

@media screen and (max-width: 1399px) {
    .trip-tabs .nav-item .nav-link {
        padding: 28px;
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .trip-tabs .nav-item .nav-link {
        padding: 24px;
        border-radius: 24px;
    }
}

@media screen and (max-width: 991px) {
    .trip-tabs .nav-item .nav-link {
        padding: 20px 16px;
        border-radius: 16px;
    }
}

.trip-tabs .nav-item .nav-link .image {
    margin-bottom: 8px;
}

.trip-tabs .nav-item .nav-link .day {
    font-weight: 400;
    line-height: 160%;
}

.trip-tabs .nav-item .nav-link .title {
    line-height: 130%;
    font-weight: 700;
}

.trip-tabs .nav-item .nav-link.active {
    color: hsl(var(--white));
    border-color: hsl(var(--base));
    background-color: hsl(var(--base));
}

.trip-tabs .nav-item .nav-link.active:hover {
    color: hsl(var(--white));
    background-color: hsl(var(--base));
}

.trip-tabs .nav-item .nav-link.active .image {
    filter: brightness(0) invert(1);
}

.trip-tabs .nav-item .nav-link:hover {
    background-color: hsl(var(--white));
}

.trip-detail {
    --radius: 40px;
    border-radius: var(--radius);
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.6);
    backdrop-filter: blur(10px);
    padding: 40px;
}

@media screen and (max-width: 1399px) {
    .trip-detail {
        padding: 32px;
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .trip-detail {
        padding: 28px;
        border-radius: 24px;
    }
}

@media screen and (max-width: 991px) {
    .trip-detail {
        border-radius: 16px;
    }
}

.trip-detail-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
    .trip-detail-header {
        gap: 8px;
    }
}

.trip-detail-header .icon {
    flex-shrink: 0;
    --size: 64px;
    width: var(--size);
    height: var(--size);
    display: grid;
    place-content: center;
    border-radius: 12px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--base));
    padding: 12px;
}

@media screen and (max-width: 767px) {
    .trip-detail-header .icon {
        --size: 52px;
        padding: 8px;
    }
}

.trip-detail-header .icon img {
    filter: brightness(0) invert(1);
}

.trip-detail-header .content {
    flex: 1;
}

.trip-detail-header .content .day {
    font-size: 14px;
    line-height: 1.5;
    color: hsl(var(--secondary));
    display: block;
}

.trip-detail-item {
    padding: 24px;
    border-radius: 16px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.6);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

@media screen and (max-width: 1199px) {
    .trip-detail-item {
        border-radius: 12px;
    }
}

@media screen and (max-width: 767px) {
    .trip-detail-item {
        padding: 16px;
        gap: 8px;
    }
}

@media screen and (max-width: 575px) {
    .trip-detail-item {
        flex-direction: column;
        align-items: flex-start;
    }
}

.trip-detail-item .icon {
    --size: 56px;
    width: var(--size);
    height: var(--size);
    display: grid;
    place-content: center;
    border-radius: 8px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white));
    color: hsl(var(--base));
    flex-shrink: 0;
}

.trip-detail-item .content {
    flex: 1;
}

.trip-detail-item .inner {
    display: flex;
    align-items: center;
    gap: 4px;
}

.trip-detail-item .inner .trip-badge {
    color: hsl(var(--base));
    font-size: 14px;
    font-weight: 600;
    line-height: 150%;
    padding-inline: 8px;
    border-radius: 250px;
    background: hsl(var(--success)/0.05);
}

.trip-detail-item .inner .title {
    color: hsl(var(--heading-color));
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
}

.trip-detail-item .inner .desc {
    color: hsl(var(--secondary));
    font-size: 16px;
    line-height: 160%;
}

.trip-detail-item-wrapper {
    --icon-size: 40px;
    display: flex;
    align-items: center;
    gap: 24px;
    position: relative;
}

@media screen and (max-width: 991px) {
    .trip-detail-item-wrapper {
        gap: 16px;
    }
}

@media screen and (max-width: 767px) {
    .trip-detail-item-wrapper {
        gap: 12px;
    }
}

.trip-detail-item-wrapper .check-icon {
    width: var(--icon-size);
    height: var(--icon-size);
    display: grid;
    place-content: center;
    border-radius: 50%;
    background: hsl(var(--base));
    color: hsl(var(--white));
    flex-shrink: 0;
    font-size: 18px;
    position: relative;
    z-index: 2;
}

.trip-detail-item-wrapper .check-icon.icon--font {
    font-size: 46px;
}

.trip-detail-item-wrapper:not(:last-child) {
    padding-bottom: 24px;
}

.trip-detail-item-wrapper:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(var(--icon-size) / 2);
    transform: translateX(-50%);
    width: 2px;
    height: 100%;
    border-left: 2px dashed hsl(var(--base-l-600));
}

.partner-card-wrapper {
    --count: 3;
    --gap: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

@media screen and (max-width: 991px) {
    .partner-card-wrapper {
        --count: 2;
    }
}

@media screen and (max-width: 767px) {
    .partner-card-wrapper {
        --count: 1;
    }
}

.partner-card {
    --inner-p: 32px;
    --radius: 20px;
    width: calc(100% / var(--count) - (var(--gap) - var(--gap) / var(--count)));
    padding: var(--inner-p);
    border-radius: var(--radius);
    text-align: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.61);
    backdrop-filter: blur(10px);
    flex-grow: 1;
    --icon-bg: 39 100% 49%;
}

@media screen and (max-width: 1399px) {
    .partner-card {
        --inner-p: 24px;
        --radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .partner-card {
        --inner-p: 20px;
        --radius: 12px;
    }
}

.partner-card:nth-child(2) {
    --icon-bg: 204 100% 48%;
}

.partner-card:nth-child(3) {
    --icon-bg: 332 93% 58%;
}

.partner-card-icon {
    position: relative;
    z-index: 1;
}

.partner-card-icon-inner {
    --icon-size: 64px;
    width: var(--icon-size);
    height: var(--icon-size);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    border-radius: 12px;
    color: hsl(var(--white));
    margin-inline: auto;
    border: 1px solid hsl(var(--white));
    background-color: hsl(var(--icon-bg));
    box-shadow: 0 0 12px 0 hsl(var(--black)/0.1);
}

@media screen and (max-width: 1199px) {
    .partner-card-icon-inner {
        --icon-size: 52px;
        border-radius: 8px;
    }
}

.partner-card-icon .shape-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: max-content;
    mask-image: url("../svg/black-line.svg");
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    background-color: hsl(var(--icon-bg));
}

.partner-card-icon .shape-image img {
    opacity: 0;
}

.partner-card-title {
    margin-bottom: 4px;
    color: hsl(var(--black));
}

.partner-card-desc {
    color: hsl(var(--secondary));
    font-size: 18px;
}

.nature-section {
    --position-gap: 40px;
    padding-block: 90px 50px;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1399px) {
    .nature-section {
        padding-block: 70px 40px;
        --position-gap: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .nature-section {
        padding-block: 60px 40px;
    }
}

@media screen and (max-width: 991px) {
    .nature-section {
        padding-block: 60px 40px;
        --position-gap: 24px;
    }
}

@media screen and (max-width: 575px) {
    .nature-section {
        --position-gap: 16px;
    }
}

.nature-section-title {
    background: url(../images/shapes/bd-flag.webp) lightgray 50%/cover no-repeat;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-repeat: repeat-x;
    animation: slide-text 100s linear infinite;
    font-size: clamp(4.25rem, 0.6129rem + 15.5184vw, 18.75rem);
    white-space: nowrap;
    font-weight: 900;
    line-height: 110%;
    text-align: center;
    position: relative;
    z-index: -1;
    margin-bottom: calc(-1 * var(--text-bd-h) / 2);
}

.nature-section-preview {
    border-radius: 40px;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 1399px) {
    .nature-section-preview {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .nature-section-preview {
        border-radius: 24px;
    }
}

@media screen and (max-width: 991px) {
    .nature-section-preview {
        border-radius: 20px;
    }
}

@media screen and (max-width: 767px) {
    .nature-section-preview {
        border-radius: 16px;
    }
}

@media screen and (max-width: 575px) {
    .nature-section-preview>img {
        aspect-ratio: 1/0.75;
    }
}

.nature-section-preview-wraper {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
}

.nature-section-preview .control-btn {
    position: absolute;
    top: var(--position-gap);
    right: var(--position-gap);
    z-index: 10;
    border-radius: 250px;
    background: hsl(var(--white)/0.25);
    padding: 4px 12px;
    color: hsl(var(--white));
}

@media screen and (max-width: 767px) {
    .nature-section-preview .control-btn {
        font-size: 14px;
        padding: 3px 8px;
    }
}

@media screen and (max-width: 767px) {
    .nature-section-preview .control-btn {
        display: none;
    }
}

.nature-section-preview-button {
    cursor: pointer;
}

@media screen and (max-width: 991px) {
    .nature-section-preview-button {
        max-width: 76px;
    }
}

@media screen and (max-width: 767px) {
    .nature-section-preview-button {
        max-width: 64px;
    }
}

@media screen and (max-width: 575px) {
    .nature-section-preview-button {
        max-width: 48px;
    }
}

.nature-section-preview-button img {
    animation: rotate 7s linear infinite;
}


.nature-section-preview-content {
    width: 100%;
    padding: var(--position-gap);
}

.nature-section-preview-content .status {
    display: flex;
    align-items: center;
    gap: 8px;
    color: hsl(var(--white));
    font-size: 1.125rem;
    margin-bottom: 8px;
    position: relative;
    line-height: 1.6;
}

@media screen and (max-width: 991px) {
    .nature-section-preview-content .status {
        font-size: 1rem;
    }
}

@media screen and (max-width: 767px) {
    .nature-section-preview-content .status {
        font-size: 0.875rem;
    }
}

@media screen and (max-width: 575px) {
    .nature-section-preview-content .status {
        font-size: 0.75rem;
    }
}

.nature-section-preview-content .status::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: hsl(var(--base));
    border-radius: 50%;
}

.nature-section-preview-content .title {
    color: hsl(var(--white));
    margin-bottom: 4px;
}

@media screen and (max-width: 767px) {
    .nature-section-preview-content .title {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 575px) {
    .nature-section-preview-content .title {
        font-size: 1.125rem;
    }
}

.nature-section-preview-content .desc {
    color: hsl(var(--white));
    font-size: 18px;
    line-height: 1.6;
}


@media screen and (max-width: 991px) {
    .nature-section-preview-content .desc {
        font-size: 1rem;
    }
}

@media screen and (max-width: 767px) {
    .nature-section-preview-content .desc {
        font-size: 0.875rem;
    }
}

@media screen and (max-width: 575px) {
    .nature-section-preview-content .desc {
        font-size: 0.75rem;
    }
}

.visit-plan {
    background: linear-gradient(281deg, hsl(var(--white)) 0%, hsl(var(--section-bg)) 55%, hsl(var(--section-bg)) 90%);
}

.visit-plan-card {
    --inner-p: 100px;
    --footer-p: 40px;
    border-radius: 40px;
    overflow: hidden;
}

@media screen and (max-width: 1399px) {
    .visit-plan-card {
        border-radius: 32px;
        --footer-p: 32px;
        --inner-p: 80px;
    }
}

@media screen and (max-width: 1199px) {
    .visit-plan-card {
        border-radius: 24px;
        --footer-p: 24px;
        --inner-p: 60px;
    }
}

@media screen and (max-width: 991px) {
    .visit-plan-card {
        border-radius: 20px;
        --footer-p: 20px;
        --inner-p: 40px;
    }
}

@media screen and (max-width: 767px) {
    .visit-plan-card {
        border-radius: 16px;
        --footer-p: 16px;
        --inner-p: 24px;
    }
}

.visit-plan-card-body {
    padding: var(--inner-p);
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.6);
    backdrop-filter: blur(11px);
    text-align: center;
}

.visit-plan-card-btn {
    margin-bottom: 24px;
}

.visit-plan-card-btn .btn {
    font-size: 16px;
    padding: 13px 26px;
}

.visit-plan-card-btn .btn svg {
    width: 20px;
    height: 20px;
}

.visit-plan-card-location {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    gap: 10px;
    border-radius: 250px;
    background: hsl(var(--base)/0.15);
    color: hsl(var(--base-d-500));
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    margin-bottom: 40px;
}

@media screen and (max-width: 991px) {
    .visit-plan-card-location {
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 767px) {
    .visit-plan-card-location {
        font-size: 1rem;
    }
}

.visit-plan-card-title {
    margin-bottom: 12px;
    font-weight: 600;
}

.visit-plan-card-desc {
    margin-bottom: 48px;
    max-width: 578px;
    width: 100%;
    margin-inline: auto;
    color: hsl(var(--black));
    font-size: 18px;
    line-height: 160%;
}

@media screen and (max-width: 991px) {
    .visit-plan-card-desc {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 767px) {
    .visit-plan-card-desc {
        font-size: 1rem;
        margin-bottom: 32px;
    }
}

.visit-plan-card-duration {
    font-size: 14px;
    line-height: 150%;
}

.visit-plan-card-footer {
    padding: var(--footer-p);
    background-color: hsl(var(--base));
}

.visit-plan-card-info {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 24px;
    flex-wrap: wrap;
}

.visit-plan-card-info .item {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.visit-plan-card-info .item .label {
    color: hsl(var(--white));
    line-height: 160%;
}

.visit-plan-card-info .item .value {
    color: hsl(var(--white));
    font-size: 20px;
    font-weight: 700;
    line-height: 140%;
}

@media screen and (max-width: 991px) {
    .visit-plan-card-info .item .value {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 767px) {
    .visit-plan-card-info .item .value {
        font-size: 1rem;
    }
}

.visit-plan-card-info .item .value:hover {
    text-decoration: underline;
}

.saas-product-wrapper {
    --gap-x: 32px;
    --gap-y: 60px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-y) var(--gap-x);
}

@media screen and (max-width: 991px) {
    .saas-product-wrapper {
        --gap-x: 24px;
        --gap-y: 48px;
    }
}

@media screen and (max-width: 767px) {
    .saas-product-wrapper {
        --gap-x: 16px;
        --gap-y: 32px;
    }
}

.saas-product {
    width: calc(50% - var(--gap-x) / 2);
}

@media screen and (max-width: 575px) {
    .saas-product {
        width: 100%;
    }
}

.saas-product-thumb {
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 10px;
}

@media screen and (max-width: 1199px) {
    .saas-product-thumb {
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .saas-product-thumb {
        border-radius: 12px;
    }
}

.saas-product-title {
    margin-bottom: 4px;
    line-height: 1.3;
}

.saas-product-desc {
    font-size: 18px;
    line-height: 1.6;
    color: hsl(var(--heading-color));
}

@media screen and (max-width: 991px) {
    .saas-product-desc {
        font-size: 1rem;
    }
}

.portfolio {
    position: relative;
    z-index: 1;
}

.portfolio-shape {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    z-index: -1;
}

.portfolio-name {
    color: hsl(var(--base));
    font-size: 18px;
    font-weight: 500;
    line-height: 140%;
    padding: 4px 12px;
    border-radius: 250px;
    background: hsl(var(--base)/0.15);
    border: 1px solid hsl(var(--base));
    display: inline-block;
}

@media screen and (max-width: 991px) {
    .portfolio-name {
        font-size: 1rem;
        margin-bottom: 4px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-name {
        font-size: 0.875rem;
    }
}

.portfolio-title {
    max-width: 860px;
    width: 100%;
    margin: 0 auto 36px;
}

.portfolio-thumb {
    border-radius: 40px;
    overflow: hidden;
}

@media screen and (max-width: 1399px) {
    .portfolio-thumb {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .portfolio-thumb {
        border-radius: 24px;
    }
}

@media screen and (max-width: 991px) {
    .portfolio-thumb {
        border-radius: 20px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-thumb {
        border-radius: 16px;
    }
}

.portfolio-content {
    margin-block: 64px;
}

@media screen and (max-width: 991px) {
    .portfolio-content {
        margin-block: 48px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-content {
        margin-block: 32px;
    }
}

.portfolio-content-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 16px;
}

.portfolio-content .portfolio-share {
    display: flex;
    align-items: center;
    gap: 18px;
}

@media screen and (max-width: 575px) {
    .portfolio-content .portfolio-share {
        gap: 12px;
    }
}

.portfolio-content .portfolio-share-title {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 140%;
    color: hsl(var(--heading-color));
}

@media screen and (max-width: 991px) {
    .portfolio-content .portfolio-share-title {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 575px) {
    .portfolio-content .portfolio-share-title {
        font-size: 1rem;
    }
}

.portfolio-content .portfolio-share-list {
    display: flex;
    align-items: center;
    gap: 30px;
}

@media screen and (max-width: 991px) {
    .portfolio-content .portfolio-share-list {
        gap: 24px;
    }
}

@media screen and (max-width: 575px) {
    .portfolio-content .portfolio-share-list {
        gap: 16px;
    }
}

.portfolio-content .portfolio-share-icon {
    color: hsl(var(--heading-color));
    transition: all 0.3s ease;
    display: flex;
}

.portfolio-content .portfolio-share-icon svg {
    width: 20px;
    height: 20px;
}

@media screen and (max-width: 991px) {
    .portfolio-content .portfolio-share-icon svg {
        width: 18px;
        height: 18px;
    }
}

@media screen and (max-width: 575px) {
    .portfolio-content .portfolio-share-icon svg {
        width: 16px;
        height: 16px;
    }
}

.portfolio-content .portfolio-share-icon:hover {
    color: hsl(var(--base));
}

.portfolio-content .desc {
    color: hsl(var(--secondary));
    font-size: 18px;
    line-height: 160%;
    margin-bottom: 48px;
}

@media screen and (max-width: 991px) {
    .portfolio-content .desc {
        font-size: 1rem;
        margin-bottom: 36px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-content .desc {
        margin-bottom: 24px;
    }
}

.portfolio-info {
    border-radius: 20px;
    border: 1px solid hsl(var(--border-light));
    background: hsl(var(--white)/0.6);
    backdrop-filter: blur(10px);
    padding: 24px;
    height: 100%;
}

@media screen and (max-width: 1199px) {
    .portfolio-info {
        padding: 16px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-info {
        border-radius: 12px;
    }
}

.portfolio-info-title {
    margin-bottom: 24px;
}

@media screen and (max-width: 1199px) {
    .portfolio-info-title {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-info-title {
        margin-bottom: 16px;
    }
}

.portfolio-info-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.portfolio-info-list:has(.portfolio-info-icon) {
    gap: 12px;
}

.portfolio-info-item {
    color: hsl(var(--heading-color));
    line-height: 140%;
    font-weight: 700;
    border: 1px solid hsl(var(--border-light));
    background: hsl(var(--white)/0.6);
    border-radius: 250px;
    padding: 8px 15px;
}

/* Service pills link to their service page - keep the pill's own colour rather
   than the global link colour, and let the whole pill be the hit area. */
.portfolio-info-item:has(a) {
    padding: 0;
}

.portfolio-info-item a {
    color: inherit;
    display: block;
    padding: 8px 15px;
}

@media screen and (max-width: 1199px) {
    .portfolio-info-item a {
        padding: 6px 10px;
    }
}

@media screen and (max-width: 1199px) {
    .portfolio-info-item {
        padding: 6px 10px;
        font-size: 15px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-info-item {
        padding: 4px 10px;
    }
}

.portfolio-info-icon {
    --size: 40px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: hsl(var(--white)/0.6);
    border: 1px solid hsl(var(--border-light));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

.portfolio-details .mb-80 {
    margin-bottom: 80px;
}

@media screen and (max-width: 1199px) {
    .portfolio-details .mb-80 {
        margin-bottom: 60px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-details .mb-80 {
        margin-bottom: 50px;
    }
}

.portfolio-details-thumb {
    border-radius: 20px;
    overflow: hidden;
}

.portfolio-details-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 1199px) {
    .portfolio-details-thumb {
        border-radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-details-thumb {
        border-radius: 12px;
    }
}

.portfolio-details-content .title {
    margin-bottom: 40px;
}

@media screen and (max-width: 1199px) {
    .portfolio-details-content .title {
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-details-content .title {
        margin-bottom: 24px;
    }
}

.portfolio-details-content .desc {
    font-size: 18px;
    line-height: 160%;
}

@media screen and (max-width: 991px) {
    .portfolio-details-content .desc {
        font-size: 16px;
    }
}

.portfolio-details-card-wrapper {
    --gap: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

@media screen and (max-width: 1199px) {
    .portfolio-details-card-wrapper {
        --gap: 32px;
    }
}

@media screen and (max-width: 767px) {
    .portfolio-details-card-wrapper {
        --gap: 24px;
    }
}

.portfolio-details-card {
    width: calc(50% - var(--gap) / 2);
}

.portfolio-details-card .icon {
    --size: 48px;
    width: var(--size);
    height: var(--size);
    border-radius: 12px;
    background: hsl(var(--success)/0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: calc(var(--size) * 0.75);
}

.portfolio-details-card .desc {
    color: hsl(var(--black));
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
}

.visit-service {
    border-bottom: 4px solid hsl(var(--border-color)/0.4);
}

body:has(.booking-section) {
    background-color: hsl(var(--white));
}

.page-shape {
    --this-h: 1060px;
    position: absolute;
    height: var(--this-h);
    width: 100%;
    z-index: -1;
}

.page-shape::after {
    content: "";
    position: absolute;
    height: 200px;
    width: 100%;
    background: linear-gradient(180deg, transparent 0%, hsl(var(--white)) 100%);
    bottom: 0;
    left: 0;
}

.page-shape-thumb {
    height: 100%;
    width: 100%;
}

.booking-section {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.booking-section-text {
    position: absolute;
    width: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0.4;
    background: linear-gradient(180deg, hsl(var(--black)) -489.91%, transparent 100%);
    background-clip: text;
    white-space: nowrap;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: clamp(3.5rem, 0.825rem + 13.375vw, 16.875rem);
    font-style: normal;
    font-weight: 900;
    line-height: 0.8;
    z-index: -1;
}

.booking-section-title {
    text-align: center;
    max-width: 800px;
    width: 100%;
    margin-inline: auto;
}

body:has(.career-section) .page-shape::after {
    background: linear-gradient(180deg, transparent 0%, hsl(var(--light-bg)) 100%);
}

.career-section {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.career-section-text {
    position: absolute;
    width: 100%;
    top: -10%;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0.4;
    background: linear-gradient(180deg, hsl(var(--black)) -489.91%, transparent 100%);
    background-clip: text;
    white-space: nowrap;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: clamp(6.25rem, -0.125rem + 31.875vw, 38.125rem);
    font-weight: 900;
    line-height: 0.6;
    z-index: -1;
    text-align: center;
}

.career-section-title {
    --extra-fs: 104px;
    font-size: var(--extra-fs);
    font-weight: 900;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1;
}

@media screen and (max-width: 1599px) {
    .career-section-title {
        --extra-fs: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .career-section-title {
        --extra-fs: 64px;
    }
}

@media screen and (max-width: 767px) {
    .career-section-title {
        --extra-fs: 48px;
    }
}

.career-section-desc {
    color: hsl(var(--black));
    text-align: center;
    font-size: 22px;
    line-height: 160%;
    max-width: 850px;
    width: 100%;
    margin: 0 auto 32px;
}

.career-section-thumb {
    border-radius: 20px;
    overflow: hidden;
    margin-top: 50px;
}

.why-join-card {
    --inner-p: 32px;
    padding: var(--inner-p);
    border-radius: 20px;
    background-color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .why-join-card {
        --inner-p: 24px;
    }
}

.why-join-card-icon {
    --thumb-s: 150px;
    width: var(--thumb-s);
    height: var(--thumb-s);
    margin-bottom: 120px;
}

@media screen and (max-width: 1199px) {
    .why-join-card-icon {
        --thumb-s: 120px;
        margin-bottom: 90px;
    }
}

@media screen and (max-width: 767px) {
    .why-join-card-icon {
        --thumb-s: 100px;
        margin-bottom: 70px;
    }
}

.why-join-card-title {
    margin-bottom: 6px;
}

.career-gallery-thumb {
    border-radius: 16px;
    overflow: hidden;
}

.job-card {
    --inner-p: 40px;
    background-color: hsl(var(--white));
    border-radius: 20px;
    padding: var(--inner-p);
}

@media screen and (max-width: 1199px) {
    .job-card {
        --inner-p: 32px;
    }
}

@media screen and (max-width: 767px) {
    .job-card {
        --inner-p: 24px;
        border-radius: 16px;
    }
}

.job-card-category {
    margin-bottom: 56px;
    font-size: 18px;
    color: hsl(var(--body-color));
}

@media screen and (max-width: 1199px) {
    .job-card-category {
        margin-bottom: 48px;
    }
}

@media screen and (max-width: 767px) {
    .job-card-category {
        margin-bottom: 32px;
    }
}

.job-card-title {
    margin-bottom: 8px;
}

.job-card-type {
    color: hsl(var(--body-color));
    line-height: 160%;
    margin-bottom: 40px;
}

@media screen and (max-width: 1199px) {
    .job-card-type {
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 767px) {
    .job-card-type {
        margin-bottom: 24px;
    }
}

.job-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.job-card-salary {
    background-color: hsl(var(--success)/0.05);
    color: hsl(var(--success));
    font-weight: 700;
    font-size: 20px;
    border-radius: 4px;
    padding: 10px 16px;
}

@media screen and (max-width: 1199px) {
    .job-card-salary {
        padding: 6px 12px;
        font-size: 18px;
    }
}

@media screen and (max-width: 767px) {
    .job-card-salary {
        padding: 6px 12px;
        font-size: 16px;
    }
}

.job-card-salary .currency {
    font-size: 16px;
    color: hsl(var(--success)/0.5);
}

@media screen and (max-width: 767px) {
    .job-card-salary .currency {
        font-size: 14px;
    }
}

.job-card-link {
    font-size: 20px;
    font-weight: 700;
    color: hsl(var(--black));
    display: flex;
    align-items: center;
}

@media screen and (max-width: 1199px) {
    .job-card-link {
        font-size: 18px;
    }
}

@media screen and (max-width: 767px) {
    .job-card-link {
        font-size: 16px;
    }
}

.job-card-link .icon {
    transition: all linear 0.3s;
    display: flex;
    font-size: 24px;
    margin-top: 2px;
}

@media screen and (max-width: 1199px) {
    .job-card-link .icon {
        font-size: 18px;
    }
}

.job-card-link:hover .icon {
    transform: rotate(45deg);
}

.policy-section {
    padding-block: 80px;
}

@media screen and (max-width: 991px) {
    .policy-section {
        padding-block: 60px;
    }
}

.policy-block:not(:last-child) {
    margin-bottom: 24px;
}

.policy-block-title {
    line-height: 160%;
}

.policy-block-desc,
.policy-block-list li {
    line-height: 160%;
    font-weight: 500;
    color: hsl(var(--secondary));
    font-size: 1.25rem;
}

@media screen and (max-width: 1199px) {

    .policy-block-desc,
    .policy-block-list li {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 991px) {

    .policy-block-desc,
    .policy-block-list li {
        font-size: 1rem;
    }
}

.community-wrapper {
    position: relative;
    --left-p: 200px;
    z-index: 1;
}

@media screen and (max-width: 991px) {
    .community-wrapper {
        --left-p: 130px;
    }
}

@media screen and (max-width: 575px) {
    .community-wrapper {
        --left-p: 100px;
    }
}

.community-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: calc(var(--left-p) * 0.75);
    height: 100%;
    width: 4px;
    background-color: hsl(var(--base)/0.5);
    z-index: -1;
}

.community-block {
    --gap: 40px;
    display: flex;
    align-items: center;
    gap: var(--gap);
}

@media screen and (max-width: 767px) {
    .community-block {
        flex-direction: column;
        align-items: flex-start;
        --gap: 24px;
    }
}

.community-block:not(:last-child) {
    margin-bottom: 40px;
}

.community-block-year {
    position: absolute;
    top: 0;
    left: 0;
}

.community-block-content {
    padding-left: var(--left-p);
    width: 60%;
    position: relative;
}

@media screen and (max-width: 767px) {
    .community-block-content {
        width: 100%;
    }
}

.community-block-content::after {
    --size: 20px;
    content: "";
    top: 0;
    left: calc(var(--left-p) * 0.75 - (var(--size) / 2 - 2px));
    position: absolute;
    width: var(--size);
    height: var(--size);
    transform: rotate(45deg);
    border-radius: 4px;
    background: hsl(var(--base));
}

.community-block-thumb {
    width: 40%;
}

.community-block-thumb img {
    border-radius: 16px;
}

@media screen and (max-width: 767px) {
    .community-block-thumb {
        width: 100%;
        padding-left: var(--left-p);
    }
}

.community-block-title {
    color: hsl(var(--black));
    margin-bottom: 6px;
    line-height: 125%;
}

.community-block-title .name {
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
}

.community-block-date {
    font-size: 18px;
    color: hsl(var(--black));
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.community-block-date .icon {
    display: flex;
    font-size: 20px;
}

@media screen and (max-width: 1199px) {
    .community-block-date .icon {
        font-size: 18px;
    }
}

@media screen and (max-width: 1199px) {
    .community-block-date {
        font-size: 16px;
    }
}

.community-block-desc {
    color: hsl(var(--black));
    font-size: 18px;
    line-height: 160%;
}

@media screen and (max-width: 1199px) {
    .community-block-desc {
        font-size: 16px;
    }
}

.ui-card {
    --inner-p: 32px;
    --radius: 20px;
    padding: var(--inner-p);
    border-radius: var(--radius);
    text-align: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.61);
    backdrop-filter: blur(10px);
    flex-grow: 1;
    padding-bottom: 16px;
    transition: 0.3s ease;
}

.ui-card.style-left {
    text-align: left;
    --inner-p: 24px;
}

.ui-card.style-left .ui-card-icon-inner {
    margin-left: 0;
}

@media screen and (max-width: 1399px) {
    .ui-card {
        --inner-p: 24px;
        --radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .ui-card {
        --inner-p: 20px;
        --radius: 12px;
    }
}

.ui-card-icon {
    position: relative;
    z-index: 1;
}

.ui-card-icon-inner {
    --icon-size: 64px;
    width: var(--icon-size);
    height: var(--icon-size);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    border-radius: 12px;
    color: hsl(var(--base));
    margin-inline: auto;
    border: 1px solid hsl(var(--white));
    background-color: hsl(var(--white));
    box-shadow: 0 0 12px 0 hsl(var(--black)/0.1);
    font-size: 32px;
}

@media screen and (max-width: 1199px) {
    .ui-card-icon-inner {
        --icon-size: 52px;
        margin-bottom: 20px;
        border-radius: 8px;
        font-size: 28px;
    }
}

.ui-card-icon .shape-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: 100%;
}

.ui-card-icon .shape-image:has(.bottom-circle) {
    bottom: -50%;
    top: 0;
    transform: translate(-50%, -25%);
}

@media screen and (max-width: 1399px) {
    .ui-card-icon .shape-image:has(.bottom-circle) {
        transform: translate(-50%, -15%);
    }
}

.ui-card-icon .shape-image:has(.top-circle) {
    bottom: 0;
    transform: translate(-50%, 0);
}

.ui-card-title {
    margin-bottom: 8px;
    color: hsl(var(--black));
    transition: 0.3s ease;
}

.ui-card-desc {
    color: hsl(var(--secondary));
    font-size: 18px;
    transition: 0.3s ease;
}

.ui-card-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding-top: 16px;
    margin-top: 30px;
    border-top: 1px dashed hsl(var(--light));
    font-size: 18px;
    color: hsl(var(--black));
    font-weight: 700;
}

.ui-card-link .icon {
    transition: all linear 0.3s;
    display: flex;
    font-size: 24px;
}

.ui-card-link .icon .icon-rotate-arrow {
    -webkit-text-stroke: 0.6px currentColor;
}

.ui-card-link:hover .icon {
    transform: rotate(45deg);
    color: hsl(var(--base));
}

.ui-card-category {
    margin-top: 32px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ui-card-category .item {
    border-radius: 999px;
    border: 1px solid hsl(var(--base));
    background-color: hsl(var(--base)/0.1);
    color: hsl(var(--base));
    font-size: 14px;
    font-weight: 500;
    padding: 2px 8px;
}

.ui-card:hover {
    transform: translateY(-12px);
    box-shadow: hsl(var(--base) / 0.25) 0px 5px 15px;
}

.comparison-section {
    background-color: hsl(var(--dark));
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .comparison-section {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .comparison-section {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .comparison-section {
        border-radius: 20px;
    }
}

.comparison-section .section-heading-name .text {
    --overlay-bg: hsl(var(--dark)) !important;
}

.comparison-section .section-heading-desc {
    max-width: 460px;
}

.comparison-wrapper {
    --row-border-color: hsl(var(--secondary));
    --row-h: 100px;
    --inner-p: 16px;
    --col-w: 20%;
    --radius: 20px;
    display: flex;
    flex-wrap: wrap;
    border-radius: var(--radius);
    border: 1px solid hsl(var(--white)/0.15);
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .comparison-wrapper {
        --row-h: 80px;
        --inner-p: 12px;
        --inner-p: 12px;
    }
}

@media screen and (max-width: 991px) {
    .comparison-wrapper {
        --col-w: 25%;
    }
}

@media screen and (max-width: 767px) {
    .comparison-wrapper {
        --col-w: 50%;
    }
}

.comparison-card {
    width: var(--col-w);
    flex-shrink: 0;
}

.comparison-card:not(:last-child) {
    border-right: 1px solid var(--row-border-color);
}

.comparison-card-header {
    height: var(--row-h);
    padding: var(--inner-p);
    border-bottom: 1px solid var(--row-border-color);
    background: hsl(var(--white)/0.04);
    flex-direction: column;
    display: flex;
    justify-content: center;
    position: relative;
}

.comparison-card-header .title {
    color: hsl(var(--white));
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    display: block;
}

@media screen and (max-width: 1199px) {
    .comparison-card-header .title {
        font-size: 16px;
    }
}

@media screen and (max-width: 991px) {
    .comparison-card-header .title {
        font-size: 0.875rem;
    }
}

.comparison-card-header .desc {
    color: hsl(var(--body-color));
    line-height: 150%;
    font-size: 0.875rem;
}

@media screen and (max-width: 1199px) {
    .comparison-card-header .desc {
        font-size: 0.8125rem;
    }
}

.comparison-card-header .count {
    color: hsl(var(--body-color)/0.5);
    position: absolute;
    top: 12px;
    right: 12px;
}

@media screen and (max-width: 1199px) {
    .comparison-card-header .count {
        font-size: 1rem;
    }
}

.comparison-card-header .highlight {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    line-height: 150%;
    font-weight: 700;
    font-size: 0.875rem;
    color: hsl(var(--white));
    padding: 3px 11px;
    border-radius: 6px;
    border: 1px solid hsl(var(--white));
    background: linear-gradient(67deg, transparent -28.05%, #7b61ff 24.03%, hsl(var(--base)) 76.11%, transparent 128.19%);
    right: 16px;
}

@media screen and (max-width: 1199px) {
    .comparison-card-header .highlight {
        font-size: 0.75rem;
        padding: 2px 5px;
        border-radius: 4px;
    }
}

@media screen and (max-width: 991px) {
    .comparison-card-header .highlight {
        font-size: 0.65rem;
    }
}

.comparison-card-item {
    height: var(--row-h);
    display: flex;
    align-items: center;
    padding: var(--inner-p);
    background: hsl(var(--white)/0.07);
}

.comparison-card-item:not(:last-child) {
    border-bottom: 1px solid var(--row-border-color);
}

.comparison-card-base {
    display: flex;
    align-items: center;
    gap: 8px;
}

.comparison-card-base .icon {
    font-size: 36px;
    color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .comparison-card-base .icon {
        font-size: 28px;
    }
}

@media screen and (max-width: 991px) {
    .comparison-card-base .icon {
        font-size: 24px;
    }
}

.comparison-card-base .text {
    color: hsl(var(--white));
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
}

@media screen and (max-width: 1199px) {
    .comparison-card-base .text {
        font-size: 0.9125rem;
    }
}

.comparison-card-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.comparison-card-info .icon {
    --icon-color: var(--body-color);
    width: 20px;
    height: 20px;
    font-size: 0.65rem;
    border: 2px solid hsl(var(--icon-color));
    background-color: hsl(var(--icon-color)/0.4);
    color: hsl(var(--icon-color));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

@media screen and (max-width: 991px) {
    .comparison-card-info .icon {
        width: 17px;
        height: 17px;
        font-size: 0.6rem;
    }
}

.comparison-card-info .icon.icon--font {
    width: 18px;
    height: 18px;
    font-size: 20px;
    border: none;
    background-color: hsl(var(--icon-color)/0.4);
}

@media screen and (max-width: 991px) {
    .comparison-card-info .icon.icon--font {
        width: 15px;
        height: 15px;
        font-size: 17px;
    }
}

.comparison-card-info .icon.icon--font:has(.icon-minus),
.comparison-card-info .icon.icon--font:has(.icon-plus) {
    font-size: 14px;
    border: 2px solid hsl(var(--icon-color));
}

.comparison-card-info .text {
    color: hsl(var(--light));
    font-size: 18px;
    font-weight: 400;
    line-height: 120%;
}

@media screen and (max-width: 1199px) {
    .comparison-card-info .text {
        font-size: 0.9125rem;
    }
}

@media screen and (max-width: 991px) {
    .comparison-card-info .text {
        font-size: 0.875rem;
    }
}

.comparison-card-empty {
    color: hsl(var(--white));
}

.comparison-card.base-card .comparison-card-header {
    background: hsl(var(--white)/0.11);
    position: relative;
}

.comparison-card.base-card .comparison-card-header::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent 0%, #7B61FF 33.33%, hsl(var(--base)) 66.67%, transparent 100%);
    width: 100%;
    height: 1px;
}

.comparison-card.base-card .comparison-card-item {
    background: hsl(var(--white)/0.11);
}

.comparison-card.base-card .comparison-card-info .icon {
    --icon-color: var(--base);
}

.comparison-card.base-card .comparison-card-info .text {
    color: hsl(var(--white));
}

@media screen and (max-width: 1399px) {
    .comparison-card.base-card .btn {
        font-size: 1rem !important;
    }
}

@media screen and (max-width: 1399px) {
    .comparison-card.base-card .btn {
        font-size: 0.9125rem !important;
        padding: 9px 12px;
    }
}

@media screen and (max-width: 767px) {

    .comparison-card:last-child .comparison-card-header,
    .comparison-card:nth-last-child(2) .comparison-card-header {
        border-top: 1px solid var(--row-border-color);
    }
}

.tech-grid {
    --cols: 6;
    --gap: 24px;
    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: var(--gap);
}

@media screen and (max-width: 1399px) {
    .tech-grid {
        --cols: 5;
        --gap: 20px;
    }
}

@media screen and (max-width: 1199px) {
    .tech-grid {
        --cols: 4;
        --gap: 16px;
    }
}

@media screen and (max-width: 991px) {
    .tech-grid {
        --cols: 3;
    }
}

@media screen and (max-width: 767px) {
    .tech-grid {
        --cols: 2;
        --gap: 12px;
    }
}

@media screen and (max-width: 424px) {
    .tech-grid {
        --cols: 2;
        --gap: 10px;
    }
}

.tech-card {
    --card-p: 28px 16px;
    --card-radius: 16px;
    background: hsl(var(--white));
    border: 1px solid hsl(var(--black)/0.05);
    border-radius: var(--card-radius);
    box-shadow: 0 1px 2px hsl(var(--black)/0.03);
    padding: var(--card-p);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@media screen and (max-width: 1399px) {
    .tech-card {
        --card-p: 24px 14px;
        --card-radius: 14px;
        gap: 12px;
    }
}

@media screen and (max-width: 767px) {
    .tech-card {
        --card-p: 20px 12px;
        --card-radius: 12px;
        gap: 10px;
    }
}

.tech-card:hover {
    transform: translateY(-4px);
}

.tech-card-img {
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

@media screen and (max-width: 1199px) {
    .tech-card-img {
        height: 48px;
    }
}

@media screen and (max-width: 767px) {
    .tech-card-img {
        height: 40px;
    }
}

.tech-card-img img {
    object-fit: contain;
}

.tech-card-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.tech-card-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    color: hsl(var(--black));
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .tech-card-title {
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .tech-card-title {
        font-size: 18px;
    }
}

.tech-card-desc {
    font-size: 0.875rem;
    line-height: 1.2;
    color: hsl(var(--black));
}

@media screen and (max-width: 1199px) {
    .tech-card-desc {
        font-size: 0.8125rem;
    }
}

@media screen and (max-width: 767px) {
    .tech-card-desc {
        font-size: 0.75rem;
    }
}

.comparison-banner {
    min-height: 99vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body:has(.plan-section) .page-shape::after {
    background: linear-gradient(180deg, transparent 0%, hsl(var(--light-bg)) 100%);
}

.plan-section {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.plan-section-text {
    position: absolute;
    width: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0.4;
    background: linear-gradient(180deg, hsl(var(--black)) -489.91%, transparent 100%);
    background-clip: text;
    white-space: nowrap;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 900;
    line-height: 0.6;
    z-index: -1;
    text-align: center;
    font-size: clamp(4rem, -4.6667rem + 43.3333vw, 20.25rem);
}

.plan-section-title {
    --extra-fs: 104px;
    font-size: var(--extra-fs);
    font-weight: 900;
    text-align: center;
    margin-bottom: 80px;
    line-height: 1;
}

@media screen and (max-width: 1599px) {
    .plan-section-title {
        --extra-fs: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .plan-section-title {
        --extra-fs: 64px;
    }
}

@media screen and (max-width: 767px) {
    .plan-section-title {
        --extra-fs: 48px;
    }
}

.plan-card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    align-items: stretch;
}

@media screen and (max-width: 1599px) {
    .plan-card-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 767px) {
    .plan-card-grid {
        grid-template-columns: 1fr;
    }
}

.plan-card {
    --card-p: 16px;
    background-color: hsl(var(--white));
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
}

.plan-card--featured {
    background-color: hsl(var(--black));
}

.plan-card--featured .plan-card-name,
.plan-card--featured .plan-card-amount,
.plan-card--featured .plan-card-period {
    color: hsl(var(--white));
}

.plan-card--featured .plan-card-cancel {
    color: hsl(var(--light));
}

.plan-card--featured .plan-card-ideal {
    color: hsl(var(--white));
}

.plan-card-badge {
    position: absolute;
    top: 20px;
    right: var(--card-p);
    padding: 3px 11px;
    border-radius: 6px;
    border: 1px solid hsl(var(--white));
    background: linear-gradient(67deg, transparent -28%, #7B61FF 24%, hsl(var(--base)) 76%, transparent 128%);
    font-size: 14px;
    font-weight: 700;
    color: hsl(var(--white));
    line-height: 1.5;
    white-space: nowrap;
}

.plan-card-header {
    padding: 24px var(--card-p) 0;
}

.plan-card-name {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    color: hsl(var(--black));
    margin-bottom: 4px;
}

.plan-card-price {
    line-height: 0;
    margin-bottom: 4px;
}

.plan-card-amount {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.15;
    color: hsl(var(--black));
}

@media screen and (max-width: 1199px) {
    .plan-card-amount {
        font-size: 40px;
    }
}

.plan-card-amount--contact {
    font-size: 36px;
}

@media screen and (max-width: 1199px) {
    .plan-card-amount--contact {
        font-size: 30px;
    }
}

.plan-card-period {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--black));
}

.plan-card-cancel {
    font-size: 14px;
    color: hsl(var(--body-color));
    line-height: 1.5;
    margin-bottom: 0;
}

.plan-card-body {
    background-color: hsl(var(--light-bg));
    border-radius: 15px;
    margin: 12px var(--card-p) 0;
    padding: 16px;
    flex: 1;
    overflow: hidden;
}

.plan-card-includes {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    color: hsl(var(--black));
    margin-bottom: 16px;
}

.plan-card-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.plan-card-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 16px;
    color: hsl(var(--secondary));
    line-height: 1.4;
}

.plan-card-item-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

.plan-card-item-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.plan-card-item-icon--check {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: rgba(46, 204, 113, 0.12);
}

.plan-card-item-icon--check .icon-check-circle {
    display: block;
    font-size: 18px;
    color: #2ecc71;
}

.plan-card-item-icon--hours {
    display: flex;
    align-items: center;
    justify-content: center;
}

.plan-card-item-icon--hours .icon-clock {
    display: block;
    font-size: 20px;
    color: #2ecc71;
}

.plan-card-item-icon--x {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: rgba(239, 68, 68, 0.12);
}

.plan-card-item-icon--x .icon-plus {
    font-size: 12px;
    color: #ef4444;
}

.plan-card-footer {
    padding: 16px var(--card-p);
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
}

.plan-card-ideal {
    line-height: 1.4;
    color: hsl(var(--black));
    margin-bottom: 0;
}

.review-section {
    position: relative;
}

.review-section::after {
    content: "";
    background: linear-gradient(180deg, transparent -61.2%, hsl(var(--light-bg)) 67.76%);
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 300px;
}

.review-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.review-card {
    background-color: hsl(var(--white));
    border-radius: 18px;
    padding: 24px;
    display: flex;
    flex-direction: column;
}

.review-card-stars {
    display: flex;
    gap: 4px;
    align-items: center;
    margin-bottom: 24px;
}

.review-card-stars .icon-star-two {
    font-size: 20px;
    color: hsl(var(--warning));
    flex-shrink: 0;
}

.review-card-text {
    font-size: 22px;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--black));
    margin-bottom: 0;
    flex: 1;
}

@media screen and (max-width: 1199px) {
    .review-card-text {
        font-size: 18px;
    }
}

.review-card-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 80px;
}

.review-card-avatar {
    width: 56px;
    height: 56px;
    border-radius: 17px;
    overflow: hidden;
    flex-shrink: 0;
}

.review-card-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.review-card-avatar--green {
    background-color: hsl(var(--base)/0.26);
}

.review-card-avatar--purple {
    background-color: hsl(var(--primary)/0.26);
}

.review-card-avatar--cyan {
    background-color: hsl(var(--info)/0.26);
}

.review-card-name {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: hsl(var(--black));
    margin-bottom: 0;
}

.review-card-role {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--body-color));
    margin-bottom: 0;
}

.review-media {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 615px;
    background-color: hsl(var(--base)/0.1);
}

@media screen and (max-width: 991px) {
    .review-media {
        height: 420px;
    }
}

@media screen and (max-width: 767px) {
    .review-media {
        height: 320px;
    }
}

.review-media-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.work-flow-image {
    background-color: hsl(var(--white));
    border-radius: 17px;
    overflow: hidden;
    height: 654px;
}

@media screen and (max-width: 991px) {
    .work-flow-image {
        height: 460px;
    }
}

@media screen and (max-width: 767px) {
    .work-flow-image {
        height: 340px;
    }
}

.work-flow-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.work-flow-timeline {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    height: 100%;
    z-index: 1;
}

.work-flow-timeline::after {
    content: "";
    position: absolute;
    left: 19px;
    top: 0;
    bottom: 0;
    border-left: 2px dashed hsl(var(--border-light));
    z-index: -1;
}

.work-flow-item {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding-bottom: 64px;
}

@media screen and (max-width: 1199px) {
    .work-flow-item {
        padding-bottom: 40px;
    }
}

.work-flow-item:last-child {
    padding-bottom: 0;
}

.work-flow-dot {
    width: 40px;
    height: 40px;
    border-radius: 200px;
    background-color: hsl(var(--success)/0.26);
    flex-shrink: 0;
    position: relative;
}

.work-flow-dot::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border-radius: 200px;
    background-color: hsl(var(--base));
}

.work-flow-text {
    flex: 1;
    padding-top: 6px;
}

.work-flow-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    color: hsl(var(--black));
    margin-bottom: 8px;
}

@media screen and (max-width: 1199px) {
    .work-flow-title {
        font-size: 26px;
    }
}

@media screen and (max-width: 767px) {
    .work-flow-title {
        font-size: 22px;
    }
}

.work-flow-desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--secondary));
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .work-flow-desc {
        font-size: 16px;
    }
}

.ability-card {
    --ability-p: 40px;
    background-color: hsl(var(--white));
    border-radius: 20px;
    padding: var(--ability-p);
    height: 100%;
}

@media screen and (max-width: 1199px) {
    .ability-card {
        --ability-p: 28px;
    }
}

@media screen and (max-width: 767px) {
    .ability-card {
        --ability-p: 20px;
    }
}

.ability-card--dark {
    background-color: hsl(var(--dark));
    display: flex;
    flex-direction: column;
}

.ability-card--dark .ability-card-title {
    color: hsl(var(--white));
}

.ability-card--dark .ability-card-desc {
    color: hsl(var(--white)/0.8);
}

.ability-card-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
    .ability-card-icon {
        margin-bottom: 24px;
    }
}

.ability-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ability-card-title {
    font-weight: 700;
    line-height: 1.25;
    color: hsl(var(--black));
    margin-bottom: 8px;
}

.ability-card-desc {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--secondary));
    margin-bottom: 0;
}

.ability-card-btn {
    padding-top: 40px;
}

body:has(.service-preview) {
    --preview-gap: 200px;
    --inner-p: 150px;
    --inner-pb: 48px;
}

@media screen and (max-width: 1399px) {
    body:has(.service-preview) {
        --inner-p: 120px;
        --inner-pb: 40px;
        --preview-gap: 150px;
    }
}

@media screen and (max-width: 575px) {
    body:has(.service-preview) {
        --inner-p: 80px;
        --preview-gap: 100px;
    }
}

body:has(.service-preview) .page-banner {
    padding-block: var(--inner-p) calc(var(--inner-pb) + var(--preview-gap)) !important;
}

.service-preview {
    position: relative;
    margin-top: calc(-1 * var(--preview-gap));
    z-index: 1;
}

.service-preview .service-preview-thumb {
    border-radius: 24px;
    overflow: hidden;
}

.service-preview .service-preview-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.service-preview .service-preview-text {
    color: hsl(var(--body-color));
    text-align: center;
    font-weight: 100;
    line-height: 1.3;
}

.service-preview .service-preview-text span {
    font-weight: 700;
    color: hsl(var(--black));
    display: inline;
}

.service-process-item {
    background-color: #fff;
    border-radius: 20px;
    min-height: 160px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 32px;
    margin-bottom: 16px;
}

.service-process-item-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    max-width: 82%;
}

.service-process-item-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: hsl(var(--black));
    margin-bottom: 0;
}

@media screen and (max-width: 575px) {
    .service-process-item-title {
        font-size: 22px;
    }
}

.service-process-item-desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--body-color));
    margin-bottom: 0;
}

@media screen and (max-width: 575px) {
    .service-process-item-desc {
        font-size: 15px;
    }
}

.service-process-item-num {
    position: absolute;
    right: 0;
    top: 0;
    font-weight: 700;
    line-height: 1.15;
    color: hsl(var(--section-bg));
    white-space: nowrap;
}

.service-process-item-btn {
    margin-top: 40px;
}

.service-process-preview {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.service-process-preview-main {
    position: relative;
    background-color: #cefafe;
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 626/835;
    cursor: pointer;
}

.service-process-preview-main.is-playing .service-process-preview-main-img,
.service-process-preview-main.is-playing .service-process-preview-progress {
    opacity: 0;
    visibility: hidden;
}

.service-process-preview-main-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.3s ease;
}

.service-process-preview-thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
}

.service-process-preview-thumb {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1/1;
    background-color: var(--thumb-bg, #dcfce7);
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-process-preview-thumb:nth-child(1) {
    --thumb-bg: #fef3c6;
}

.service-process-preview-thumb:nth-child(2) {
    --thumb-bg: #dcfce7;
}

.service-process-preview-thumb:nth-child(3) {
    --thumb-bg: #e0e7ff;
}

.service-process-preview-thumb:nth-child(4) {
    --thumb-bg: #dcfce7;
}

.service-process-preview-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    object-position: top;
}

.portfolio-item {
    --radius: 20px;
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    height: 100%;
}

@media screen and (max-width: 1199px) {
    .portfolio-item {
        --radius: 16px;
    }
}

.portfolio-item-thumb {
    height: 100%;
}

.portfolio-item-content {
    position: absolute;
    padding: 24px;
    padding-top: 48px;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}

@media screen and (max-width: 1199px) {
    .portfolio-item-content {
        padding: 16px;
        padding-top: 36px;
    }
}

.portfolio-item-content::after {
    content: "";
    inset: 0;
    position: absolute;
    backdrop-filter: blur(10px);
    mask-image: linear-gradient(to bottom, transparent 0%, hsl(var(--black)) 50%);
    z-index: -1;
    background: linear-gradient(0deg, #030712 0%, transparent 155.71%);
}

.portfolio-item-content:has(.btn) {
    background: linear-gradient(0deg, #030712 0%, transparent 155.71%);
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 40px 24px;
    align-items: center;
    text-align: center;
}

@media screen and (max-width: 1199px) {
    .portfolio-item-content:has(.btn) {
        padding: 16px;
        padding-top: 36px;
    }

    .portfolio-item-content:has(.btn) .btn {
        padding: 12px;
        font-size: 0.9125rem;
    }
}

.portfolio-item-content:has(.btn)::after {
    display: none;
}

.portfolio-item-text {
    color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .portfolio-item-text {
        font-size: 1.75rem;
    }
}

.portfolio-item-title {
    color: hsl(var(--white));
    line-height: 140%;
}

.portfolio-item-desc {
    color: hsl(var(--white));
    line-height: 160%;
}

@media screen and (max-width: 1199px) {
    .portfolio-item-desc {
        font-size: 0.9125rem;
    }
}

.service-contact-info {
    position: relative;
    --inner-p: 32px 40px;
    --outer-g: 32px;
}

@media screen and (max-width: 575px) {
    .service-contact-info {
        --inner-p: 24px 32px;
        --outer-g: 24px;
    }
}

@media screen and (max-width: 424px) {
    .service-contact-info {
        --inner-p: 16px;
        --outer-g: 16px;
    }
}

.service-contact-info .thumb {
    border-radius: 20px;
    overflow: hidden;
}

@media screen and (max-width: 575px) {
    .service-contact-info .thumb {
        border-radius: 16px;
    }
}

.service-contact-info .content {
    position: absolute;
    padding: var(--inner-p);
    width: calc(100% - var(--outer-g) * 2);
    bottom: var(--outer-g);
    left: 50%;
    transform: translateX(-50%);
    border-radius: 16px;
}

.service-contact-info .content-link {
    font-size: 20px;
    font-weight: 700;
    color: hsl(var(--black));
    display: flex;
    align-items: center;
    gap: 32px;
}

@media screen and (max-width: 575px) {
    .service-contact-info .content-link {
        font-size: 18px;
        gap: 16px;
    }
}

@media screen and (max-width: 575px) {
    .service-contact-info .content-link {
        font-size: 16px;
    }
}

.service-contact-info .content-link:not(:last-child) {
    margin-bottom: 8px;
}

.service-contact-info .content-link .title {
    min-width: 90px;
    white-space: nowrap;
}

@media screen and (max-width: 575px) {
    .service-contact-info .content-link .title {
        min-width: unset;
    }
}

.service-cta {
    text-align: center;
}

.service-cta-title {
    max-width: 1200px;
    width: 100%;
    margin-inline: auto;
    --extra-fs: 104px;
    font-size: var(--extra-fs);
    font-weight: 900;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1;
}

@media screen and (max-width: 1599px) {
    .service-cta-title {
        --extra-fs: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .service-cta-title {
        --extra-fs: 64px;
    }
}

@media screen and (max-width: 767px) {
    .service-cta-title {
        --extra-fs: 48px;
    }
}

.service-cta-title span {
    color: hsl(var(--base));
    display: inline;
}

.service-cta-desc {
    color: hsl(var(--black));
    font-size: 24px;
    line-height: 160%;
    margin-bottom: 48px;
}

@media screen and (max-width: 1199px) {
    .service-cta-desc {
        font-size: 20px;
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 767px) {
    .service-cta-desc {
        font-size: 18px;
        margin-bottom: 32px;
    }
}

.service-cta.style-two .service-cta-title {
    max-width: 1240px;
}

.service-cta.style-two .service-cta-title span {
    color: hsl(var(--body-color));
    display: inline;
}

.solutions-banner {
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-position: top center;
}

@media screen and (max-width: 991px) {
    .solutions-banner {
        text-align: center;
    }
}

.solutions-banner-text {
    position: absolute;
    width: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0.4;
    background: linear-gradient(180deg, hsl(var(--black)) -489.91%, transparent 100%);
    background-clip: text;
    white-space: nowrap;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 900;
    line-height: 0.6;
    z-index: -1;
    text-align: center;
    font-size: clamp(4rem, -4.6667rem + 43.3333vw, 20.25rem);
}

.solutions-banner-title {
    --extra-fs: 100px;
    font-size: var(--extra-fs);
    font-weight: 900;
    margin-bottom: 4px;
    line-height: 1;
}

@media screen and (max-width: 1599px) {
    .solutions-banner-title {
        --extra-fs: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .solutions-banner-title {
        --extra-fs: 64px;
    }
}

@media screen and (max-width: 767px) {
    .solutions-banner-title {
        --extra-fs: 48px;
    }
}

.solutions-banner-title span {
    color: hsl(var(--body-color));
    display: inline;
}

.solutions-banner-desc {
    font-size: 18px;
    line-height: 160%;
    color: hsl(var(--secondary));
    margin-bottom: 32px;
    max-width: 536px;
    width: 100%;
}

@media screen and (max-width: 575px) {
    .solutions-banner-desc {
        margin-bottom: 24px;
    }
}

.solutions-banner-action {
    display: flex;
    gap: 16px;
}

@media screen and (max-width: 1199px) {
    .solutions-banner-action .btn {
        padding: 12px 22px;
        font-size: 1rem;
    }
}

@media screen and (max-width: 991px) {
    .solutions-banner-action {
        justify-content: center;
        flex-wrap: wrap;
    }
}

.solutions-banner-thumb {
    transform: scale(1.16);
    transform-origin: left;
}

@media screen and (max-width: 1499px) {
    .solutions-banner-thumb {
        transform: scale(1.1);
    }
}

@media screen and (max-width: 991px) {
    .solutions-banner-thumb {
        transform: scale(1);
    }
}

.solutions-banner.uiux-banner .solutions-banner-thumb {
    transform: scale(1.4);
    transform-origin: left;
}

@media screen and (max-width: 1599px) {
    .solutions-banner.uiux-banner .solutions-banner-thumb {
        transform: scale(1.3);
    }
}

@media screen and (max-width: 1499px) {
    .solutions-banner.uiux-banner .solutions-banner-thumb {
        transform: scale(1.2);
    }
}

@media screen and (max-width: 991px) {
    .solutions-banner.uiux-banner .solutions-banner-thumb {
        transform: scale(1);
    }
}

.solution-app-view {
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
}

.solution-app-note {
    padding: 28px 32px;
    border-radius: 20px;
    border: 2px solid hsl(var(--white)/0.5);
    background: hsl(var(--base));
    box-shadow: 0 103px 29px 0 transparent, 0 66px 26px 0 hsl(var(--base)/0.03), 0 37px 22px 0 hsl(var(--base)/0.1), 0 17px 17px 0 hsl(var(--base)/0.17), 0 4px 9px 0 hsl(var(--base)/0.2);
    display: flex;
    gap: 16px;
}

@media screen and (max-width: 1199px) {
    .solution-app-note {
        padding: 20px 24px;
    }
}

@media screen and (max-width: 991px) {
    .solution-app-note {
        border-radius: 16px;
    }
}

@media screen and (max-width: 424px) {
    .solution-app-note {
        flex-direction: column;
    }
}

.solution-app-note .icon {
    --size: 64px;
    width: var(--size);
    height: var(--size);
    border-radius: 12px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.6);
    box-shadow: 0 0 12px 0 hsl(var(--white)/0.1);
    backdrop-filter: blur(10px);
    color: hsl(var(--base));
    display: grid;
    place-content: center;
    flex-shrink: 0;
    font-size: calc(var(--size) * 0.6);
}

@media screen and (max-width: 1199px) {
    .solution-app-note .icon {
        --size: 48px;
    }
}

.solution-app-note .content {
    font-size: 20px;
    color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .solution-app-note .content {
        font-size: 18px;
    }
}

.app-need-section {
    background-color: hsl(var(--dark));
}

.app-need-section .section-heading .text {
    --overlay-bg: hsl(var(--dark)) !important;
}

.app-need-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%;
}

.app-need-card {
    --card-p: 32px;
    padding: var(--card-p);
    border-radius: 20px;
    background: hsl(var(--white)/0.15);
    backdrop-filter: blur(11px);
    -webkit-backdrop-filter: blur(11px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex: 1;
}

@media screen and (max-width: 1199px) {
    .app-need-card {
        --card-p: 24px;
    }
}

.app-need-card--featured {
    flex: 1.8;
}

@media screen and (max-width: 991px) {
    .app-need-card--featured {
        flex: none;
        min-height: 280px;
    }
}

.app-need-card--mvp {
    justify-content: center;
}

@media screen and (max-width: 991px) {
    .app-need-card--mvp {
        min-height: 160px;
    }
}

.app-need-card-icon {
    width: 48px;
    height: 48px;
    margin-bottom: auto;
    color: hsl(var(--white));
    flex-shrink: 0;
}

@media screen and (max-width: 1199px) {
    .app-need-card-icon {
        width: 40px;
        height: 40px;
    }
}

.app-need-card-icon svg {
    width: 100%;
    height: 100%;
}

.app-need-card-body {
    margin-top: 80px;
}

@media screen and (max-width: 1199px) {
    .app-need-card-body {
        margin-top: 56px;
    }
}

.app-need-card-title {
    font-size: 24px;
    font-weight: 700;
    color: hsl(var(--white));
    line-height: 1.3;
    margin-bottom: 4px;
}

@media screen and (max-width: 1199px) {
    .app-need-card-title {
        font-size: 20px;
    }
}

.app-need-card-desc {
    font-size: 16px;
    color: hsl(var(--light));
    line-height: 1.6;
    margin-bottom: 0;
}

.app-need-card-mvp-title {
    font-size: 48px;
    font-weight: 900;
    color: hsl(var(--white));
    line-height: 1.1;
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .app-need-card-mvp-title {
        font-size: 40px;
    }
}

@media screen and (max-width: 767px) {
    .app-need-card-mvp-title {
        font-size: 36px;
    }
}

.app-need-cta {
    padding: 28px 32px;
    border-radius: 20px;
    border: 2px solid hsl(var(--base));
    background: hsl(var(--white));
    box-shadow: 0 103px 29px 0 transparent, 0 66px 26px 0 hsl(var(--base)/0.03), 0 37px 22px 0 hsl(var(--base)/0.1), 0 17px 17px 0 hsl(var(--base)/0.17), 0 4px 9px 0 hsl(var(--base)/0.2);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
}

@media screen and (max-width: 1199px) {
    .app-need-cta {
        padding: 24px 28px;
    }
}

@media screen and (max-width: 991px) {
    .app-need-cta {
        border-radius: 16px;
        flex-direction: column;
        align-items: flex-start;
    }
}

@media screen and (max-width: 424px) {
    .app-need-cta {
        padding: 20px 24px;
    }
}

.app-need-cta-content {
    flex: 1;
}

.app-need-cta-title {
    font-size: 32px;
    font-weight: 700;
    color: hsl(var(--base));
    line-height: 1.25;
    margin-bottom: 4px;
}

@media screen and (max-width: 1199px) {
    .app-need-cta-title {
        font-size: 26px;
    }
}

@media screen and (max-width: 991px) {
    .app-need-cta-title {
        font-size: 22px;
    }
}

.app-need-cta-desc {
    font-size: 18px;
    color: hsl(var(--secondary));
    line-height: 1.6;
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .app-need-cta-desc {
        font-size: 16px;
    }
}

.app-process-section .section-heading-title-muted {
    color: hsl(var(--secondary));
}

.app-process-card {
    position: relative;
    overflow: hidden;
    background: hsl(var(--section-bg));
    border-radius: 40px;
    padding: 32px;
    height: 100%;
    min-height: 560px;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 1199px) {
    .app-process-card {
        border-radius: 28px;
        padding: 24px;
        min-height: 480px;
    }
}

@media screen and (max-width: 991px) {
    .app-process-card {
        min-height: 600px;
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .app-process-card {
        min-height: 500px;
    }
}

@media screen and (max-width: 424px) {
    .app-process-card {
        min-height: 420px;
    }
}

.app-process-included {
    position: relative;
    z-index: 1;
}

.app-process-included-title {
    font-size: 18px;
    font-weight: 700;
    color: hsl(var(--black));
    text-decoration: underline;
    margin-bottom: 12px;
}

.app-process-included-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.app-process-included-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 20px;
    color: hsl(var(--secondary));
    line-height: 1.2;
}

@media screen and (max-width: 1199px) {
    .app-process-included-item {
        font-size: 17px;
    }
}

.app-process-included-icon {
    color: hsl(var(--base));
    flex-shrink: 0;
    display: flex;
    align-items: center;
    font-size: 18px;
}

.app-process-card-thumb {
    position: absolute;
    bottom: 0;
    left: -8%;
    width: 118%;
    z-index: 0;
}

.app-process-card-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.app-process-steps {
    display: flex;
    flex-direction: column;
    position: relative;
    height: 100%;
}

.app-process-steps::before {
    content: "";
    position: absolute;
    left: 27px;
    top: 56px;
    bottom: 28px;
    width: 2px;
    background: hsl(var(--border-light));
    z-index: 0;
}

@media screen and (max-width: 1199px) {
    .app-process-steps::before {
        left: 23px;
        top: 48px;
    }
}

@media screen and (max-width: 767px) {
    .app-process-steps::before {
        left: 21px;
    }
}

.app-process-step {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 16px 0;
    position: relative;
}

.app-process-step-num {
    --size: 56px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: hsl(var(--white));
    border: 2px solid hsl(var(--base)/0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    color: hsl(var(--black));
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1199px) {
    .app-process-step-num {
        --size: 48px;
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .app-process-step-num {
        --size: 44px;
        font-size: 18px;
    }
}

.app-process-step-body {
    padding-top: 8px;
}

.app-process-step-title {
    font-size: 32px;
    font-weight: 700;
    color: hsl(var(--black));
    line-height: 1.25;
    margin-bottom: 4px;
}

@media screen and (max-width: 1199px) {
    .app-process-step-title {
        font-size: 26px;
    }
}

@media screen and (max-width: 991px) {
    .app-process-step-title {
        font-size: 22px;
    }
}

.app-process-step-desc {
    font-size: 18px;
    color: hsl(var(--secondary));
    line-height: 1.6;
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .app-process-step-desc {
        font-size: 16px;
    }
}

.app-process-step--active .app-process-step-num {
    background: hsl(var(--base));
    border-color: hsl(var(--base)/0.3);
    color: hsl(var(--white));
}

.core-app {
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .core-app {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .core-app {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .core-app {
        border-radius: 20px;
    }
}

@media (min-width: 992px) {
    .core-app {
        padding-bottom: 0 !important;
    }
}

.core-app .section-heading-title {
    line-height: 110%;
}

.core-app .section-heading-desc {
    max-width: 432px;
    margin-bottom: 14px;
}

.why-apps-section .section-heading-title {
    line-height: 110%;
}

.why-apps-section .section-heading-desc {
    margin-bottom: 14px;
}

.app-process-section .section-heading-desc {
    max-width: 370px;
}

.core-app-feature-col {
    display: flex;
    flex-direction: column;
}

.core-app-feature {
    --outer-gap: 100px;
    --border-position: 60px;
    --top-position: 12px;
    --border-h: 60px;
    --radius: 16px;
    position: relative;
}

@media screen and (max-width: 1399px) {
    .core-app-feature {
        --outer-gap: 60px;
    }
}

@media screen and (max-width: 1199px) {
    .core-app-feature {
        --outer-gap: 40px;
        --border-position: 40px;
        --border-h: 40px;
        --radius: 12px;
    }
}

@media screen and (max-width: 991px) {
    .core-app-feature {
        --outer-gap: 24px;
    }
}

.core-app-feature .dot {
    --size: 6px;
    position: absolute;
    height: var(--size);
    width: var(--size);
    background-color: hsl(var(--base));
    top: calc(var(--top-position) - var(--size) / 2);
    border-radius: 50%;
}

@media screen and (max-width: 991px) {
    .core-app-feature .dot {
        display: none;
    }
}

.core-app-feature:not(:last-child) {
    padding-bottom: var(--outer-gap);
}

.core-app-feature:not(:last-child)::after {
    content: "";
    position: absolute;
    height: 100%;
    width: calc(var(--border-position) - 16px);
    top: var(--top-position);
}

@media screen and (max-width: 991px) {
    .core-app-feature:not(:last-child)::after {
        display: none;
    }
}

.core-app-feature:first-child::before,
.core-app-feature:last-child::before {
    content: "";
    position: absolute;
    height: var(--border-h);
    width: calc(var(--border-position) - 16px);
    top: var(--top-position);
    border-top: 1px dashed hsl(var(--base));
}

@media screen and (max-width: 991px) {

    .core-app-feature:first-child::before,
    .core-app-feature:last-child::before {
        display: none;
    }
}

.core-app-feature:nth-child(2)::before {
    content: "";
    position: absolute;
    height: var(--border-h);
    width: calc(var(--border-position) - 16px);
    top: var(--top-position);
    border-top: 1px dashed hsl(var(--base));
}

@media screen and (max-width: 991px) {
    .core-app-feature:nth-child(2)::before {
        display: none;
    }
}

.core-app-feature-title {
    font-size: 24px;
    font-weight: 700;
    color: hsl(var(--black));
    line-height: 1.3;
    margin-bottom: 8px;
}

@media screen and (max-width: 1199px) {
    .core-app-feature-title {
        font-size: 20px;
    }
}

.core-app-feature-desc {
    font-size: 18px;
    color: hsl(var(--secondary));
    line-height: 1.6;
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .core-app-feature-desc {
        font-size: 16px;
    }
}

.core-app-feature-col--left .core-app-feature {
    text-align: right;
}

.core-app-feature-col--left .core-app-feature::after {
    right: calc(-1 * var(--border-position));
    border-right: 1px dashed hsl(var(--base));
}

@media screen and (max-width: 991px) {
    .core-app-feature-col--left .core-app-feature {
        text-align: left;
    }
}

.core-app-feature-col--left .core-app-feature:first-child::after {
    border-top-right-radius: var(--radius);
}

.core-app-feature-col--left .core-app-feature:first-child::before {
    border-top-right-radius: var(--radius);
}

.core-app-feature-col--left .core-app-feature:nth-child(2)::after {
    border-bottom-right-radius: var(--radius);
}

.core-app-feature-col--left .core-app-feature:last-child::before {
    border-bottom-right-radius: var(--radius);
    border-top: 0;
    border-bottom: 1px dashed hsl(var(--base));
    top: calc(-1 * var(--border-h) + var(--top-position));
}

.core-app-feature-col--left .core-app-feature::before {
    right: calc(-1 * var(--border-position));
}

.core-app-feature-col--left .core-app-feature .dot {
    right: -14px;
}

.core-app-feature-col--right .core-app-feature::after {
    left: calc(-1 * var(--border-position));
    border-left: 1px dashed hsl(var(--base));
}

.core-app-feature-col--right .core-app-feature:first-child::after {
    border-top-left-radius: var(--radius);
}

.core-app-feature-col--right .core-app-feature:first-child::before {
    border-top-left-radius: var(--radius);
}

.core-app-feature-col--right .core-app-feature:nth-child(2)::after {
    border-bottom-left-radius: var(--radius);
}

.core-app-feature-col--right .core-app-feature:last-child::before {
    border-bottom-left-radius: var(--radius);
    border-top: 0;
    border-bottom: 1px dashed hsl(var(--base));
    top: calc(-1 * var(--border-h) + var(--top-position));
}

.core-app-feature-col--right .core-app-feature::before {
    left: calc(-1 * var(--border-position));
}

.core-app-feature-col--right .core-app-feature .dot {
    left: -14px;
}

.core-app-phone {
    text-align: center;
}

.core-app-phone img {
    width: 100%;
    max-width: 525px;
    height: auto;
    display: block;
    margin: 0 auto;
}

@media screen and (max-width: 1399px) {
    .core-app-phone img {
        max-width: 440px;
    }
}

@media screen and (max-width: 1199px) {
    .core-app-phone img {
        max-width: 400px;
    }
}

.app-tech-section .service-process-title {
    font-size: 215px;
    letter-spacing: -12px;
    line-height: 85%;
}

@media screen and (max-width: 1399px) {
    .app-tech-section .service-process-title {
        font-size: 184px;
    }
}

@media screen and (max-width: 1199px) {
    .app-tech-section .service-process-title {
        font-size: 154px;
        letter-spacing: -6px;
    }
}

@media screen and (max-width: 991px) {
    .app-tech-section .service-process-title {
        font-size: 110px;
        letter-spacing: -4px;
    }
}

@media screen and (max-width: 767px) {
    .app-tech-section .service-process-title {
        font-size: 78px;
        letter-spacing: 0px;
    }
}

@media screen and (max-width: 575px) {
    .app-tech-section .service-process-title {
        font-size: clamp(2.8125rem, 0.2243rem + 12.9412vw, 4.875rem);
    }
}

.app-tech-section .service-process-list {
    --width: 244px;
    --height: 200px;
    --size: 100px;
    --radius: 20px;
    position: relative;
    margin-top: calc(-1 * var(--size) / 1.5);
}

@media screen and (max-width: 1399px) {
    .app-tech-section .service-process-list {
        --width: 200px;
        --height: 180px;
        --size: 80px;
        --radius: 16px;
    }
}

@media screen and (max-width: 1199px) {
    .app-tech-section .service-process-list {
        --width: 170px;
        --height: 140px;
        --size: 50px;
    }
}

@media screen and (max-width: 991px) {
    .app-tech-section .service-process-list {
        --width: 124px;
        --height: 110px;
        --size: 40px;
    }
}

@media screen and (max-width: 767px) {
    .app-tech-section .service-process-list {
        --radius: 12px;
        --width: 94px;
        --height: 90px;
    }
}

@media screen and (max-width: 575px) {
    .app-tech-section .service-process-list {
        --width: 64px;
        --height: 64px;
        --size: 30px;
    }
}

.app-tech-section .service-process-list-item {
    width: var(--width);
    height: var(--height);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    border-radius: var(--radius);
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.5);
    backdrop-filter: blur(7.5px);
}

.app-tech-section .service-process-list-item img {
    height: var(--size);
    width: var(--size);
}

.ai-tech {
    --thumb-s: 72px;
    display: flex;
    justify-content: space-between;
    max-width: 1060px;
    width: 100%;
    margin: 80px auto 0;
}

@media screen and (max-width: 1199px) {
    .ai-tech {
        margin: 64px auto 0;
        --thumb-s: 64px;
    }
}

@media screen and (max-width: 991px) {
    .ai-tech {
        --thumb-s: 48px;
    }
}

@media screen and (max-width: 767px) {
    .ai-tech {
        --thumb-s: 36px;
        margin: 48px auto 0;
    }
}

@media screen and (max-width: 575px) {
    .ai-tech {
        flex-wrap: wrap;
        gap: 24px;
        justify-content: center;
    }
}

.ai-tech-item {
    max-width: var(--thumb-s);
}

.why-ai .section-heading-desc {
    max-width: 480px;
}

.why-ai-wrapper {
    --radius: 20px;
    --width: 312px;
    display: flex;
    --count: 3;
    --gap: 16px;
}

@media screen and (max-width: 1399px) {
    .why-ai-wrapper {
        --width: 260px;
    }
}

@media screen and (max-width: 1199px) {
    .why-ai-wrapper {
        --width: 220px;
    }
}

@media screen and (max-width: 991px) {
    .why-ai-wrapper {
        flex-wrap: wrap;
        gap: var(--gap);
        --radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .why-ai-wrapper {
        --count: 2;
    }
}

@media screen and (max-width: 424px) {
    .why-ai-wrapper {
        --count: 1;
    }
}

.why-ai-item {
    border-radius: var(--radius);
    background-color: var(--card-bg);
    padding: 24px;
    width: var(--width);
    position: relative;
    transition: all linear 0.3s;
    cursor: default;
    flex-shrink: 0;
}

@media screen and (max-width: 1199px) {
    .why-ai-item {
        padding: 16px;
    }
}

.why-ai-item:nth-child(1) {
    --card-bg: #e6d1ed;
    transform: rotate(-10deg);
}

.why-ai-item:nth-child(1):hover {
    z-index: 2;
    transform: rotate(-10deg) translateY(-25px) scale(1.05);
}

.why-ai-item:nth-child(2) {
    --card-bg: #fce0ee;
    transform: rotate(-6deg);
}

.why-ai-item:nth-child(2):hover {
    z-index: 2;
    transform: rotate(-6deg) translateY(-25px) scale(1.05);
}

.why-ai-item:nth-child(3) {
    --card-bg: #ffdfb8;
    transform: rotate(-2deg);
}

.why-ai-item:nth-child(3):hover {
    z-index: 2;
    transform: rotate(-2deg) translateY(-25px) scale(1.05);
}

.why-ai-item:nth-child(4) {
    --card-bg: #fcd4bd;
    transform: rotate(2deg);
}

.why-ai-item:nth-child(4):hover {
    z-index: 2;
    transform: rotate(2deg) translateY(-25px) scale(1.05);
}

.why-ai-item:nth-child(5) {
    --card-bg: #ccdff1;
    transform: rotate(6deg);
}

.why-ai-item:nth-child(5):hover {
    z-index: 2;
    transform: rotate(6deg) translateY(-25px) scale(1.05);
}

.why-ai-item:nth-child(6) {
    --card-bg: #cef1e1;
    transform: rotate(10deg);
}

.why-ai-item:nth-child(6):hover {
    z-index: 2;
    transform: rotate(10deg) translateY(-25px) scale(1.05);
}

.why-ai-item:not(:first-child) {
    margin-left: -9%;
}

@media screen and (max-width: 991px) {
    .why-ai-item {
        transform: unset !important;
        margin: 0 !important;
        width: calc(100% / var(--count) - (var(--gap) - var(--gap) / var(--count)));
    }
}

.why-ai-item-icon {
    --size: 56px;
    width: var(--size);
    height: var(--size);
    border-radius: 16px;
    border: 1px solid hsl(var(--border-light));
    background: hsl(var(--white));
    display: grid;
    place-items: center;
    color: hsl(var(--black));
    margin-bottom: 80px;
    font-size: 24px;
}

@media screen and (max-width: 1199px) {
    .why-ai-item-icon {
        margin-bottom: 48px;
    }
}

.why-ai-item-counter {
    margin-bottom: 32px;
}

@media screen and (max-width: 1199px) {
    .why-ai-item-counter {
        margin-bottom: 32px;
    }
}

.why-ai-item-counter .count {
    font-size: 80px;
    color: hsl(var(--black));
    font-weight: 900;
    line-height: 110%;
    display: block;
}

@media screen and (max-width: 1399px) {
    .why-ai-item-counter .count {
        font-size: 64px;
    }
}

@media screen and (max-width: 1199px) {
    .why-ai-item-counter .count {
        font-size: 48px;
    }
}

.why-ai-item-counter .name {
    color: hsl(var(--black));
    line-height: 110%;
    letter-spacing: 5px;
    text-transform: uppercase;
    margin-top: -4px;
    display: block;
}

@media screen and (max-width: 1399px) {
    .why-ai-item-counter .name {
        font-size: 0.875rem;
    }
}

.why-ai-item .desc {
    color: hsl(var(--body-color));
    font-size: 18px;
    line-height: 160%;
}

@media screen and (max-width: 1399px) {
    .why-ai-item .desc {
        font-size: 1rem;
    }
}

.agent-work-section {
    position: relative;
    z-index: 1;
    background-color: hsl(var(--dark));
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .agent-work-section {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .agent-work-section {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .agent-work-section {
        border-radius: 20px;
    }
}

.agent-work-section::after,
.agent-work-section::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: clamp(9.375rem, -187.3587rem + 262.3116vw, 42rem);
    height: 100%;
    background-image: linear-gradient(to right, hsl(var(--base)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--base)) 1px, transparent 1px);
    background-size: 20px 20px;
    mask-image: radial-gradient(ellipse 70% 90% at 100% 50%, hsl(var(--black)) 30%, transparent 70%);
    opacity: 0.125;
    z-index: -1;
}

.agent-work-section::after {
    right: auto;
    transform: scale(-1);
    left: 0;
}

.agent-work-section .section-heading .text {
    --overlay-bg: hsl(var(--dark)) !important;
}

.agent-flow-wrap {
    position: relative;
    display: flex;
    gap: 20px;
    overflow: hidden;
    border-radius: 20px;
}

@media screen and (max-width: 1199px) {
    .agent-flow-wrap {
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .agent-flow-wrap {
        flex-wrap: wrap;
    }
}

.agent-col {
    flex: 1;
    border: 1px dashed hsl(var(--body-color));
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    padding: 32px 20px 80px;
    display: flex;
    flex-direction: column;
    z-index: 9;
}

@media screen and (max-width: 1199px) {
    .agent-col {
        padding: 24px 16px 60px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .agent-col {
        flex: unset;
        width: calc(50% - 10px);
    }
}

@media screen and (max-width: 424px) {
    .agent-col {
        width: 100%;
    }
}

.agent-col-title {
    font-weight: 700;
    color: hsl(var(--white));
    text-align: center;
    margin-bottom: 40px;
    flex-shrink: 0;
}

@media screen and (max-width: 1199px) {
    .agent-col-title {
        margin-bottom: 32px;
    }
}

.agent-col-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    gap: 40px;
}

@media screen and (max-width: 1399px) {
    .agent-col-wrapper {
        gap: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .agent-col-wrapper {
        gap: 24px;
    }
}

.agent-col-footer {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    font-size: 1.25rem;
    font-weight: 700;
    text-align: center;
    padding: 12px;
}

@media screen and (max-width: 1199px) {
    .agent-col-footer {
        font-size: 1rem;
        padding: 6px;
    }
}

.agent-flow-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
}

.agent-flow-icon {
    --size: 80px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    border: 1px solid hsl(var(--light));
    display: grid;
    place-items: center;
    color: hsl(var(--white));
    flex-shrink: 0;
    background: hsl(var(--dark));
    font-size: 32px;
}

@media screen and (max-width: 1399px) {
    .agent-flow-icon {
        --size: 68px;
        font-size: 28px;
    }
}

@media screen and (max-width: 1199px) {
    .agent-flow-icon {
        --size: 58px;
        font-size: 24px;
    }
}

@media screen and (max-width: 991px) {
    .agent-flow-icon {
        --size: 56px;
    }
}

.agent-flow-name {
    color: hsl(var(--white));
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
}

@media screen and (max-width: 1199px) {
    .agent-flow-name {
        font-size: 1rem;
    }
}

@media screen and (max-width: 767px) {
    .agent-flow-name {
        font-size: 0.9125rem;
    }
}

.agent-flow-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    overflow: visible;
}

.agent-flow-svg .agent-flow-path {
    fill: none;
    stroke: hsl(var(--secondary)/0.75);
    stroke-width: 1.5;
}

.agent-flow-svg .agent-flow-dot {
    fill: hsl(var(--base));
    filter: drop-shadow(0 0 5px hsl(var(--base)/0.75));
}

.mcp-diagram {
    position: relative;
}

.mcp-providers {
    display: flex;
    gap: 24px;
}

@media screen and (max-width: 991px) {
    .mcp-providers {
        gap: 16px;
    }
}

@media screen and (max-width: 767px) {
    .mcp-providers {
        gap: 12px;
    }
}

.mcp-provider-card {
    flex: 1;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    border: 1px solid hsl(var(--white)/0.8);
    background: hsl(var(--white)/0.6);
    backdrop-filter: blur(11px);
    overflow: hidden;
}

@media screen and (max-width: 1399px) {
    .mcp-provider-card {
        height: 120px;
    }
}

@media screen and (max-width: 991px) {
    .mcp-provider-card {
        height: 90px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .mcp-provider-card {
        height: 60px;
        border-radius: 12px;
    }
}

.mcp-claude-logo {
    height: 48px;
}

@media screen and (max-width: 1399px) {
    .mcp-claude-logo {
        height: 40px;
    }
}

@media screen and (max-width: 991px) {
    .mcp-claude-logo {
        height: 28px;
    }
}

@media screen and (max-width: 991px) {
    .mcp-claude-logo {
        height: 18px;
    }
}

.mcp-claude-logo img {
    height: 100%;
    object-fit: contain;
}

.mcp-center-row {
    display: flex;
    justify-content: center;
    padding-block: 60px;
}

@media screen and (max-width: 991px) {
    .mcp-center-row {
        padding-block: 48px;
    }
}

.mcp-server-wrap {
    position: relative;
    display: inline-flex;
}

.mcp-server-glow {
    position: absolute;
    inset: -24px;
    border-radius: 48px;
    background: linear-gradient(40deg, hsl(var(--base)) 0%, hsl(var(--warning)) 100%);
    filter: blur(40px);
    opacity: 0.5;
    pointer-events: none;
}

.mcp-server-card {
    position: relative;
    z-index: 1;
    width: 280px;
    height: 220px;
    border-radius: 24px;
    background: hsl(var(--dark));
    border: 1px solid hsl(var(--white));
    box-shadow: 0 25px 50px -12px hsl(var(--white)/0.25);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

@media screen and (max-width: 991px) {
    .mcp-server-card {
        height: 160px;
        border-radius: 16px;
        width: 200px;
    }
}

@media screen and (max-width: 575px) {
    .mcp-server-card {
        height: 140px;
        border-radius: 12px;
        width: 180px;
    }
}

.mcp-server-icon {
    --size: 120px;
    width: var(--size);
    height: var(--size);
}

@media screen and (max-width: 1399px) {
    .mcp-server-icon {
        --size: 90px;
    }
}

@media screen and (max-width: 991px) {
    .mcp-server-icon {
        --size: 60px;
    }
}

@media screen and (max-width: 575px) {
    .mcp-server-icon {
        --size: 40px;
    }
}

.mcp-server-label {
    color: hsl(var(--white));
}

@media screen and (max-width: 991px) {
    .mcp-server-label {
        font-size: 16px;
    }
}

.mcp-outputs {
    display: flex;
    gap: 24px;
}

@media screen and (max-width: 991px) {
    .mcp-outputs {
        gap: 16px;
    }
}

@media screen and (max-width: 767px) {
    .mcp-outputs {
        gap: 12px;
    }
}

@media screen and (max-width: 575px) {
    .mcp-outputs {
        gap: 5px;
    }
}

.mcp-output-card {
    flex: 1;
    height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 20px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.6);
    backdrop-filter: blur(10px);
}

@media screen and (max-width: 1399px) {
    .mcp-output-card {
        height: 150px;
    }
}

@media screen and (max-width: 991px) {
    .mcp-output-card {
        height: 120px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .mcp-output-card {
        height: 100px;
        border-radius: 12px;
    }
}

.mcp-output-icon {
    --size: 80px;
    width: var(--size);
    height: var(--size);
}

@media screen and (max-width: 1399px) {
    .mcp-output-icon {
        --size: 60px;
    }
}

@media screen and (max-width: 991px) {
    .mcp-output-icon {
        --size: 40px;
    }
}

@media screen and (max-width: 575px) {
    .mcp-output-icon {
        --size: 30px;
    }
}

.mcp-output-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mcp-output-label {
    font-size: 1.25rem;
    font-weight: 700;
    color: hsl(var(--black));
    line-height: 1.3;
}

@media screen and (max-width: 1199px) {
    .mcp-output-label {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 991px) {
    .mcp-output-label {
        font-size: 1rem;
    }
}

@media screen and (max-width: 575px) {
    .mcp-output-label {
        font-size: 0.875rem;
    }
}

.mcp-flow-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
    overflow: visible;
}

.mcp-flow-svg .mcp-flow-path {
    fill: none;
    stroke: hsl(var(--secondary)/0.25);
    stroke-width: 1.5;
    stroke-dasharray: 6 5;
}

.ai-approach-section .section-heading-desc {
    max-width: 480px;
}

.ai-approach-img {
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .ai-approach-img {
        border-radius: 16px;
    }
}

.ai-approach-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ai-approach-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ai-approach-card {
    background: hsl(var(--white));
    border-radius: 20px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

@media screen and (max-width: 1199px) {
    .ai-approach-card {
        padding: 20px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .ai-approach-card {
        border-radius: 12px;
    }
}

.ai-approach-card-title {
    font-weight: 700;
    color: hsl(var(--black));
    line-height: 1.3;
}

.ai-approach-card-desc {
    font-size: 1.125rem;
    color: hsl(var(--secondary));
    line-height: 1.6;
}

@media screen and (max-width: 1199px) {
    .ai-approach-card-desc {
        font-size: 1rem;
    }
}

@media screen and (max-width: 991px) {
    .ai-approach-card-desc {
        font-size: 0.9375rem;
    }
}

.aiwhy-choose .section-heading-desc {
    max-width: 480px;
}

.aiwhy-cards-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%;
}

@media screen and (max-width: 991px) {
    .aiwhy-cards-col {
        gap: 16px;
    }
}

.aiwhy-card {
    background: hsl(var(--white));
    border-radius: 20px;
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media screen and (max-width: 1399px) {
    .aiwhy-card {
        padding: 20px;
    }
}

@media screen and (max-width: 1199px) {
    .aiwhy-card {
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .aiwhy-card {
        border-radius: 12px;
    }
}

.aiwhy-card-icon {
    --size: 64px;
    width: var(--size);
    height: var(--size);
    border-radius: 12px;
    background: hsl(var(--white)/0.61);
    border: 1px solid hsl(var(--white));
    backdrop-filter: blur(11px);
    box-shadow: 0 0 12px hsl(var(--black)/0.1);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: hsl(var(--base));
    font-size: 32px;
}

@media screen and (max-width: 991px) {
    .aiwhy-card-icon {
        --size: 52px;
        font-size: 28px;
    }
}

.aiwhy-card-icon img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    font-size: 24px;
}

.aiwhy-card-content {
    margin-top: 40px;
}

@media screen and (max-width: 1199px) {
    .aiwhy-card-content {
        margin-top: 32px;
    }
}

@media screen and (max-width: 991px) {
    .aiwhy-card-content {
        margin-top: 20px;
    }
}

.aiwhy-card-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: hsl(var(--black));
    line-height: 1.3;
    margin-bottom: 4px;
}

@media screen and (max-width: 1199px) {
    .aiwhy-card-title {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 991px) {
    .aiwhy-card-title {
        font-size: 1.125rem;
    }
}

.aiwhy-card-desc {
    font-size: 1rem;
    color: hsl(var(--secondary));
    line-height: 1.6;
}

.aiwhy-center-card {
    position: relative;
    border-radius: 20px;
    background: #cefafe;
    overflow: hidden;
    height: 100%;
    min-height: 550px;
}

.aiwhy-center-card img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

@media screen and (max-width: 1399px) {
    .aiwhy-center-card {
        min-height: 480px;
    }
}

@media screen and (max-width: 1199px) {
    .aiwhy-center-card {
        border-radius: 16px;
        min-height: 420px;
    }
}

@media screen and (max-width: 991px) {
    .aiwhy-center-card {
        min-height: 380px;
        border-radius: 12px;
    }
}

@media screen and (max-width: 767px) {
    .aiwhy-center-card {
        min-height: 320px;
    }
}

.ux-road-section .section-heading-desc {
    max-width: 470px;
}

.ux-road-section .ux-road-card {
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
}

.ux-road-section .ux-road-card__title {
    font-size: clamp(24px, 2.5vw, 40px);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0;
}

.ux-road-section .ux-road-card__desc {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .ux-road-section .ux-road-card__desc {
        font-size: 16px;
    }
}

.ux-road-section .ux-road-card--dark {
    background-color: hsl(var(--dark));
    min-height: 600px;
}

.ux-road-section .ux-road-card--dark .ux-road-card__title,
.ux-road-section .ux-road-card--dark .ux-road-card__desc {
    color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .ux-road-section .ux-road-card--dark {
        min-height: 400px;
    }
}

.ux-road-section .ux-road-card--green {
    background-color: hsl(var(--base)/0.15);
    min-height: 288px;
}

.ux-road-section .ux-road-card--green .ux-road-card__title {
    color: hsl(var(--base));
}

.ux-road-section .ux-road-card--green .ux-road-card__desc {
    color: hsl(var(--heading-color));
}

.ux-road-section .ux-road-card--gray {
    background-color: hsl(var(--section-bg));
    min-height: 288px;
}

.ux-road-section .ux-road-card--gray .ux-road-card__title {
    color: hsl(var(--heading-color));
}

.ux-road-section .ux-road-card--gray .ux-road-card__desc {
    color: hsl(var(--body-color));
}

@media (min-width: 992px) {
    .ux-how-work .ux-how-left {
        position: sticky;
        top: 100px;
    }
}

.ux-how-work .ux-how-left__title {
    font-size: clamp(48px, 5.5vw, 96px);
    font-weight: 900;
    line-height: 1;
    margin-top: 16px;
    margin-bottom: 24px;
    color: hsl(var(--heading-color));
}

.ux-how-work .ux-how-left__green {
    color: hsl(var(--base));
}

.ux-how-work .ux-how-left__gray {
    color: hsl(var(--body-color));
}

.ux-how-work .ux-how-left__desc {
    font-size: 18px;
    line-height: 1.6;
    color: hsl(var(--heading-color));
    max-width: 493px;
}

@media screen and (max-width: 767px) {
    .ux-how-work .ux-how-left__desc {
        font-size: 16px;
    }
}

.ux-how-steps {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.ux-how-steps::before {
    content: "";
    position: absolute;
    left: 27px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, hsl(var(--base)/0.5), hsl(var(--base)/0.05));
}

.ux-how-step {
    display: flex;
    gap: 35px;
    align-items: flex-start;
}

.ux-how-step__num {
    min-width: 56px;
    width: 56px;
    height: 56px;
    border-radius: 250px;
    background-color: hsl(var(--base));
    border: 2px solid hsl(var(--base)/0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    color: hsl(var(--white));
    position: relative;
    z-index: 1;
}

.ux-how-step__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 8px;
}

.ux-how-step__title {
    font-size: clamp(22px, 2vw, 32px);
    font-weight: 700;
    line-height: 1.25;
    color: hsl(var(--heading-color));
    margin-bottom: 0;
}

.ux-how-step__desc {
    font-size: 18px;
    line-height: 1.6;
    color: hsl(var(--heading-color));
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .ux-how-step__desc {
        font-size: 16px;
    }
}

.ux-how-step__week {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: hsl(var(--base));
    letter-spacing: 5px;
    text-transform: uppercase;
    margin-top: 4px;
}

.ux-focus {
    position: relative;
    z-index: 1;
    background-color: hsl(var(--dark));
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .ux-focus {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .ux-focus {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .ux-focus {
        border-radius: 20px;
    }
}

.ux-focus::after,
.ux-focus::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: clamp(9.375rem, -187.3587rem + 262.3116vw, 42rem);
    height: 100%;
    background-image: linear-gradient(to right, hsl(var(--base)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--base)) 1px, transparent 1px);
    background-size: 20px 20px;
    mask-image: radial-gradient(ellipse 70% 90% at 100% 50%, hsl(var(--black)) 30%, transparent 70%);
    opacity: 0.125;
    z-index: -1;
}

.ux-focus::after {
    right: auto;
    transform: scale(-1);
    left: 0;
}

.ux-focus .section-heading .text,
.ux-focus .section-heading-name .text {
    --overlay-bg: hsl(var(--dark)) !important;
}

.ux-focus .section-heading-name {
    color: hsl(var(--white));
}

.ux-focus-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 56px;
}

.ux-focus-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.ux-focus__title {
    font-size: clamp(40px, 9vw, 120px);
    font-weight: 900;
    line-height: 1.1;
    color: hsl(var(--white));
    text-transform: uppercase;
    margin-top: 16px;
    margin-bottom: 24px;
}

@media screen and (max-width: 1199px) {
    .ux-focus__title {
        font-size: clamp(32px, 7vw, 80px);
    }
}

@media screen and (max-width: 767px) {
    .ux-focus__title {
        font-size: clamp(28px, 8vw, 56px);
    }
}

.ux-focus__gray {
    color: hsl(var(--body-color));
}

.ux-focus__green {
    color: hsl(var(--base));
}

.ux-focus__desc {
    font-size: 18px;
    line-height: 1.6;
    color: hsl(var(--white));
    max-width: 681px;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .ux-focus__desc {
        font-size: 16px;
    }
}

.ux-process-card {
    --inner-p: 32px;
    --inner-gap: 80px;
    --radius: 20px;
    border: 1px solid hsl(var(--white));
    background-color: hsl(var(--white));
    backdrop-filter: blur(10px);
    padding: var(--inner-p);
    border-radius: var(--radius);
    height: 100%;
}

.ux-process-card .count {
    color: hsl(var(--base));
    margin-bottom: var(--inner-gap);
}

.ux-process-card .title {
    margin-bottom: 4px;
}

.ux-process-card .desc {
    line-height: 160%;
    font-size: 18px;
    color: hsl(var(--secondary));
}

@media screen and (max-width: 1199px) {
    .ux-process-card {
        --inner-p: 24px;
        --radius: 16px;
        --inner-gap: 60px;
    }
}

@media screen and (max-width: 991px) {
    .ux-process-card {
        --inner-p: 20px;
        --radius: 12px;
    }
}

@media screen and (max-width: 575px) {
    .ux-process-card {
        --inner-p: 16px;
        --inner-gap: 40px;
    }
}

@media (min-width: 992px) {

    .ux-choose .row>div:nth-child(2) .ui-card,
    .ux-choose .row>div:nth-child(5) .ui-card {
        margin-top: 32px;
    }
}

.saas-build-section {
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .saas-build-section {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .saas-build-section {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .saas-build-section {
        border-radius: 20px;
    }
}

.saas-trusted {
    background-color: hsl(var(--section-bg));
    padding-block: 80px;
}

@media screen and (max-width: 1199px) {
    .saas-trusted {
        padding-block: 60px;
    }
}

@media screen and (max-width: 767px) {
    .saas-trusted {
        padding-block: 40px;
    }
}

.saas-trusted-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

@media screen and (max-width: 991px) {
    .saas-trusted-inner {
        flex-direction: column;
        gap: 32px;
    }
}

.saas-trusted-heading {
    flex-shrink: 0;
}

@media screen and (max-width: 991px) {
    .saas-trusted-heading {
        text-align: center;
    }
}

.saas-trusted-label {
    font-size: 40px;
    font-weight: 700;
    color: hsl(var(--body-color));
    margin-bottom: 4px;
    line-height: 1.2;
}

@media screen and (max-width: 1399px) {
    .saas-trusted-label {
        font-size: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .saas-trusted-label {
        font-size: 28px;
    }
}

@media screen and (max-width: 767px) {
    .saas-trusted-label {
        font-size: 24px;
    }
}

@media screen and (max-width: 575px) {
    .saas-trusted-label {
        font-size: 18px;
    }
}

@media screen and (max-width: 424px) {
    .saas-trusted-label {
        font-size: 17px;
    }
}

.saas-trusted-title {
    font-size: 64px;
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.1;
    margin-bottom: 0;
}

@media screen and (max-width: 1399px) {
    .saas-trusted-title {
        font-size: 56px;
    }
}

@media screen and (max-width: 1199px) {
    .saas-trusted-title {
        font-size: 40px;
    }
}

@media screen and (max-width: 991px) {
    .saas-trusted-title {
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    .saas-trusted-title {
        font-size: 32px;
    }
}

@media screen and (max-width: 575px) {
    .saas-trusted-title {
        font-size: 24px;
    }
}

.saas-trusted-stats {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

@media screen and (max-width: 1199px) {
    .saas-trusted-stats {
        gap: 24px;
    }
}

@media screen and (max-width: 991px) {
    .saas-trusted-stats {
        justify-content: center;
    }
}

.saas-trusted-stat {
    text-align: left;
}

.saas-trusted-number {
    font-size: 64px;
    font-weight: 600;
    color: hsl(var(--heading-color));
    line-height: 1.1;
    margin-bottom: 4px;
}

@media screen and (max-width: 1399px) {
    .saas-trusted-number {
        font-size: 56px;
    }
}

@media screen and (max-width: 1199px) {
    .saas-trusted-number {
        font-size: 40px;
    }
}

@media screen and (max-width: 991px) {
    .saas-trusted-number {
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    .saas-trusted-number {
        font-size: 32px;
    }
}

@media screen and (max-width: 575px) {
    .saas-trusted-number {
        font-size: 24px;
    }
}

.saas-trusted-number .accent {
    color: hsl(var(--base));
}

.saas-trusted-desc {
    font-size: 18px;
    font-weight: 500;
    color: hsl(var(--body-color));
    line-height: 1.4;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .saas-trusted-desc {
        font-size: 16px;
    }
}

@media screen and (max-width: 575px) {
    .saas-trusted-desc {
        font-size: 15px;
    }
}

.saas-trusted-divider {
    width: 1px;
    height: 100px;
    background-color: hsl(var(--light));
    flex-shrink: 0;
}

@media screen and (max-width: 767px) {
    .saas-trusted-divider {
        display: none;
    }
}

.saas-reality-content {
    display: grid;
    grid-template-columns: 1fr 40%;
    gap: 48px;
    margin-top: 60px;
}

@media screen and (max-width: 1199px) {
    .saas-reality-content {
        grid-template-columns: 1fr 42%;
        gap: 36px;
    }
}

@media screen and (max-width: 991px) {
    .saas-reality-content {
        grid-template-columns: 1fr;
        gap: 48px;
    }
}

.saas-reality-junctions {
    border-right: 1px solid hsl(var(--black));
    padding-right: 48px;
}

@media screen and (max-width: 1199px) {
    .saas-reality-junctions {
        padding-right: 36px;
    }
}

@media screen and (max-width: 991px) {
    .saas-reality-junctions {
        border-right: none;
        padding-right: 0;
    }
}

.saas-reality-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    border-bottom: 1px solid hsl(var(--light));
    margin-bottom: 0;
}

.saas-reality-meta-label,
.saas-reality-meta-value {
    font-size: 16px;
    font-weight: 400;
    color: hsl(var(--black));
    text-transform: uppercase;
    letter-spacing: 4px;
    line-height: 1.6;
}

.saas-reality-list {
    display: flex;
    flex-direction: column;
}

.saas-reality-item {
    padding-block: 24px;
    border-bottom: 1px solid hsl(var(--light));
}

.saas-reality-item.active .saas-reality-desc {
    display: block;
}

.saas-reality-item-row {
    display: flex;
    align-items: center;
    gap: 24px;
    cursor: pointer;
}

@media screen and (max-width: 767px) {
    .saas-reality-item-row {
        gap: 16px;
        flex-wrap: wrap;
    }
}

.saas-reality-num {
    font-size: 18px;
    font-weight: 400;
    color: hsl(var(--heading-color));
    flex-shrink: 0;
    line-height: 1.6;
}

.saas-reality-title {
    font-size: 40px;
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.2;
    flex: 1;
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .saas-reality-title {
        font-size: 32px;
    }
}

@media screen and (max-width: 767px) {
    .saas-reality-title {
        font-size: 26px;
    }
}

@media screen and (max-width: 575px) {
    .saas-reality-title {
        font-size: 22px;
    }
}

.saas-reality-tag {
    font-size: 16px;
    font-weight: 700;
    color: hsl(var(--base));
    text-transform: uppercase;
    letter-spacing: 4px;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.6;
}

.saas-reality-desc {
    font-size: 18px;
    font-weight: 400;
    color: hsl(var(--body-color));
    line-height: 1.6;
    margin-top: 12px;
    margin-left: 42px;
    margin-bottom: 0;
    max-width: 600px;
    display: none;
}

@media screen and (max-width: 767px) {
    .saas-reality-desc {
        margin-left: 0;
        font-size: 16px;
    }
}

.saas-reality-data {
    display: flex;
    flex-direction: column;
}

.saas-reality-stat {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding-block: 20px;
    border-bottom: 1px solid hsl(var(--light));
    flex-direction: column;
}

@media screen and (max-width: 991px) {
    .saas-reality-stat {
        flex-direction: row;
    }
}

@media screen and (max-width: 424px) {
    .saas-reality-stat {
        flex-direction: column;
    }
}

.saas-reality-stat-num {
    font-size: 200px;
    font-weight: 900;
    color: hsl(var(--heading-color));
    line-height: 0.8;
    margin-bottom: 0;
    flex-shrink: 0;
}

.saas-reality-stat-num .accent {
    color: hsl(var(--base));
}

@media screen and (max-width: 1499px) {
    .saas-reality-stat-num {
        font-size: 180px;
    }
}

@media screen and (max-width: 1399px) {
    .saas-reality-stat-num {
        font-size: 160px;
    }
}

@media screen and (max-width: 1199px) {
    .saas-reality-stat-num {
        font-size: 140px;
    }
}

@media screen and (max-width: 767px) {
    .saas-reality-stat-num {
        font-size: 110px;
    }
}

@media screen and (max-width: 575px) {
    .saas-reality-stat-num {
        font-size: 90px;
    }
}

@media screen and (max-width: 424px) {
    .saas-reality-stat-num {
        font-size: 80px;
    }
}

.saas-reality-stat-desc {
    font-size: 20px;
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.3;
    text-align: right;
    margin-bottom: 0;
    max-width: 280px;
}

@media screen and (max-width: 1199px) {
    .saas-reality-stat-desc {
        font-size: 18px;
    }
}

@media screen and (max-width: 575px) {
    .saas-reality-stat-desc {
        font-size: 16px;
    }
}

.saas-reality-bars {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-block: 28px;
}

.saas-reality-bar {
    display: flex;
    align-items: center;
    gap: 12px;
}

.saas-reality-bar-label {
    font-size: 18px;
    font-weight: 400;
    color: hsl(var(--heading-color));
    white-space: nowrap;
    width: 150px;
    flex-shrink: 0;
    line-height: 1.6;
}

@media screen and (max-width: 1199px) {
    .saas-reality-bar-label {
        font-size: 16px;
        width: 130px;
    }
}

@media screen and (max-width: 575px) {
    .saas-reality-bar-label {
        width: 110px;
        font-size: 14px;
    }
}

.saas-reality-bar-track {
    flex: 1;
    height: 4px;
    background-color: hsl(var(--light));
    border-radius: 250px;
    overflow: hidden;
}

.saas-reality-bar-fill {
    height: 100%;
    background-color: hsl(var(--base));
    border-radius: 250px;
}

.saas-reality-bar-pct {
    font-size: 18px;
    font-weight: 700;
    color: hsl(var(--heading-color));
    white-space: nowrap;
    width: 40px;
    text-align: right;
    flex-shrink: 0;
    line-height: 1.6;
}

@media screen and (max-width: 575px) {
    .saas-reality-bar-pct {
        font-size: 14px;
    }
}

.saas-reality-quote {
    background-color: hsl(var(--heading-color));
    border-radius: 15px;
    padding: 28px 24px 20px;
    position: relative;
    overflow: hidden;
}

.saas-reality-quote::after {
    --size: 135px;
    content: "";
    position: absolute;
    height: var(--size);
    width: var(--size);
    background-color: hsl(var(--base));
    filter: blur(70px);
    top: calc(-1 * var(--size) / 2);
    right: calc(-1 * var(--size) / 2);
}

.saas-reality-quote-text {
    font-size: 24px;
    font-weight: 700;
    color: hsl(var(--white));
    line-height: 1.3;
    margin-bottom: 40px;
}

.saas-reality-quote-text .accent {
    color: hsl(var(--base));
}

@media screen and (max-width: 1399px) {
    .saas-reality-quote-text {
        font-size: 20px;
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .saas-reality-quote-text {
        font-size: 18px;
    }
}

.saas-reality-quote-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.saas-reality-quote-author {
    font-size: 13px;
    font-weight: 700;
    color: hsl(var(--body-color));
    text-transform: uppercase;
    letter-spacing: 4px;
    line-height: 1.6;
}

.saas-reality-quote-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 16px;
    font-weight: 700;
    color: hsl(var(--base));
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.saas-reality-quote-cta:hover {
    opacity: 0.8;
    color: hsl(var(--base));
}

.saas-solution-item {
    display: flex;
    align-items: center;
    gap: 40px;
    padding-block: 32px;
    border-top: 1px solid hsl(var(--light));
}

.saas-solution-item:last-child {
    border-bottom: 1px solid hsl(var(--light));
}

@media screen and (max-width: 1199px) {
    .saas-solution-item {
        gap: 28px;
        padding-block: 24px;
    }
}

@media screen and (max-width: 767px) {
    .saas-solution-item {
        gap: 20px;
        padding-block: 20px;
        align-items: flex-start;
    }
}

.saas-solution-num {
    font-size: 64px;
    font-weight: 400;
    color: hsl(var(--light));
    line-height: 1.6;
    flex-shrink: 0;
    width: 80px;
    text-align: left;
}

@media screen and (max-width: 1199px) {
    .saas-solution-num {
        font-size: 48px;
        width: 60px;
    }
}

@media screen and (max-width: 767px) {
    .saas-solution-num {
        font-size: 36px;
        width: 48px;
    }
}

@media screen and (max-width: 575px) {
    .saas-solution-num {
        font-size: 28px;
        width: 38px;
    }
}

.saas-solution-content {
    flex: 1;
}

.saas-solution-title {
    font-size: 32px;
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.25;
    margin-bottom: 8px;
}

@media screen and (max-width: 1199px) {
    .saas-solution-title {
        font-size: 26px;
    }
}

@media screen and (max-width: 767px) {
    .saas-solution-title {
        font-size: 22px;
    }
}

@media screen and (max-width: 575px) {
    .saas-solution-title {
        font-size: 18px;
    }
}

.saas-solution-desc {
    font-size: 18px;
    font-weight: 400;
    color: hsl(var(--body-color));
    line-height: 1.6;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .saas-solution-desc {
        font-size: 16px;
    }
}

@media screen and (max-width: 575px) {
    .saas-solution-desc {
        font-size: 14px;
    }
}

.saas-feature-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
    margin-top: 60px;
}

@media screen and (max-width: 1199px) {
    .saas-feature-grid {
        gap: 20px;
    }
}

@media screen and (max-width: 991px) {
    .saas-feature-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media screen and (max-width: 767px) {
    .saas-feature-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 40px;
    }
}

.saas-feature-card {
    --card-bg: hsl(var(--white));
    --card-title-color: hsl(var(--heading-color));
    --card-desc-color: hsl(var(--body-color));
    --icon-color: hsl(var(--base));
    --card-min-height: 285px;
    background-color: var(--card-bg);
    border-radius: 20px;
    padding: 32px;
    min-height: var(--card-min-height);
    display: flex;
    flex-direction: column;
    gap: 35px;
    overflow: hidden;
    position: relative;
    grid-column: span 3;
}

@media screen and (max-width: 1399px) {
    .saas-feature-card {
        padding: 28px;
    }
}

@media screen and (max-width: 1199px) {
    .saas-feature-card {
        border-radius: 16px;
        padding: 24px;
    }
}

@media screen and (max-width: 991px) {
    .saas-feature-card {
        grid-column: span 3;
    }
}

@media screen and (max-width: 767px) {
    .saas-feature-card {
        grid-column: auto;
        min-height: auto;
        border-radius: 14px;
        padding: 20px;
        gap: 24px;
    }
}

.saas-feature-card--large {
    --card-bg: hsl(var(--heading-color));
    --card-title-color: hsl(var(--white));
    --card-desc-color: hsl(var(--border-light));
    --card-min-height: 320px;
    grid-column: span 4;
    justify-content: space-between;
}

@media screen and (max-width: 991px) {
    .saas-feature-card--large {
        grid-column: span 3;
    }
}

.saas-feature-card--medium {
    --card-min-height: 250px;
    grid-column: span 4;
    justify-content: space-between;
}

@media screen and (max-width: 991px) {
    .saas-feature-card--medium {
        grid-column: span 3;
    }
}

.saas-feature-card--wide {
    grid-column: span 5;
    gap: 64px;
}

@media screen and (max-width: 991px) {
    .saas-feature-card--wide {
        grid-column: span 3;
    }
}

@media screen and (max-width: 767px) {
    .saas-feature-card--wide {
        gap: 24px;
    }
}

.saas-feature-card--gray {
    --card-bg: hsl(var(--section-bg));
}

.saas-feature-card--green {
    --card-bg: #f1fcf5;
}

.saas-feature-card--green-light {
    --card-bg: #ecf8f2;
}

.saas-feature-card--white {
    --card-bg: hsl(var(--white));
}

.saas-feature-card--yellow {
    --card-bg: #fdfde9;
    --icon-color: #eab308;
}

.saas-feature-card--dark {
    --icon-color: hsl(var(--white));
}

.saas-feature-card-icon-inner {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.61);
    box-shadow: 0 0 12px 0 hsl(var(--black)/0.1);
    backdrop-filter: blur(10px);
    color: var(--icon-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 36px;
}

@media screen and (max-width: 1199px) {
    .saas-feature-card-icon-inner {
        width: 56px;
        height: 56px;
        border-radius: 10px;
        font-size: 32px;
    }
}

@media screen and (max-width: 767px) {
    .saas-feature-card-icon-inner {
        width: 52px;
        height: 52px;
    }
}

.saas-feature-card-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: auto;
    max-width: 360px;
}

.saas-feature-card-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--card-title-color);
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .saas-feature-card-title {
        font-size: 22px;
    }
}

@media screen and (max-width: 767px) {
    .saas-feature-card-title {
        font-size: 20px;
    }
}

.saas-feature-card-desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--card-desc-color);
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .saas-feature-card-desc {
        font-size: 16px;
    }
}

.saas-path-section {
    position: relative;
    z-index: 1;
    background-color: hsl(var(--dark));
    border-radius: 40px;
}

@media screen and (max-width: 1399px) {
    .saas-path-section {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .saas-path-section {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .saas-path-section {
        border-radius: 20px;
    }
}

.saas-path-section::after,
.saas-path-section::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: clamp(9.375rem, -187.3587rem + 262.3116vw, 42rem);
    height: 100%;
    background-image: linear-gradient(to right, hsl(var(--base)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--base)) 1px, transparent 1px);
    background-size: 20px 20px;
    mask-image: radial-gradient(ellipse 70% 90% at 100% 50%, hsl(var(--black)) 30%, transparent 70%);
    opacity: 0.125;
    z-index: -1;
}

.saas-path-section::after {
    right: auto;
    transform: scale(-1);
    left: 0;
}

.saas-path-section .section-heading .text {
    --overlay-bg: hsl(var(--dark)) !important;
}

.saas-path-rail {
    position: relative;
    padding-top: 6px;
}

.saas-path-line,
.saas-path-progress {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    height: 4px;
    border-radius: 999px;
}

@media screen and (max-width: 1199px) {

    .saas-path-line,
    .saas-path-progress {
        top: 36px;
    }
}

@media screen and (max-width: 991px) {

    .saas-path-line,
    .saas-path-progress {
        top: 30px;
    }
}

@media screen and (max-width: 767px) {

    .saas-path-line,
    .saas-path-progress {
        top: 20px !important;
        transform: unset !important;
        left: 22px;
    }
}

.saas-path-progress {
    left: 100px;
    transform: unset;
}

@media screen and (max-width: 991px) {
    .saas-path-progress {
        left: 80px;
    }
}

@media screen and (max-width: 767px) {
    .saas-path-progress {
        left: 22px;
    }
}

.saas-path-line {
    width: calc(100% - 200px);
    background-color: hsl(var(--border-black));
}

@media screen and (max-width: 1199px) {
    .saas-path-line {
        width: calc(100% - 128px);
    }
}

@media screen and (max-width: 767px) {
    .saas-path-line {
        width: 4px;
        height: 100%;
    }
}

.saas-path-progress {
    width: calc((100% - 144px) / 4);
    background-color: hsl(var(--base));
}

@media screen and (max-width: 1199px) {
    .saas-path-progress {
        width: calc((100% - 128px) / 4);
    }
}

@media screen and (max-width: 767px) {
    .saas-path-progress {
        width: 4px;
        height: 25%;
    }
}

.saas-path-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 32px;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1199px) {
    .saas-path-list {
        gap: 24px;
    }
}

@media screen and (max-width: 991px) {
    .saas-path-list {
        gap: 16px;
    }
}

@media screen and (max-width: 767px) {
    .saas-path-list {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }
}

.saas-path-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: hsl(var(--white));
    gap: 24px;
}

.saas-path-item.active .saas-path-count {
    color: hsl(var(--white));
    background-color: hsl(var(--base));
    border-color: hsl(var(--white));
}

@media screen and (max-width: 767px) {
    .saas-path-item {
        flex-direction: row;
        text-align: left;
    }
}

.saas-path-count {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 1px solid hsl(var(--light));
    background-color: hsl(var(--white));
    box-shadow: 0 4px 4px 0 hsl(var(--black)/0.25), 0 -18px 41px 0 rgba(46, 204, 112, 0.15), 0 -74px 74px 0 rgba(46, 204, 112, 0.13), 0 -166px 99px 0 rgba(46, 204, 112, 0.08), 0 -295px 118px 0 rgba(46, 204, 112, 0.02), 0 -460px 129px 0 rgba(46, 204, 112, 0);
    color: hsl(var(--light));
    font-size: 40px;
    font-weight: 900;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

@media screen and (max-width: 1199px) {
    .saas-path-count {
        width: 64px;
        height: 64px;
        font-size: 34px;
    }
}

@media screen and (max-width: 991px) {
    .saas-path-count {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }
}

.saas-path-content {
    max-width: 224px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.saas-path-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    color: hsl(var(--white));
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .saas-path-title {
        font-size: 28px;
    }
}

@media screen and (max-width: 991px) {
    .saas-path-title {
        font-size: 20px;
    }
}

.saas-path-desc {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--white));
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .saas-path-desc {
        font-size: 16px;
    }
}

@media screen and (max-width: 991px) {
    .saas-path-desc {
        font-size: 15px;
    }
}

.page-banner-img {
    margin-top: 48px;
}

.page-banner-img img {
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25)) drop-shadow(0 -166px 99px rgba(46, 204, 113, 0.08)) drop-shadow(0 -74px 74px rgba(46, 204, 113, 0.13)) drop-shadow(0 -18px 41px rgba(46, 204, 113, 0.15));
}

@media screen and (max-width: 1199px) {
    .page-banner-img {
        margin-top: 36px;
    }
}

@media screen and (max-width: 767px) {
    .page-banner-img {
        margin-top: 30px;
    }
}

@media (min-width: 992px) {
    .ux-process .row>div:nth-child(4) .ux-process-card {
        margin-top: 32px;
    }
}

body:has(.cyber-risk-section) .page-banner {
    --inner-p: 250px;
    padding-block: var(--inner-p);
}

@media screen and (max-width: 1399px) {
    body:has(.cyber-risk-section) .page-banner {
        --inner-p: 200px;
    }
}

@media screen and (max-width: 1199px) {
    body:has(.cyber-risk-section) .page-banner {
        --inner-p: 180px;
    }
}

@media screen and (max-width: 991px) {
    body:has(.cyber-risk-section) .page-banner {
        --inner-p: 160px;
    }
}

@media screen and (max-width: 767px) {
    body:has(.cyber-risk-section) .page-banner {
        --inner-p: 120px;
    }
}

@media screen and (max-width: 575px) {
    body:has(.cyber-risk-section) .page-banner {
        --inner-p: 90px;
    }
}

body:has(.cyber-risk-section) .page-banner .page-banner-desc {
    max-width: 532px;
    margin-left: 0;
    margin-bottom: 48px;
}

body:has(.cyber-risk-section) .page-banner .page-banner-title {
    max-width: 940px;
}

.cyber-risk-section {
    background-color: hsl(var(--dark));
    overflow: hidden;
}

@media (min-width: 1500px) {
    .cyber-risk-section .container {
        max-width: 1500px;
    }
}

.cyber-risk-section .slick-list {
    overflow: unset;
    overflow-x: clip;
}

.cyber-risk-slider-wrapper {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 100px;
}

@media screen and (max-width: 1399px) {
    .cyber-risk-slider-wrapper {
        gap: 16px;
    }
}

.cyber-risk-slider {
    flex: 1;
    min-width: 0;
}

.cyber-risk-slider .slick-slide {
    height: inherit !important;
    display: flex !important;
    align-items: flex-end;
    padding-inline: 12px;
}

.cyber-risk-slider .slick-slide>div {
    width: 100%;
}

@media screen and (max-width: 991px) {
    .cyber-risk-slider .slick-slide {
        padding-inline: 0;
    }
}

.cyber-risk-card {
    --card-bg: #000042;
    background-color: var(--card-bg);
    border-radius: 20px;
    height: 100%;
    overflow: hidden;
    position: relative;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    padding: 80px 48px;
    transition: all 0.4s ease;
    gap: 130px;
    z-index: 1;
}

@media screen and (max-width: 1399px) {
    .cyber-risk-card {
        padding: 40px 24px;
        gap: 100px;
    }
}

@media screen and (max-width: 1199px) {
    .cyber-risk-card {
        gap: 80px;
    }
}

@media screen and (max-width: 991px) {
    .cyber-risk-card {
        padding: 36px 20px;
    }
}

@media (min-width: 992px) {
    .cyber-risk-slider .slick-center .cyber-risk-card {
        transform: scaleY(1.2);
    }

    .cyber-risk-slider .slick-center .cyber-risk-card .cyber-risk-card-content,
    .cyber-risk-slider .slick-center .cyber-risk-card .cyber-risk-card-icon {
        transform: scaleY(0.8);
    }
}

.cyber-risk-card-blob {
    position: absolute;
    width: 590px;
    height: 590px;
    border-radius: 100%;
    background: #050569;
    filter: blur(150px);
    top: -297px;
    left: -297px;
    pointer-events: none;
    z-index: 0;
    flex-shrink: 0;
    z-index: -1;
}

.cyber-risk-card-icon {
    transition: all 0.4s ease;
}

.cyber-risk-card-icon img {
    --size: 124px;
    width: var(--size);
    height: var(--size);
    width: 100%;
    object-fit: contain;
}

@media screen and (max-width: 1199px) {
    .cyber-risk-card-icon img {
        --size: 90px;
    }
}

.cyber-risk-card-content {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    transition: all 0.4s ease;
}

.cyber-risk-card-title {
    font-size: 2.5rem;
    font-weight: 900;
    color: hsl(var(--white));
    line-height: 1.1;
    margin-bottom: 12px;
}

@media screen and (max-width: 1399px) {
    .cyber-risk-card-title {
        font-size: 2rem;
    }
}

@media screen and (max-width: 1199px) {
    .cyber-risk-card-title {
        font-size: 1.75rem;
    }
}

@media screen and (max-width: 991px) {
    .cyber-risk-card-title {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 767px) {
    .cyber-risk-card-title {
        font-size: 1.375rem;
    }
}

.cyber-risk-card-desc {
    font-size: 1rem;
    color: hsl(var(--white)/0.75);
    line-height: 1.6;
}

@media screen and (max-width: 767px) {
    .cyber-risk-card-desc {
        font-size: 0.9375rem;
    }
}

.cyber-risk-arrow {
    --size: 80px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    border: 1px solid hsl(var(--white)/0.5);
    background: transparent;
    color: hsl(var(--white));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.cyber-risk-arrow i {
    font-size: calc(var(--size) / 2);
}

.cyber-risk-arrow.cyber-risk-arrow--prev i {
    transform: rotate(180deg);
}

.cyber-risk-arrow:hover {
    background-color: hsl(var(--white)/0.08);
    border-color: hsl(var(--white)/0.8);
}

@media screen and (max-width: 1399px) {
    .cyber-risk-arrow {
        --size: 64px;
    }
}

@media screen and (max-width: 1199px) {
    .cyber-risk-arrow {
        --size: 56px;
    }
}

@media screen and (max-width: 991px) {
    .cyber-risk-arrow {
        --size: 48px;
    }
}

@media screen and (max-width: 424px) {
    .cyber-risk-arrow {
        display: none;
    }
}

.cyber-protect-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media screen and (max-width: 991px) {
    .cyber-protect-list {
        gap: 12px;
    }
}

.cyber-protect-item {
    background-color: hsl(var(--white));
    border-radius: 20px;
    padding: 24px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.cyber-protect-item-icon {
    width: 24px;
    height: 24px;
    background-color: #defaea;
    border-radius: 50%;
    display: grid;
    place-content: center;
    font-size: 10px;
    color: hsl(var(--base));
    flex-shrink: 0;
    margin-top: 4px;
}

.cyber-protect-item-icon.icon--font {
    font-size: 24px;
}

.cyber-protect-item-content {
    flex: 1;
}

.cyber-protect-item-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.3;
    margin-bottom: 4px;
}

@media screen and (max-width: 1199px) {
    .cyber-protect-item-title {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 991px) {
    .cyber-protect-item-title {
        font-size: 1.125rem;
    }
}

.cyber-protect-item-desc {
    font-size: 1.125rem;
    color: hsl(var(--body-color));
    line-height: 1.6;
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .cyber-protect-item-desc {
        font-size: 1rem;
    }
}

@media screen and (max-width: 767px) {
    .cyber-protect-item-desc {
        font-size: 0.9375rem;
    }
}

.cyber-protect-img-wrapper {
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
}

.cyber-protect-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hapi-tool-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

@media screen and (max-width: 1199px) {
    .hapi-tool-list {
        gap: 24px;
    }
}

@media screen and (max-width: 991px) {
    .hapi-tool-list {
        gap: 16px;
    }
}

.hapi-tool-item {
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 24px;
    overflow: hidden;
    background: linear-gradient(135deg, hsl(var(--base)) 0%, transparent 100%);
    z-index: 1;
    position: relative;
}

.hapi-tool-item::after {
    content: "";
    position: absolute;
    inset: 2px;
    background-color: hsl(var(--dark));
    z-index: -1;
    border-radius: inherit;
}

.hapi-tool-item-icon {
    width: 32px;
    height: 32px;
    background-color: hsl(var(--white));
    border-radius: 4px;
    box-shadow: 0 0 4px 0 hsl(var(--black)/0.1);
    display: grid;
    place-content: center;
    flex-shrink: 0;
    font-size: 24px;
    color: hsl(var(--base));
}

.hapi-tool-item-title {
    font-weight: 700;
    color: hsl(var(--white));
}

.hapi-tool-img {
    border-radius: 20px;
    background: linear-gradient(135deg, hsl(var(--base)) 0%, transparent 100%);
    z-index: 1;
    padding: 2px;
}

.hapi-tool-img img {
    width: 100%;
    display: block;
    object-fit: cover;
    border-radius: inherit;
}

.cyber-process .section-heading-desc {
    max-width: 440px;
}

.cyber-process .ux-how-steps {
    gap: 70px;
    max-width: 1110px;
    width: 100%;
    margin-inline: auto;
}

.cyber-plan-card {
    background-color: hsl(var(--section-bg));
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.cyber-plan-card-header {
    padding: 16px 16px 0;
}

.cyber-plan-card-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.4;
}

.cyber-plan-card-body {
    background-color: hsl(var(--white));
    border-radius: 20px;
    padding: 16px;
    margin-top: 12px;
    flex: 1;
}

.cyber-plan-card-tagline {
    font-size: 1rem;
    color: hsl(var(--body-color));
    line-height: 1.6;
    margin-bottom: 20px;
}

.cyber-plan-card--featured {
    background: linear-gradient(75.8deg, transparent 0%, #7b61ff 45%, hsl(var(--base)) 75%, transparent 120%);
}

@media (min-width: 992px) {
    .cyber-plan-card--featured {
        transform: scaleY(1.05);
    }

    .cyber-plan-card--featured .cyber-plan-card-body *,
    .cyber-plan-card--featured .cyber-plan-card-header * {
        transform: scaleY(0.98);
    }
}

.cyber-plan-card--featured .cyber-plan-card-name {
    color: hsl(var(--white));
}

.cyber-plan-card--featured .cyber-plan-card-body {
    background-color: hsl(var(--dark));
}

.cyber-plan-card--featured .cyber-plan-card-tagline {
    color: hsl(var(--white)/0.75);
}

.cyber-plan-card--featured .cyber-plan-features-title {
    color: hsl(var(--white));
}

.cyber-plan-card--featured .cyber-plan-list-item {
    color: hsl(var(--light));
}

.cyber-plan-card--featured .cyber-plan-list-item.cyber-plan-list-item--check .fas {
    color: hsl(var(--base));
}

.cyber-plan-card--featured .cyber-plan-list-item.cyber-plan-list-item--bonus .fas {
    color: hsl(var(--warning));
}

.cyber-plan-price-box {
    background-color: hsl(var(--light-bg));
    border-radius: 15px;
    padding: 16px;
    margin-bottom: 24px;
}

.cyber-plan-card--featured .cyber-plan-price-box {
    background-color: hsl(var(--white)/0.12);
}

.cyber-plan-price {
    display: flex;
    align-items: center;
    gap: 12px;
    gap: 4px;
    margin-bottom: 16px;
}

.cyber-plan-amount {
    font-size: 4rem;
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.15;
}

@media screen and (max-width: 1399px) {
    .cyber-plan-amount {
        font-size: 3.25rem;
    }
}

@media screen and (max-width: 1199px) {
    .cyber-plan-amount {
        font-size: 2.75rem;
    }
}

.cyber-plan-amount--custom {
    font-size: 3.25rem;
}

@media screen and (max-width: 1199px) {
    .cyber-plan-amount--custom {
        font-size: 2.5rem;
    }
}

.cyber-plan-card--featured .cyber-plan-amount {
    color: hsl(var(--white));
}

.cyber-plan-period {
    font-size: 1.125rem;
    color: hsl(var(--body-color));
    line-height: 1.6;
}

.cyber-plan-card--featured .cyber-plan-period {
    color: hsl(var(--white)/0.6);
}

.cyber-plan-features {
    margin-bottom: 24px;
}

.cyber-plan-features:last-child {
    margin-bottom: 0;
}

.cyber-plan-features-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.4;
    margin-bottom: 16px;
}

.cyber-plan-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cyber-plan-list-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.125rem;
    color: hsl(var(--secondary));
    line-height: 1.2;
}

@media screen and (max-width: 1199px) {
    .cyber-plan-list-item {
        font-size: 1rem;
    }
}

.cyber-plan-list-item .icon {
    width: 18px;
    height: 18px;
    font-size: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cyber-plan-list-item .icon:not(:has(svg)) {
    border-radius: 50%;
    color: hsl(var(--base));
    border: 1px solid hsl(var(--base));
}

.cyber-plan-list-item .icon.icon--font {
    font-size: 20px;
    border: none;
    background-color: hsl(var(--base)/0.12);
}

.cyber-plan-list-item .icon svg {
    height: 18px;
    width: 18px;
    color: hsl(var(--base));
}

.cyber-cta {
    text-align: center;
}

.cyber-cta-name {
    border-radius: 250px;
    border: 2px solid hsl(var(--danger));
    background: hsl(var(--danger)/0.15);
    display: inline-flex;
    padding: 6px 18px;
    font-weight: 700;
    font-size: 20px;
    line-height: 140%;
    color: hsl(var(--danger));
    position: relative;
    align-items: center;
    gap: 4px;
    margin-bottom: 32px;
}

@media screen and (max-width: 1199px) {
    .cyber-cta-name {
        font-size: 18px;
    }
}

@media screen and (max-width: 991px) {
    .cyber-cta-name {
        font-size: 17px;
    }
}

@media screen and (max-width: 767px) {
    .cyber-cta-name {
        font-size: 16px;
    }
}

.cyber-cta-name::before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: hsl(var(--danger));
    border-radius: 50%;
}

.cyber-cta-title {
    max-width: 1200px;
    width: 100%;
    margin-inline: auto;
    font-size: var(--extra-fs);
    font-weight: 900;
    text-align: center;
    margin-bottom: 12px;
    line-height: 1;
    color: hsl(var(--white));
    --extra-fs: 104px;
}

@media screen and (max-width: 1599px) {
    .cyber-cta-title {
        --extra-fs: 84px;
    }
}

@media screen and (max-width: 1199px) {
    .cyber-cta-title {
        --extra-fs: 64px;
    }
}

@media screen and (max-width: 767px) {
    .cyber-cta-title {
        --extra-fs: 48px;
    }
}

.cyber-cta-title span {
    display: inline;
}

.cyber-cta-desc {
    font-size: 18px;
    color: hsl(var(--white));
    margin-bottom: 24px;
}

.cyber-solution .ui-card {
    border: 1px solid hsl(var(--base));
}

.tech-cover-section {
    position: relative;
    z-index: 1;
    background-color: hsl(var(--dark));
    border-radius: 40px;
}

.tech-cover-section .section-heading-desc {
    max-width: 400px;
    width: 100%;
}

@media screen and (max-width: 1399px) {
    .tech-cover-section {
        border-radius: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .tech-cover-section {
        border-radius: 24px;
    }
}

@media screen and (max-width: 575px) {
    .tech-cover-section {
        border-radius: 20px;
    }
}

.tech-cover-section::after,
.tech-cover-section::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: clamp(9.375rem, -187.3587rem + 262.3116vw, 42rem);
    height: 100%;
    background-image: linear-gradient(to right, hsl(var(--base)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--base)) 1px, transparent 1px);
    background-size: 20px 20px;
    mask-image: radial-gradient(ellipse 70% 90% at 100% 50%, hsl(var(--black)) 30%, transparent 70%);
    opacity: 0.125;
    z-index: -1;
}

.tech-cover-section::after {
    right: auto;
    transform: scale(-1);
    left: 0;
}

.tech-cover-section .section-heading .text {
    --overlay-bg: hsl(var(--dark)) !important;
}

.cover-card {
    --cover-card-p: 32px;
    --cover-card-icon-size: 80px;
    --cover-card-icon-inner: 40px;
    --cover-card-radius: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--cover-card-p);
    border: 1px solid hsl(var(--white)/0.12);
    border-radius: var(--cover-card-radius);
    background-color: hsl(var(--black)/0.15);
    backdrop-filter: blur(11px);
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

@media screen and (max-width: 1399px) {
    .cover-card {
        --cover-card-p: 24px;
    }
}

@media screen and (max-width: 1199px) {
    .cover-card {
        --cover-card-p: 20px;
        --cover-card-icon-size: 68px;
        --cover-card-icon-inner: 34px;
        --cover-card-radius: 16px;
    }
}

@media screen and (max-width: 575px) {
    .cover-card {
        --cover-card-p: 16px;
        --cover-card-icon-size: 60px;
        --cover-card-icon-inner: 30px;
        --cover-card-radius: 12px;
    }
}

.cover-card:hover {
    background-color: hsl(var(--white)/0.15);
    border-color: transparent;
}

.cover-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--cover-card-icon-size);
    height: var(--cover-card-icon-size);
    border-radius: 12px;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
    margin-bottom: clamp(60px, 7vw, 92px);
    flex-shrink: 0;
    font-size: var(--cover-card-icon-inner);
    color: hsl(var(--white));
    border-radius: 12px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.6);
    box-shadow: 0 0 12px 0 hsl(var(--black)/0.1);
    backdrop-filter: blur(10px);
}

@media screen and (max-width: 1199px) {
    .cover-card-icon {
        font-size: 28px;
    }
}

@media screen and (max-width: 575px) {
    .cover-card-icon {
        font-size: 24px;
    }
}

.cover-card-title {
    font-weight: 700;
    color: hsl(var(--white));
    margin-bottom: 12px;
    line-height: 1.3;
}

.cover-card-desc {
    font-size: 1rem;
    font-weight: 400;
    color: hsl(var(--light));
    line-height: 1.6;
    flex-grow: 1;
    margin-bottom: 24px;
}

@media screen and (max-width: 575px) {
    .cover-card-desc {
        font-size: 0.9375rem;
    }
}

.tech-use-cases-section {
    overflow: hidden;
    position: relative;
}

.tech-use-cases-section::after {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: var(--left-side-gap);
    background-color: hsl(var(--light-bg));
}

.use-cases-arrow {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.use-cases-arrow .slick-arrow {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 1px solid hsl(var(--black)/0.5);
    font-size: 36px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: hsl(var(--body-color));
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
    position: unset;
    transform: unset;
}

@media screen and (max-width: 1199px) {
    .use-cases-arrow .slick-arrow {
        width: 64px;
        height: 64px;
        font-size: 32px;
    }
}

.use-cases-arrow .slick-arrow.active {
    color: hsl(var(--base));
    border-color: hsl(var(--base));
}

@media screen and (max-width: 575px) {
    .use-cases-arrow .slick-arrow {
        width: 52px;
        height: 52px;
        font-size: 32px;
    }
}

.use-cases-arrow .slick-arrow--next {
    border-color: hsl(var(--base));
    color: hsl(var(--base));
}

.use-cases-arrow .slick-arrow:hover {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white));
}

.use-cases-slider .slick-list {
    overflow: visible;
}

.use-cases-slider .slick-track {
    display: flex;
    align-items: stretch;
}

.use-cases-slider .slick-slide {
    padding-right: 24px;
    height: inherit;
}

.use-cases-slider .slick-slide>div {
    height: 100%;
}

@media screen and (max-width: 575px) {
    .use-cases-slider .slick-slide {
        padding-right: 16px;
    }
}

.use-case-card {
    --uc-w: 424px;
    --uc-p: 32px;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--uc-p);
    background-color: hsl(var(--white));
    border-radius: 20px;
    width: var(--uc-w) !important;
}

@media screen and (max-width: 1399px) {
    .use-case-card {
        --uc-p: 28px;
        --uc-w: 400px;
    }
}

@media screen and (max-width: 1199px) {
    .use-case-card {
        --uc-p: 24px;
        --uc-w: 380px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 575px) {
    .use-case-card {
        --uc-p: 20px;
        --uc-w: 300px;
        border-radius: 14px;
    }
}

.use-case-card-icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid hsl(var(--border-color));
    background: hsl(var(--white)/0.61);
    backdrop-filter: blur(11px);
    -webkit-backdrop-filter: blur(11px);
    box-shadow: 0 0 12px 0 hsl(var(--black)/0.1);
    color: hsl(var(--base));
    margin-bottom: clamp(28px, 5vw, 64px);
    flex-shrink: 0;
    font-size: 32px;
}

.use-case-card-title {
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    font-weight: 700;
    color: hsl(var(--heading-color));
    line-height: 1.15;
    margin-bottom: 12px;
}

.use-case-card-desc {
    font-size: 1rem;
    font-weight: 400;
    color: hsl(var(--body-color));
    line-height: 1.6;
    flex-grow: 1;
    margin-bottom: 24px;
}

@media screen and (max-width: 575px) {
    .use-case-card-desc {
        font-size: 0.9375rem;
    }
}

.use-case-card-quote {
    margin-top: auto;
    background-color: hsl(var(--base)/0.08);
    border-left: 3px solid hsl(var(--base));
    border-radius: 12px;
    padding: 16px;
}

.use-case-card-quote p {
    font-style: italic;
    color: hsl(var(--base));
    font-size: 0.9375rem;
    line-height: 1.6;
    margin: 0;
}

.tech-choose-card {
    --thumb-w: 236px;
    display: flex;
    gap: 24px;
    border-radius: 20px;
    background: hsl(var(--white));
    overflow: hidden;
}

@media screen and (max-width: 575px) {
    .tech-choose-card {
        gap: 16px;
    }
}

@media screen and (max-width: 424px) {
    .tech-choose-card {
        flex-direction: column;
        gap: 0;
    }
}

@media screen and (max-width: 1199px) {
    .tech-choose-card {
        --thumb-w: 180px;
    }
}

.tech-choose-card-thumb {
    width: var(--thumb-w);
}

@media screen and (max-width: 424px) {
    .tech-choose-card-thumb {
        width: 100%;
        height: 240px;
    }
}

.tech-choose-card-content {
    flex: 1;
    padding: 40px 24px 40px 0;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 1199px) {
    .tech-choose-card-content {
        padding: 24px 16px 24px 0;
    }
}

@media screen and (max-width: 424px) {
    .tech-choose-card-content {
        padding: 24px;
    }
}

.tech-choose-card-title {
    max-width: 320px;
    width: 100%;
    margin-bottom: 6px;
}

.tech-choose-card-desc {
    color: hsl(var(--secondary));
    font-size: 18px;
}

.tech-choose-card-link {
    margin-top: auto;
    color: hsl(var(--black));
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all linear 0.3s;
}

.tech-choose-card-link .icon {
    transition: all linear 0.3s;
}

.tech-choose-card-link:hover {
    text-decoration: underline;
    color: hsl(var(--black));
}

.tech-choose-card-link:hover .icon {
    transform: rotate(45deg);
}

.tech-struc-card {
    padding: 24px;
    border-radius: 20px;
    background-color: hsl(var(--white));
    height: 100%;
}

@media screen and (max-width: 1199px) {
    .tech-struc-card {
        padding: 16px;
        border-radius: 16px;
    }
}

.tech-struc-card-thumb {
    border-radius: 16px;
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .tech-struc-card-thumb {
        border-radius: 12px;
    }
}

.tech-struc-card-content {
    margin-top: 32px;
}

@media screen and (max-width: 1199px) {
    .tech-struc-card-content {
        margin-top: 24px;
    }
}

.tech-struc-card-subtitle {
    color: hsl(var(--base));
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 5px;
    margin-bottom: 10px;
}

@media screen and (max-width: 1199px) {
    .tech-struc-card-subtitle {
        font-size: 14px;
    }
}

.tech-struc-card-desc {
    margin-top: 4px;
    color: hsl(var(--secondary));
}

.tech-plan-card {
    --plan-radius: 20px;
    height: 100%;
    background-color: hsl(var(--white));
    border-radius: var(--plan-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 1199px) {
    .tech-plan-card {
        --plan-radius: 16px;
    }
}

@media screen and (max-width: 575px) {
    .tech-plan-card {
        --plan-radius: 14px;
    }
}

.tech-plan-card-header {
    padding: 16px;
    background-color: hsl(var(--white));
    border-radius: var(--plan-radius);
    box-shadow: 0px 0px 4px 0px hsl(var(--black)/0.04), 0px 4px 8px 0px hsl(var(--black)/0.06);
}

.tech-plan-card-inner {
    position: relative;
    background-color: hsl(var(--section-bg));
    border-radius: 15px;
    padding: 24px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

@media screen and (max-width: 1199px) {
    .tech-plan-card-inner {
        border-radius: 12px;
        padding: 20px;
    }
}

@media screen and (max-width: 575px) {
    .tech-plan-card-inner {
        padding: 16px;
    }
}

.tech-plan-card.active .tech-plan-card-inner {
    background-color: hsl(var(--black));
}

.tech-plan-card-badge {
    font-size: 1rem;
    font-weight: 700;
    color: hsl(var(--base));
    letter-spacing: 5px;
    line-height: 1.6;
    margin-bottom: 7px;
}

.tech-plan-card-popular {
    position: absolute;
    top: 24px;
    right: 16px;
    border: 1px solid hsl(var(--white));
    border-radius: 6px;
    padding: 4px 11px;
    font-size: 14px;
    font-weight: 700;
    color: hsl(var(--white));
    line-height: 1.5;
    background: linear-gradient(31deg, transparent 0%, #7b61ff 35%, hsl(var(--base)) 65%, transparent 100%);
}

.tech-plan-card-info {
    flex: 1;
}

.tech-plan-card-title {
    font-size: clamp(1.375rem, 2vw, 1.75rem);
    font-weight: 700;
    line-height: 1.2;
    color: hsl(var(--heading-color));
    margin-bottom: 4px;
}

.tech-plan-card.active .tech-plan-card-title {
    color: hsl(var(--white));
}

.tech-plan-card-desc {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--secondary));
}

.tech-plan-card.active .tech-plan-card-desc {
    color: hsl(var(--light));
}

.tech-plan-card-price {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    margin-top: clamp(12px, 3vw, 24px);
}

.tech-plan-card-amount {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 700;
    line-height: 1.15;
    color: hsl(var(--heading-color));
}

.tech-plan-card.active .tech-plan-card-amount {
    color: hsl(var(--white));
}

.tech-plan-card-unit {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--secondary));
    padding-bottom: 6px;
}

.tech-plan-card.active .tech-plan-card-unit {
    color: hsl(var(--light));
}

.tech-plan-card-features {
    padding: 24px;
    flex-grow: 1;
}

@media screen and (max-width: 1199px) {
    .tech-plan-card-features {
        padding: 20px;
    }
}

@media screen and (max-width: 575px) {
    .tech-plan-card-features {
        padding: 16px;
    }
}

.tech-plan-card-features-title {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
    color: hsl(var(--heading-color));
    margin-bottom: 12px;
}

.tech-plan-card-features-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

@media screen and (max-width: 575px) {
    .tech-plan-card-features-list {
        gap: 16px;
    }
}

.tech-plan-card-features-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.125rem;
    font-weight: 400;
    color: hsl(var(--secondary));
    line-height: 1.2;
}

@media screen and (max-width: 1199px) {
    .tech-plan-card-features-list li {
        font-size: 1rem;
    }
}

.tech-plan-card-features-list li .icon-check-circle-fill {
    font-size: 1.125rem;
    color: hsl(var(--base));
    flex-shrink: 0;
}

@media (min-width: 992px) {

    .tech-cover-section .row>div:nth-child(2) .cover-card,
    .tech-cover-section .row>div:nth-child(5) .cover-card {
        margin-top: 32px;
    }
}

.mvp-banner .page-banner-title {
    -webkit-text-fill-color: unset;
}

.mvp-banner .page-banner-title span {
    display: block;
}

@media (min-width: 992px) {
    .mvp-banner .page-banner-content {
        text-align: left;
    }

    .mvp-banner .page-banner-desc {
        margin-left: 0;
        margin-bottom: 32px;
    }
}

.mvp-banner-btn {
    display: flex;
    gap: 24px;
    margin-bottom: 64px;
}

@media screen and (max-width: 991px) {
    .mvp-banner-btn {
        margin-block: 32px;
        justify-content: center;
    }
}

@media screen and (max-width: 424px) {
    .mvp-banner-btn {
        flex-direction: column;
    }

    .mvp-banner-btn .btn {
        justify-content: center;
    }
}

.mvp-banner-note {
    color: hsl(var(--base));
    font-size: 18px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: 5px;
    text-transform: uppercase;
}

.mvp-banner-flow {
    backdrop-filter: blur(10px);
    background: hsl(var(--white)/0.1);
    border-radius: 20px;
    overflow: hidden;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100%;
}

@media screen and (max-width: 1199px) {
    .mvp-banner-flow {
        padding: 24px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .mvp-banner-flow {
        max-width: 540px;
        margin: 0 auto;
    }
}

.mvp-flow-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-shrink: 0;
}

.mvp-flow-title {
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--white));
    letter-spacing: 5px;
    text-transform: uppercase;
    line-height: 1.2;
    margin: 0;
}

.mvp-flow-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
}

.mvp-flow-card {
    background: hsl(var(--white)/0.12);
    border-radius: 15px;
    overflow: hidden;
    flex: 1;
    min-height: 140px;
    cursor: pointer;
    transition: background-color 0.45s ease, color 0.45s ease;
    animation: mvpFlowCardBg 4.5s ease-in-out infinite;
    will-change: background;
}

.mvp-flow-card:nth-child(2) {
    animation-delay: 1.5s;
}

.mvp-flow-card:nth-child(2) .mvp-flow-card-inner {
    animation-delay: 1.5s;
}

.mvp-flow-card:nth-child(3) {
    animation-delay: 3s;
}

.mvp-flow-card:nth-child(3) .mvp-flow-card-inner {
    animation-delay: 3s;
}

@media screen and (max-width: 767px) {
    .mvp-flow-card {
        min-height: 120px;
    }
}

.mvp-flow-card-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 100%;
    padding: 20px;
    opacity: 0.3;
    transition: opacity 0.45s ease, color 0.45s ease;
    animation: mvpFlowCardContent 4.5s ease-in-out infinite;
    will-change: opacity;
}

.mvp-flow-card-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: hsl(var(--white));
    margin-bottom: 2px;
    transition: color 0.45s ease;
}

.mvp-flow-card-icon svg {
    width: 100%;
    height: 100%;
}

.mvp-flow-card-label {
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--white));
    letter-spacing: 5px;
    text-transform: uppercase;
    line-height: 1.2;
    transition: color 0.45s ease;
}

.mvp-flow-card-title {
    font-size: 28px;
    font-weight: 700;
    color: hsl(var(--white));
    line-height: 1.25;
    margin: 0;
    transition: color 0.45s ease;
}

@media screen and (max-width: 1199px) {
    .mvp-flow-card-title {
        font-size: 24px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-flow-card-title {
        font-size: 22px;
    }
}

@keyframes mvpFlowCardBg {

    0%,
    4%,
    28%,
    100% {
        background: hsl(var(--base));
    }

    36%,
    92% {
        background: hsl(var(--white)/0.12);
    }
}

@keyframes mvpFlowCardContent {

    0%,
    4%,
    28%,
    100% {
        opacity: 1;
    }

    36%,
    92% {
        opacity: 0.3;
    }
}

.mvp-process-wrapper {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border-radius: 15px;
    overflow: hidden;
    margin-top: 60px;
}

@media screen and (max-width: 1199px) {
    .mvp-process-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width: 767px) {
    .mvp-process-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 424px) {
    .mvp-process-wrapper {
        grid-template-columns: 1fr;
    }
}

.mvp-process-card {
    padding: 24px;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: hsl(var(--white));
    cursor: pointer;
    transition: background 0.35s ease;
}

.mvp-process-card:not(:last-child) {
    border-right: 1px solid hsl(var(--border-color));
}

@media screen and (min-width: 768px) and (max-width: 1199px) and (max-width: 1199px) {
    .mvp-process-card:nth-child(3) {
        border-right: 0;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {

    .mvp-process-card:nth-child(1),
    .mvp-process-card:nth-child(2),
    .mvp-process-card:nth-child(3) {
        border-bottom: 1px solid hsl(var(--border-color));
    }
}

@media (min-width: 425px) and (max-width: 767px) {
    .mvp-process-card {
        border-bottom: 1px solid hsl(var(--border-color));
    }
}

@media screen and (min-width: 425px) and (max-width: 767px) and (max-width: 1199px) {

    .mvp-process-card:nth-child(2),
    .mvp-process-card:nth-child(4) {
        border-right: 0;
    }
}

@media (min-width: 425px) and (max-width: 767px) {

    .mvp-process-card:last-child,
    .mvp-process-card:nth-last-child(2) {
        border-bottom: 0;
    }
}

@media screen and (max-width: 424px) {
    .mvp-process-card {
        border-right: 0 !important;
    }

    .mvp-process-card:not(:last-child) {
        border-bottom: 1px solid hsl(var(--border-color));
    }
}

.mvp-process-card:hover {
    background: hsl(var(--base));
}

.mvp-process-card:hover .mvp-process-num,
.mvp-process-card:hover .mvp-process-icon,
.mvp-process-card:hover .mvp-process-card-title,
.mvp-process-card:hover .mvp-process-card-desc {
    color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .mvp-process-card {
        min-height: 260px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-process-card {
        min-height: 200px;
    }
}

@media screen and (max-width: 424px) {
    .mvp-process-card {
        min-height: 160px;
    }
}

.mvp-process-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mvp-process-num {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    color: hsl(var(--heading-color));
    transition: color 0.35s ease;
}

.mvp-process-icon {
    font-size: 22px;
    color: hsl(var(--heading-color));
    transition: color 0.35s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mvp-process-card-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mvp-process-card-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    color: hsl(var(--heading-color));
    margin: 0;
    transition: color 0.35s ease;
}

@media screen and (max-width: 1199px) {
    .mvp-process-card-title {
        font-size: 22px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-process-card-title {
        font-size: 20px;
    }
}

.mvp-process-card-desc {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: hsl(var(--body-color));
    margin: 0;
    transition: color 0.35s ease;
}

@media screen and (max-width: 767px) {
    .mvp-process-card-desc {
        font-size: 14px;
    }
}

.mvp-report-info {
    padding: 24px;
    border-radius: 20px;
    border: 1px solid hsl(var(--white)/0.15);
    background-color: hsl(var(--white)/0.05);
    backdrop-filter: blur(10px);
}

@media screen and (max-width: 1399px) {
    .mvp-report-info {
        padding: 20px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 1199px) {
    .mvp-report-info {
        padding: 16px;
    }
}

@media screen and (max-width: 991px) {
    .mvp-report-info {
        border-radius: 12px;
    }
}

.mvp-report-info .count {
    color: hsl(var(--base));
    margin-bottom: 40px;
    line-height: 0.8;
}

.mvp-report-info .title {
    color: hsl(var(--light));
    line-height: 120%;
    letter-spacing: 5px;
    text-transform: uppercase;
    font-weight: 500;
}

@media screen and (max-width: 1399px) {
    .mvp-report-info .title {
        letter-spacing: 3px;
        font-size: 14px;
    }
}

.mvp-report {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 20px 0;
}

@media screen and (max-width: 991px) {
    .mvp-report {
        padding: 40px 0 0;
    }
}

.mvp-cycle-widget {
    position: relative;
    width: 100%;
    max-width: 527px;
    aspect-ratio: 1/1;
    margin: 0 auto;
}

@media screen and (max-width: 1599px) {
    .mvp-cycle-widget {
        max-width: 460px;
    }
}

@media screen and (max-width: 1199px) {
    .mvp-cycle-widget {
        max-width: 380px;
    }
}

@media screen and (max-width: 991px) {
    .mvp-cycle-widget {
        max-width: 460px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-cycle-widget {
        max-width: 360px;
    }
}

@media screen and (max-width: 424px) {
    .mvp-cycle-widget {
        max-width: 300px;
    }
}

.mvp-cycle-glow {
    position: absolute;
    border-radius: 250px;
    filter: blur(40px);
    opacity: 0.5;
    pointer-events: none;
    background: linear-gradient(23deg, hsl(var(--base)), hsl(var(--warning)));
}

.mvp-cycle-glow.glow-top-right {
    width: 26%;
    height: 11%;
    top: 10%;
    right: 12%;
}

.mvp-cycle-glow.glow-right {
    width: 28%;
    height: 11%;
    top: 54%;
    right: 3%;
}

.mvp-cycle-glow.glow-bottom-right {
    width: 26%;
    height: 11%;
    bottom: 6%;
    right: 16%;
}

.mvp-cycle-rings {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    border-radius: 50%;
    border: 1px dashed hsl(var(--secondary));
    animation: rotateFull 10s linear infinite;
}

.mvp-cycle-rings::after {
    content: "";
    position: absolute;
    inset: 20px;
    border: 1px dashed hsl(var(--secondary));
    border-radius: 50%;
}

.mvp-cycle-rings::before {
    content: "";
    position: absolute;
    inset: 40px;
    border: 2px solid transparent;
    border-top-color: hsl(var(--base));
    border-right-color: hsl(var(--base));
    border-radius: 50%;
    animation: rotateFull 10s linear infinite;
}

@keyframes rotateFull {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

.mvp-cycle-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 58%;
    pointer-events: none;
}

.mvp-cycle-label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: hsl(var(--base));
    letter-spacing: 5px;
    text-transform: uppercase;
    line-height: 1.2;
    margin-bottom: 10px;
}

@media screen and (max-width: 1199px) {
    .mvp-cycle-label {
        font-size: 11px;
        letter-spacing: 3px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-cycle-label {
        font-size: 10px;
        margin-bottom: 6px;
    }
}

.mvp-cycle-title {
    font-size: 56px;
    font-weight: 900;
    line-height: 0.92;
    color: hsl(var(--white));
    margin: 0;
}

@media screen and (max-width: 1599px) {
    .mvp-cycle-title {
        font-size: 48px;
    }
}


.mvp-cycle-title .mvp-cycle-muted {
    color: hsl(var(--body-color));
}

@media screen and (max-width: 1199px) {
    .mvp-cycle-title {
        font-size: 38px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-cycle-title {
        font-size: 30px;
    }
}

@media screen and (max-width: 424px) {
    .mvp-cycle-title {
        font-size: 24px;
    }
}

.mvp-cycle-badge {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 15px 7px 12px;
    border-radius: 250px;
    border: 1px solid transparent;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    transform: translate(-50%, -50%);
}

.mvp-cycle-badge.mvp-badge--dark {
    background: hsl(var(--black));
    color: hsl(var(--white));
    border-color: hsl(var(--white)/0.2);
}

.mvp-cycle-badge.mvp-badge--light {
    background: hsl(var(--white));
    color: hsl(var(--heading-color));
    border-color: hsl(var(--border-color));
}

.mvp-cycle-badge .mvp-badge-icon {
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: hsl(var(--base));
    flex-shrink: 0;
}

@media screen and (max-width: 1199px) {
    .mvp-cycle-badge {
        font-size: 13px;
        padding: 6px 12px 6px 10px;
        gap: 6px;
    }

    .mvp-cycle-badge .mvp-badge-icon {
        font-size: 15px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-cycle-badge {
        font-size: 11px;
        padding: 5px 10px 5px 8px;
        gap: 5px;
    }

    .mvp-cycle-badge .mvp-badge-icon {
        font-size: 13px;
    }
}

@media screen and (max-width: 424px) {
    .mvp-cycle-badge {
        font-size: 10px;
        padding: 4px 9px 4px 7px;
    }

    .mvp-cycle-badge .mvp-badge-icon {
        font-size: 12px;
    }
}

.mvp-badge--idea {
    top: 3%;
    left: 50%;
}

.mvp-badge--build {
    top: 26.5%;
    left: 90.7%;
}

.mvp-badge--product {
    top: 73.5%;
    left: 90.7%;
}

.mvp-badge--measure {
    top: 97%;
    left: 50%;
}

.mvp-badge--data {
    top: 73.5%;
    left: 9.3%;
}

.mvp-badge--learn {
    top: 26.5%;
    left: 9.3%;
}

.mvp-scalable .section-heading {
    margin-bottom: 60px;
}

.mvp-scalable-top {
    margin-bottom: 40px;
}

.mvp-scalable-card {
    height: 100%;
    padding: 24px;
    border-radius: 20px;
    border: 1px solid hsl(var(--white));
    background: hsl(var(--white)/0.61);
    backdrop-filter: blur(11px);
}

@media screen and (max-width: 1399px) {
    .mvp-scalable-card {
        padding: 22px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-scalable-card {
        padding: 20px;
        border-radius: 16px;
    }
}

.mvp-scalable-card-label {
    display: inline-block;
    margin-bottom: 18px;
    color: hsl(var(--base));
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 5px;
    text-transform: uppercase;
}

@media screen and (max-width: 767px) {
    .mvp-scalable-card-label {
        font-size: 14px;
        letter-spacing: 4px;
    }
}

.mvp-scalable-card-title {
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid hsl(var(--border-color));
    color: hsl(var(--heading-color));
    font-size: 32px;
    font-weight: 700;
    line-height: 1.15;
}

@media screen and (max-width: 1399px) {
    .mvp-scalable-card-title {
        font-size: 28px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-scalable-card-title {
        font-size: 24px;
        margin-bottom: 18px;
        padding-bottom: 16px;
    }
}

.mvp-scalable-card-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mvp-scalable-card-list li {
    position: relative;
    padding-left: 18px;
    color: hsl(var(--heading-color));
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
}

.mvp-scalable-card-list li::before {
    content: "✦";
    position: absolute;
    top: 0;
    left: 0;
    color: hsl(var(--base));
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .mvp-scalable-card-list li {
        font-size: 16px;
    }
}

.mvp-growth-engine {
    padding: 24px;
    border-radius: 20px;
    border: 1px solid hsl(var(--base));
    background: hsl(var(--white)/0.61);
    backdrop-filter: blur(11px);
}

@media screen and (max-width: 1399px) {
    .mvp-growth-engine {
        padding: 22px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-growth-engine {
        padding: 20px;
        border-radius: 16px;
    }
}

.mvp-growth-engine-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

@media screen and (max-width: 1199px) {
    .mvp-growth-engine-header {
        flex-direction: column;
        align-items: flex-start;
    }
}

.mvp-growth-engine-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mvp-growth-engine-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: hsl(var(--base));
    font-size: 22px;
    flex-shrink: 0;
}

@media screen and (max-width: 767px) {
    .mvp-growth-engine-icon {
        font-size: 20px;
    }
}

.mvp-growth-engine-title {
    margin: 0;
    color: hsl(var(--heading-color));
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
}

@media screen and (max-width: 1199px) {
    .mvp-growth-engine-title {
        font-size: 22px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-growth-engine-title {
        font-size: 20px;
    }
}

.mvp-growth-engine-label {
    color: hsl(var(--base));
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 5px;
    text-transform: uppercase;
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .mvp-growth-engine-label {
        font-size: 14px;
        letter-spacing: 4px;
    }
}

.mvp-growth-stage {
    height: 100%;
    padding: 18px;
    border-radius: 15px;
    border: 1px solid hsl(var(--border-color));
    background-color: hsl(var(--white));
}

@media screen and (max-width: 767px) {
    .mvp-growth-stage {
        padding: 16px;
        border-radius: 12px;
    }
}

.mvp-growth-stage-code {
    display: inline-block;
    margin-bottom: 12px;
    color: hsl(var(--base));
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 5px;
    text-transform: uppercase;
}

@media screen and (max-width: 767px) {
    .mvp-growth-stage-code {
        font-size: 14px;
        letter-spacing: 4px;
    }
}

.mvp-growth-stage-title {
    margin-bottom: 4px;
    color: hsl(var(--heading-color));
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
}

@media screen and (max-width: 1199px) {
    .mvp-growth-stage-title {
        font-size: 22px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-growth-stage-title {
        font-size: 20px;
    }
}

.mvp-growth-stage-desc {
    margin-bottom: 0;
    color: hsl(var(--body-color));
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
}

@media screen and (max-width: 767px) {
    .mvp-growth-stage-desc {
        font-size: 16px;
    }
}

.mvp-tech-section .section-heading {
    margin-bottom: 60px;
}

.mvp-tech-grid {
    border-radius: 20px;
    overflow: hidden;
    background-color: hsl(var(--white));
}

@media screen and (max-width: 767px) {
    .mvp-tech-grid {
        border-radius: 16px;
    }
}

.mvp-tech-grid>[class*=col-]:not(:nth-child(3n)) .mvp-tech-card {
    border-right: 1px solid hsl(var(--border-color));
}

.mvp-tech-grid>[class*=col-]:nth-child(-n+3) .mvp-tech-card {
    border-bottom: 1px solid hsl(var(--border-color));
}

@media screen and (max-width: 991px) {
    .mvp-tech-grid>[class*=col-]:nth-child(2n) .mvp-tech-card {
        border-right: 0;
    }

    .mvp-tech-grid>[class*=col-]:not(:nth-child(2n)) .mvp-tech-card {
        border-right: 1px solid hsl(var(--border-color));
    }

    .mvp-tech-grid>[class*=col-]:nth-child(-n+4) .mvp-tech-card {
        border-bottom: 1px solid hsl(var(--border-color));
    }

    .mvp-tech-grid>[class*=col-]:nth-child(n+5) .mvp-tech-card {
        border-bottom: 0;
    }
}

@media screen and (max-width: 767px) {
    .mvp-tech-grid>[class*=col-] .mvp-tech-card {
        border-right: 0 !important;
        border-bottom: 1px solid hsl(var(--border-color)) !important;
    }

    .mvp-tech-grid>[class*=col-]:last-child .mvp-tech-card {
        border-bottom: 0 !important;
    }
}

.mvp-tech-card {
    min-height: 200px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .mvp-tech-card {
        min-height: 180px;
    }
}

@media screen and (max-width: 767px) {
    .mvp-tech-card {
        min-height: auto;
        padding: 20px;
    }
}

.mvp-tech-card-label {
    color: hsl(var(--base));
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 5px;
    text-transform: uppercase;
    display: inline-block;
}

@media screen and (max-width: 767px) {
    .mvp-tech-card-label {
        font-size: 14px;
        letter-spacing: 4px;
    }
}

.mvp-tech-card-logos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 40px;
}

@media screen and (max-width: 767px) {
    .mvp-tech-card-logos {
        gap: 18px;
        margin-top: 32px;
    }
}

.mvp-tech-card-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mvp-tech-card-logo img {
    height: 30px;
    width: auto;
    object-fit: contain;
}

@media (min-width: 992px) {
    .mvp-scalable .row>div:nth-child(2) .mvp-scalable-card {
        margin-top: -24px;
    }
}

.qa-overview .section-heading {
    margin-bottom: 0;
}

.qa-overview .section-heading-title {
    max-width: 624px;
    margin-bottom: 0;
}

.qa-overview-content {
    max-width: 624px;
}

.qa-overview-muted {
    color: hsl(var(--body-color));
}

.qa-overview-desc {
    max-width: 536px;
    font-size: 18px;
    line-height: 1.6;
    color: hsl(var(--heading-color));
    margin-top: 24px;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .qa-overview-desc {
        font-size: 16px;
    }
}

.qa-overview-card {
    background-color: hsl(var(--white));
    border-radius: 20px;
    padding: 24px;
    min-height: 154px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media screen and (max-width: 1199px) {
    .qa-overview-card {
        border-radius: 16px;
    }
}

@media screen and (max-width: 991px) {
    .qa-overview-card {
        min-height: 100%;
    }
}

@media screen and (max-width: 767px) {
    .qa-overview-card {
        border-radius: 12px;
        padding: 20px;
        gap: 12px;
    }
}

.qa-overview-card__title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    color: hsl(var(--base));
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .qa-overview-card__title {
        font-size: 22px;
    }
}

.qa-overview-card__desc {
    font-size: 16px;
    line-height: 1.6;
    color: hsl(var(--heading-color));
    margin-bottom: 0;
    max-width: 264px;
}

.qa-test-section {
    position: relative;
    z-index: 1;
    background-color: hsl(var(--dark));
    border-radius: 0 0 40px 40px;
}

@media screen and (max-width: 1399px) {
    .qa-test-section {
        border-radius: 0 0 32px 32px;
    }
}

@media screen and (max-width: 1199px) {
    .qa-test-section {
        border-radius: 0 0 24px 24px;
    }
}

@media screen and (max-width: 575px) {
    .qa-test-section {
        border-radius: 0 0 20px 20px;
    }
}

.qa-test-section::after,
.qa-test-section::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: clamp(9.375rem, -187.3587rem + 262.3116vw, 42rem);
    height: 100%;
    background-image: linear-gradient(to right, hsl(var(--base)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--base)) 1px, transparent 1px);
    background-size: 20px 20px;
    mask-image: radial-gradient(ellipse 70% 90% at 100% 50%, hsl(var(--black)) 30%, transparent 70%);
    opacity: 0.125;
    z-index: -1;
}

.qa-test-section::after {
    right: auto;
    transform: scale(-1);
    left: 0;
}

.qa-test-section .section-heading .text {
    --overlay-bg: hsl(var(--dark)) !important;
}

.qa-test-activity {
    height: 320px;
    position: relative;
    overflow: hidden;
}

.qa-choose-section .section-heading {
    margin-bottom: 40px;
}

@media screen and (max-width: 1199px) {
    .qa-choose-section .section-heading {
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 767px) {
    .qa-choose-section .section-heading {
        margin-bottom: 24px;
    }
}

.qa-choose-card {
    background-color: hsl(var(--white));
    border-radius: 20px;
    padding: 24px;
    height: 100%;
    align-items: flex-start;
}

@media screen and (max-width: 1199px) {
    .qa-choose-card {
        border-radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .qa-choose-card {
        border-radius: 12px;
        padding: 20px;
    }
}

.qa-choose-card__icon {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: hsl(var(--base));
    flex-shrink: 0;
    margin-bottom: 64px;
}

@media screen and (max-width: 1199px) {
    .qa-choose-card__icon {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 767px) {
    .qa-choose-card__icon {
        margin-bottom: 32px;
    }
}

.qa-choose-card__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.qa-choose-card__title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    color: hsl(var(--black));
    margin-bottom: 4px;
}

@media screen and (max-width: 767px) {
    .qa-choose-card__title {
        font-size: 22px;
    }
}

.qa-choose-card__desc {
    font-size: 16px;
    line-height: 1.6;
    color: hsl(var(--body-color));
    margin-bottom: 0;
    max-width: 326px;
}

.mb-80 {
    margin-bottom: 80px;
}

@media screen and (max-width: 1199px) {
    .mb-80 {
        margin-bottom: 60px;
    }
}

@media screen and (max-width: 767px) {
    .mb-80 {
        margin-bottom: 40px;
    }
}

.timeline-page-banner .page-banner-desc {
    max-width: 100%;
}

.timeline-page {
    --fs: 90px;
    --radius: 20px;
    --gap: 50px;
    --overlay-w: 312px;
    position: relative;
}

.timeline-page::after {
    content: "";
    position: absolute;
    height: 100%;
    width: var(--overlay-w);
    background-color: hsl(var(--base));
    mix-blend-mode: multiply;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (max-width: 991px) {
    .timeline-page::after {
        left: auto;
        right: 0;
        transform: unset;
    }
}

@media screen and (max-width: 1399px) {
    .timeline-page {
        --fs: 84px;
        --gap: 40px;
        --overlay-w: 290px;
    }
}

@media screen and (max-width: 1199px) {
    .timeline-page {
        --fs: 72px;
        --radius: 16px;
        --overlay-w: 260px;
    }
}

@media screen and (max-width: 991px) {
    .timeline-page {
        --fs: 60px;
        --gap: 32px;
        --overlay-w: 90px;
    }
}

@media screen and (max-width: 575px) {
    .timeline-page {
        --fs: 48px;
        --radius: 12px;
        --gap: 24px;
        --overlay-w: 60px;
    }
}

.timeline-banner .title {
    font-size: var(--fs);
    font-weight: 900;
    color: hsl(var(--base));
}

.timeline-banner .thumb {
    border-radius: var(--radius);
    overflow: hidden;
}

@media (min-width: 992px) {
    .timeline:nth-child(even) .row {
        flex-direction: row-reverse;
    }

    .timeline:nth-child(even) .timeline-content-wrapper {
        text-align: left;
        flex-direction: row-reverse;
        padding-left: var(--gap);
        padding-right: 0;
    }
}

.timeline-content-wrapper {
    display: flex;
    align-items: center;
    gap: var(--gap);
    text-align: right;
    padding-right: var(--gap);
}

@media screen and (max-width: 991px) {
    .timeline-content-wrapper {
        padding-right: 0;
        margin-bottom: 32px;
    }
}

.timeline-content .desc {
    font-size: 18px;
    color: hsl(var(--black));
    line-height: 160%;
}

@media screen and (max-width: 1199px) {
    .timeline-content .desc {
        font-size: 16px;
    }
}

.timeline-year {
    font-size: var(--fs);
    flex-shrink: 0;
    line-height: 80%;
    color: hsl(var(--white));
    position: relative;
    z-index: 2;
}

.timeline-thumb {
    border-radius: var(--radius);
    overflow: hidden;
}

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


/* Fancy Reset CSS Starts */
.fancybox-slide--iframe .fancybox-content {
    width: 80%;
    aspect-ratio: 2/1;
    height: unset;
    max-width: unset;
    max-height: unset;
}

@media screen and (max-width: 767px) {
    .fancybox-slide--iframe .fancybox-content {
        width: calc(100% - 24px);
    }
}

/* Fancy Reset CSS Ends */

.four-0-four {
    width: 100%;
    height: 100dvh;
    display: flex;
    position: relative;
    z-index: 1;
    padding: 32px;
    gap: 32px;
    padding-bottom: 0px !important;
    overflow: hidden;
}

@media screen and (max-width: 1599px) {
    .four-0-four {
        gap: 24px;
        padding: 24px;
    }
}

@media screen and (max-width: 1399px) {
    .four-0-four {
        height: unset;
        min-height: 100dvh;
        flex-direction: column;
        gap: 64px 32px;
        padding-top: 80px !important;
    }
}

@media screen and (max-width: 767px) {
    .four-0-four {
        padding-top: 60px !important;
    }
}

@media screen and (max-width: 575px) {
    .four-0-four {
        padding: 16px;
        padding-top: 40px;
    }
}

.four-0-four:before {
    content: '';
    width: 100%;
    height: 100%;
    display: inline-block;
    position: absolute;
    inset: 0px;
    background-color: hsl(224, 71%, 4%, 80%);
    backdrop-filter: blur(5px);
}

.four-0-four-left {
    width: 46%;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

@media screen and (max-width: 1599px) {
    .four-0-four-left {
        width: 40%;
    }
}

@media screen and (max-width: 1399px) {
    .four-0-four-left {
        width: 100%;
        flex-grow: unset;
    }
}

.four-0-four-left__bg {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    position: absolute;
    inset: 0px;
    z-index: -1;
}

@media screen and (max-width: 1399px) {
    .four-0-four-left__bg {
        max-width: 1200px;
        margin-inline: auto;
    }
}

.four-0-four-right {
    width: 54%;
    flex-grow: 1;
}

@media screen and (max-width: 1599px) {
    .four-0-four-right {
        width: 60%;
    }
}

@media screen and (max-width: 1399px) {
    .four-0-four-right {
        width: 100%;
        flex-grow: unset;
        margin-top: auto;
    }
}

.four-0-four-content {
    text-align: center;
    position: relative;
}

.four-0-four-content__arrow {
    max-width: 140px;
    position: absolute;
    display: block;
    object-fit: cover;
    transform: rotate(-45deg);
    top: -80px;
    right: -20px;
}

@media screen and (max-width: 1899px) {
    .four-0-four-content__arrow {
        max-width: 120px;
        right: 0px;
    }
}

@media screen and (max-width: 1399px) {
    .four-0-four-content__arrow {
        display: none;
    }
}

.four-0-four-content__title {
    max-width: 780px;
    color: #F1FCF5;
    font-size: clamp(2.5rem, 0.6497rem + 5.1398vw, 6.75rem);
    font-weight: 900;
    line-height: 100%;
    margin-bottom: 46px;
    position: relative;
}

@media screen and (max-width: 1399px) {
    .four-0-four-content__title {
        max-width: 100%;
    }
}

.four-0-four-content__title:after {
    content: '';
    width: 100%;
    max-width: 686px;
    height: 1px;
    display: inline-block;
    background: linear-gradient(90deg, rgba(46, 204, 113, 0.00) 0%, hsl(var(--base)) 50%, rgba(46, 204, 113, 0.00) 100%);
    position: absolute;
    left: 50%;
    bottom: -24px;
    transform: translateX(-50%);
}

.four-0-four-content__desc {
    max-width: 685px;
    color: #FFF;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    margin-inline: auto;
}

@media screen and (max-width: 1599px) {
    .four-0-four-content__desc {
        font-size: 18px;
    }
}

@media screen and (max-width: 575px) {
    .four-0-four-content__desc {
        font-size: 16px;
    }
}

.four-0-four-content__btns {
    width: fit-content;
    margin-top: 40px;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 40px;
    margin-inline: auto;
}

.four-0-four-content__btns .btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

@media screen and (max-width: 767px) {
    .four-0-four-content__btns {
        margin-top: 32px;
    }
}

@media screen and (max-width: 575px) {
    .four-0-four-content__btns {
        width: 100%;
        flex-direction: column;
        margin-top: 24px;
    }

    .four-0-four-content__btns>.btn {
        width: 100%;
        flex-grow: 1;
    }
}

.four-0-four-content__btns .btn>svg {
    width: 20px;
    height: 20px;
}

.four-0-four-thumb {
    width: 100%;
    height: 100%;
    display: block;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25), 0 -460px 129px 0 rgba(46, 204, 113, 0.00), 0 -295px 118px 0 rgba(46, 204, 113, 0.02), 0 -166px 99px 0 rgba(46, 204, 113, 0.08), 0 -74px 74px 0 rgba(46, 204, 113, 0.13), 0 -18px 41px 0 rgba(46, 204, 113, 0.15);
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1399px) {
    .four-0-four-thumb {
        max-width: 1000px;
        aspect-ratio: 2/1;
        margin-inline: auto;
    }
}

@media screen and (max-width: 767px) {
    .four-0-four-thumb {
        aspect-ratio: unset;
    }
}

.four-0-four-thumb:before {
    content: '';
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    display: inline-block;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    background-color: hsl(145, 63%, 49%, 20%);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

@media screen and (max-width: 575px) {
    .four-0-four-thumb:before {
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }
}


.four-0-four-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: top;
}

/* ============================ Account status pages ============================ */
.account-status {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
    background-color: hsl(var(--light-bg));
}

.account-status-inner {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
}

.account-status-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 28px;
    color: hsl(var(--heading-color));
}

.account-status-logo svg {
    height: 44px;
    width: auto;
}

.account-status-card {
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--black)/0.06);
    border-radius: 20px;
    box-shadow: 0 12px 40px 0 hsl(var(--black)/0.08);
    padding: 48px 40px;
    text-align: center;
}

@media screen and (max-width: 575px) {
    .account-status-card {
        padding: 32px 24px;
    }
}

.account-status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background-color: hsl(var(--base)/0.08);
    margin-bottom: 24px;
}

.account-status-card--danger .account-status-icon {
    background-color: hsl(var(--danger)/0.10);
}

.account-status-card--info .account-status-icon {
    background-color: hsl(var(--info)/0.10);
}

.account-status-title {
    margin-bottom: 12px;
    font-size: 1.75rem;
}

.account-status-desc {
    color: hsl(var(--secondary));
    font-size: 1.125rem;
    margin-bottom: 24px;
}

/* Highlighted reason / detail box (e.g. ban reason) */
.account-status-reason {
    text-align: left;
    background-color: hsl(var(--light-bg));
    border: 1px solid hsl(var(--black)/0.06);
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 24px;
}

.account-status-reason-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: hsl(var(--danger));
    margin-bottom: 6px;
}

.account-status-reason-body {
    color: hsl(var(--body-color));
    font-size: 1rem;
}

.account-status-note {
    color: hsl(var(--body-color));
    font-size: 1rem;
    margin-bottom: 8px;
}

/* Left-aligned wrapper for forms placed inside the card (verify code, profile info) */
.account-status-form {
    text-align: left;
    margin-top: 8px;
}

.account-status-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 28px;
}

.account-status-footer {
    text-align: center;
    margin-top: 24px;
    font-size: 1rem;
    color: hsl(var(--body-color));
}

.account-status-footer a {
    color: hsl(var(--heading-color));
    font-weight: 700;
}

.account-status-footer a:hover {
    text-decoration: underline;
}

/* Verification code input used inside the account-status card */
.account-status-code {
    height: 72px;
    font-size: 2.5rem;
    letter-spacing: 10px;
    text-align: center;
    font-weight: 700;
    padding-inline: 12px;
}

@media screen and (max-width: 575px) {
    .account-status-code {
        height: 60px;
        font-size: 2rem;
        letter-spacing: 6px;
    }
}

/* Wider account-status card for form-heavy pages (e.g. profile information) */
.account-status-inner--wide {
    max-width: 760px;
}

.account-status-form .form-group {
    margin-bottom: 20px;
}

.account-status-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: hsl(var(--heading-color));
}

/* Phone field: dial-code select + number input sitting flush, side by side */
.account-status-phone {
    display: flex;
    align-items: stretch;
}

.account-status-phone .account-status-phone-code {
    width: auto;
    flex: 0 0 auto;
    max-width: 132px;
    padding-inline: 12px;
    cursor: pointer;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0;
}

.account-status-phone .account-status-phone-number {
    flex: 1 1 auto;
    min-width: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* ============================ User dashboard ============================ */
.dash-stat {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--black)/0.06);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 24px 0 hsl(var(--black)/0.04);
    transition: transform .25s ease, box-shadow .25s ease;
}

.dash-stat:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px 0 hsl(var(--black)/0.10);
}

.dash-stat-icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background-color: hsl(var(--base)/0.10);
    color: hsl(var(--base));
    font-size: 26px;
    margin-bottom: 20px;
}

.dash-stat-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    color: hsl(var(--heading-color));
}

.dash-stat-label {
    margin-top: 4px;
    color: hsl(var(--body-color));
    font-weight: 500;
}

.dash-stat-link {
    margin-top: 18px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: hsl(var(--base));
    font-weight: 600;
    font-size: .95rem;
    transition: gap .2s ease;
}

.dash-stat:hover .dash-stat-link {
    gap: 10px;
}

.dash-panel {
    height: 100%;
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--black)/0.06);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 24px 0 hsl(var(--black)/0.04);
}

.dash-panel--tint {
    background-color: hsl(var(--base)/0.06);
    border-color: hsl(var(--base)/0.15);
    box-shadow: none;
}

.dash-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-bottom: 20px;
}

.dash-panel-head .dash-panel-link {
    white-space: nowrap;
}

.dash-panel-head>div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

@media screen and (max-width: 575px) {
    .dash-panel-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .dash-panel-head>div {
        width: 100%;
    }
}

.dash-panel-title {
    font-size: 1.25rem;
    margin: 0;
}

.dash-panel-link {
    color: hsl(var(--base));
    font-weight: 600;
    font-size: .95rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.dash-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dash-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background-color: hsl(var(--light-bg));
    color: hsl(var(--heading-color));
    font-weight: 500;
    transition: background-color .2s ease, color .2s ease;
}

.dash-link:hover {
    background-color: hsl(var(--base)/0.10);
    color: hsl(var(--base));
}

.dash-link-ico {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: hsl(var(--white));
    color: hsl(var(--base));
    font-size: 18px;
}

.dash-link-arrow {
    margin-left: auto;
}

.dash-lastlogin-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: hsl(var(--base));
    margin-bottom: 8px;
}

.dash-lastlogin-text {
    color: hsl(var(--body-color));
    font-size: .95rem;
    margin: 0;
}

/* Highlighted "Get Support" card on the dashboard */
.dash-support {
    display: flex;
    align-items: center;
    gap: 16px;
    height: 100%;
    padding: 24px;
    border-radius: 16px;
    background: linear-gradient(135deg, hsl(var(--base)), hsl(var(--base)/0.82));
    color: hsl(var(--white));
    box-shadow: 0 10px 28px 0 hsl(var(--base)/0.30);
    transition: transform .25s ease, box-shadow .25s ease;
}

.dash-support:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 38px 0 hsl(var(--base)/0.42);
    color: hsl(var(--white));
}

.dash-support-icon {
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: hsl(var(--white)/0.18);
    color: hsl(var(--white));
}

.dash-support-body {
    display: flex;
    flex-direction: column;
    margin-right: auto;
}

.dash-support-title {
    font-weight: 700;
    font-size: 1.15rem;
    line-height: 1.25;
}

.dash-support-text {
    font-size: .9rem;
    opacity: .85;
}

.dash-support-arrow {
    flex: 0 0 auto;
    transition: transform .2s ease;
}

.dash-support:hover .dash-support-arrow {
    transform: translateX(4px);
}

/* ============================ User profile page ============================ */
.profile-summary {
    text-align: center;
    height: auto;
    position: sticky;
    top: 24px;
}

.profile-actions {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid hsl(var(--black)/0.06);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.profile-signout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: hsl(var(--danger));
    font-weight: 600;
}

.profile-signout:hover {
    color: hsl(var(--danger));
    text-decoration: underline;
}

.profile-name {
    font-size: 1.4rem;
    margin: 0 0 2px;
}

.profile-username {
    color: hsl(var(--body-color));
    font-size: .95rem;
}

.profile-info-list {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
    text-align: left;
}

.profile-info-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid hsl(var(--black)/0.06);
}

.profile-info-list .caption {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: hsl(var(--body-color));
    font-size: .95rem;
    white-space: nowrap;
}

.profile-info-list .caption svg {
    color: hsl(var(--base));
    flex: 0 0 auto;
}

.profile-info-list .details {
    font-weight: 600;
    color: hsl(var(--heading-color));
    text-align: right;
    word-break: break-word;
}

.profile-section-title {
    font-size: 1.2rem;
    margin-bottom: 18px;
}

.profile-section-title small {
    font-weight: 400;
    color: hsl(var(--body-color));
}

.profile-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: hsl(var(--heading-color));
}

.profile-form .form-group {
    margin-bottom: 20px;
}

.profile-icon-field {
    position: relative;
}

.profile-icon-field svg {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: hsl(var(--body-color));
    pointer-events: none;
}

.profile-icon-field .form--control {
    padding-left: 44px;
}

.trx-table td:nth-child(1),
.trx-table td:nth-child(2),
.trx-table td:nth-child(4),
.trx-table td:nth-child(5) {
    white-space: nowrap;
}

.trx-table th:nth-child(4),
.trx-table td:nth-child(4) {
    text-align: right;
}

.trx-amount {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.trx-amount svg {
    flex: 0 0 auto;
}

.trx-table tbody tr:hover {
    background-color: hsl(var(--base)/0.03);
}

.cell-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

/* ---- Pagination (website / user pages) ---- */
.pagination.pagination-tsk {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pagination.pagination-tsk .page-item .page-link {
    min-width: 42px;
    height: 42px;
    margin: 0;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid hsl(var(--black)/0.08);
    background-color: hsl(var(--white));
    color: hsl(var(--heading-color));
    font-weight: 600;
    line-height: 1;
    transition: all .2s ease;
}

.pagination.pagination-tsk .page-item .page-link:hover {
    border-color: hsl(var(--base));
    color: hsl(var(--base));
}

.pagination.pagination-tsk .page-item.active .page-link {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white));
    box-shadow: 0 6px 16px 0 hsl(var(--base)/0.30);
}

.pagination.pagination-tsk .page-item.disabled .page-link {
    opacity: .45;
    pointer-events: none;
}

/* ============================ Deposit / Add funds ============================ */
.deposit-balance {
    color: hsl(var(--body-color));
    font-size: .95rem;
    white-space: nowrap;
}

.deposit-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: hsl(var(--heading-color));
}

.deposit-form .form-group {
    margin-bottom: 20px;
}

.deposit-limit {
    color: hsl(var(--warning));
    font-weight: 600;
    font-size: .9rem;
    margin: -8px 0 20px;
}

.deposit-amount {
    display: flex;
    align-items: stretch;
}

.deposit-amount .form--control {
    flex: 1 1 auto;
    min-width: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0;
}

.deposit-amount-suffix {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: 0 18px;
    border: 1px solid hsl(var(--section-bg));
    border-left: 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
    background-color: hsl(var(--light-bg));
    font-weight: 600;
    color: hsl(var(--heading-color));
}

.deposit-preview {
    background-color: hsl(var(--light-bg));
    border: 1px solid hsl(var(--black)/0.06);
    border-radius: 12px;
    padding: 8px 20px;
    margin-bottom: 20px;
}

.deposit-preview-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.deposit-preview-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    color: hsl(var(--body-color));
}

.deposit-preview-list .value {
    font-weight: 600;
    color: hsl(var(--heading-color));
}

.deposit-total {
    border-top: 1px dashed hsl(var(--black)/0.18);
    margin-top: 4px;
}

.deposit-total .caption,
.deposit-total .value {
    font-weight: 700;
    color: hsl(var(--heading-color));
    font-size: 1.05rem;
}

.deposit-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 8px 0 24px;
}

.deposit-check .form-check-input {
    margin-top: 3px;
    flex: 0 0 auto;
}

.deposit-check .form-check-input:checked {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
}

.deposit-check label {
    color: hsl(var(--body-color));
    font-size: .95rem;
    cursor: pointer;
}

/* Invoice table: all columns are short, keep each on one line */
.inv-table td {
    white-space: nowrap;
}

/* ============================ Infrastructure details ============================ */
.infra-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: hsl(var(--heading-color));
}

.infra-form .form-group {
    margin-bottom: 16px;
}

.infra-pass-toggle {
    cursor: pointer;
    border: 0;
    margin-left: 8px;
}

.infra-disabled {
    position: relative;
}

.infra-disabled::before {
    position: absolute;
    content: 'DNS management is not available for this domain';
    inset: 0;
    background-color: hsl(var(--black)/0.75);
    color: hsl(var(--white));
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 2;
    padding: 24px;
    border-radius: 16px;
    font-size: 1.1rem;
}

/* Premium detail cards (infrastructure details) */
.dash-head-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dash-head-icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: hsl(var(--base)/0.10);
    color: hsl(var(--base));
}

.infra-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.infra-tile {
    background-color: hsl(var(--light-bg));
    border: 1px solid hsl(var(--black)/0.05);
    border-radius: 12px;
    padding: 14px 16px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.infra-tile:hover {
    border-color: hsl(var(--base)/0.30);
    box-shadow: 0 6px 18px 0 hsl(var(--black)/0.05);
}

.infra-tile--full {
    grid-column: 1 / -1;
}

.infra-tile-label {
    display: block;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: hsl(var(--body-color));
    margin-bottom: 6px;
}

.infra-tile-value {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.05rem;
    font-weight: 700;
    color: hsl(var(--heading-color));
    word-break: break-word;
}

@media screen and (max-width: 575px) {
    .infra-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================ Support ticket details ============================ */
.ticket-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background-color: hsl(var(--warning)/0.08);
    border: 1px solid hsl(var(--warning)/0.25);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 20px;
    color: hsl(var(--body-color));
    font-size: .95rem;
}

.ticket-notice svg {
    flex: 0 0 auto;
    color: hsl(var(--warning));
    margin-top: 2px;
}

.ticket-thread {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ticket-msg {
    border: 1px solid hsl(var(--black)/0.06);
    border-radius: 16px;
    padding: 20px;
    background-color: hsl(var(--light-bg));
}

.ticket-msg--staff {
    background-color: hsl(var(--base)/0.06);
    border-color: hsl(var(--base)/0.18);
}

.ticket-msg-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid hsl(var(--black)/0.08);
}

.ticket-msg--staff .ticket-msg-head {
    border-bottom-color: hsl(var(--base)/0.20);
}

.ticket-msg-avatar {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .9rem;
    background-color: hsl(var(--white));
    color: hsl(var(--body-color));
    border: 1px solid hsl(var(--black)/0.08);
}

.ticket-msg--staff .ticket-msg-avatar {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-color: transparent;
}

.ticket-msg-who {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
    flex: 1 1 auto;
    min-width: 0;
}

.ticket-msg-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-weight: 700;
    color: hsl(var(--heading-color));
    word-break: normal;
    overflow-wrap: normal;
}

.ticket-msg-email {
    font-size: .82rem;
    color: hsl(var(--body-color));
    word-break: normal;
    overflow-wrap: break-word;
}

.ticket-msg-date {
    margin-left: auto;
    flex: 0 0 auto;
    font-size: .82rem;
    color: hsl(var(--body-color));
    white-space: nowrap;
}

.ticket-msg-body {
    color: hsl(var(--heading-color));
    font-size: 1.05rem;
    line-height: 1.7;
    word-break: break-word;
}

.ticket-msg-body ul {
    list-style: disc;
    padding-left: 26px;
}

.ticket-msg-body ol {
    list-style: decimal;
    padding-left: 26px;
}

.ticket-msg-body blockquote {
    font-size: 1rem;
    color: hsl(var(--body-color));
    padding: 10px 16px;
    margin: 12px 0;
    background-color: hsl(var(--base)/0.08);
    border-left: 4px solid hsl(var(--base));
    border-radius: 0 8px 8px 0;
}

.ticket-msg-body pre {
    padding: 12px 16px;
    border-radius: 10px;
    background-color: hsl(var(--base)/0.08);
    border: 1px solid hsl(var(--base)/0.25);
    overflow-x: auto;
}

.ticket-msg-body code {
    font-size: .875em;
    color: hsl(var(--danger));
    word-wrap: break-word;
}

.ticket-msg-attachments {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed hsl(var(--black)/0.12);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ticket-attachment {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 10px;
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--black)/0.08);
    color: hsl(var(--heading-color));
    font-size: .9rem;
    font-weight: 500;
}

.ticket-attachment:hover {
    border-color: hsl(var(--base));
    color: hsl(var(--base));
}

.ticket-attachment svg {
    color: hsl(var(--base));
    flex: 0 0 auto;
}

/* Reply composer: custom file-upload tiles (native input hidden inside) */
.ticket-uploads {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ticket-upload-row {
    position: relative;
}

.ticket-upload {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1.5px dashed hsl(var(--black)/0.15);
    border-radius: 12px;
    background-color: hsl(var(--light-bg));
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease;
}

.ticket-upload:hover {
    border-color: hsl(var(--base)/0.45);
    background-color: hsl(var(--base)/0.05);
}

.ticket-upload-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.ticket-upload-icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: hsl(var(--white));
    color: hsl(var(--body-color));
    border: 1px solid hsl(var(--black)/0.08);
}

.ticket-upload-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ticket-upload-title {
    font-weight: 600;
    color: hsl(var(--heading-color));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ticket-upload-sub {
    font-size: .82rem;
    color: hsl(var(--body-color));
}

/* Filled state, once a file has been chosen */
.ticket-upload.has-file {
    border-style: solid;
    border-color: hsl(var(--base)/0.35);
    background-color: hsl(var(--base)/0.06);
}

.ticket-upload.has-file .ticket-upload-icon {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-color: transparent;
}

.ticket-upload.has-file .ticket-upload-title {
    color: hsl(var(--base));
}

.ticket-upload-clear {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    background-color: hsl(var(--white));
    color: hsl(var(--body-color));
    border: 1px solid hsl(var(--black)/0.10);
    transition: all .2s ease;
}

.ticket-upload.has-file~.ticket-upload-clear {
    display: inline-flex;
}

.ticket-upload-clear:hover {
    background-color: hsl(var(--danger)/0.10);
    color: hsl(var(--danger));
    border-color: hsl(var(--danger)/0.30);
}

.ticket-upload-remove-row {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: hsl(var(--white));
    color: hsl(var(--danger));
    border: 1px solid hsl(var(--black)/0.10);
    box-shadow: 0 4px 10px 0 hsl(var(--black)/0.08);
    transition: all .2s ease;
}

.ticket-upload-remove-row:hover {
    background-color: hsl(var(--danger));
    color: hsl(var(--white));
    border-color: hsl(var(--danger));
}

.ticket-add-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    color: hsl(var(--base));
    font-weight: 600;
    font-size: .95rem;
}

.ticket-add-link:hover {
    text-decoration: underline;
}

/* Floating "Reply" jump button - shown only while the composer is scrolled out of view */
.ticket-reply-fab {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 40;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 22px;
    border-radius: 999px;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    font-weight: 600;
    box-shadow: 0 12px 30px 0 hsl(var(--base)/0.35);
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
}

.ticket-reply-fab.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ticket-reply-fab:hover {
    background-color: hsl(var(--base)/0.88);
    color: hsl(var(--white));
}

@media screen and (max-width: 575px) {
    .ticket-reply-fab {
        right: 16px;
        bottom: 16px;
        padding: 12px 18px;
    }
}

/* Generic tinted sub-section inside a form (e.g. conditional extra fields) */
.form-subblock {
    background-color: hsl(var(--light-bg));
    border: 1px solid hsl(var(--black)/0.06);
    border-radius: 12px;
    padding: 20px;
    margin-top: 4px;
    margin-bottom: 20px;
}

.form-subblock-title {
    font-size: 1rem;
    font-weight: 700;
    color: hsl(var(--heading-color));
    margin-bottom: 16px;
}

.table-tfoot-bar {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: flex-end;
    padding: 16px 24px !important;
    margin-top: 12px;
    background-color: hsl(var(--base)/0.06);
    border: 1px solid hsl(var(--base)/0.15);
    border-radius: 12px;
}

.table-tfoot-bar h5 {
    margin: 0;
    font-size: 1.15rem;
    color: hsl(var(--heading-color));
}

@media screen and (max-width: 575px) {
    .table-tfoot-bar {
        padding: 14px 18px !important;
    }

    .table-tfoot-bar h5 {
        font-size: 1rem;
    }
}