.wf-force-outline-none[tabindex="-1"]:focus {
    outline: none;
}


/* Lenis */
html, body {
    overscroll-behavior-x: none;
    overscroll-behavior-y: none;
}

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.page-transition {
    display: block;
}


/* Make text look crisper and more legible in all browsers */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
input[type="file"]:focus-visible {
    outline: 0.125rem solid #4d65ff;
    outline-offset: 0.125rem;
}

/* Set color style to inherit */
.inherit-color * {
    color: inherit;
}

/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
    margin-top: 0 !important;
}

/* Get rid of bottom margin on last element in any rich text element */
.w-richtext > :last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
    margin-bottom: 0 !important;
}


/* Make sure containers never lose their center alignment */
.container-medium, .container-small, .container-large {
    margin-right: auto !important;
    margin-left: auto !important;
}

/*
Make the following elements inherit typography styles from the parent and not have hardcoded values.
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
}
*/

/* Apply "..." after 3 lines of text */
.text-style-3lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* Apply "..." after 2 lines of text */
.text-style-2lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* These classes are never overwritten */
.hide {
    display: none !important;
}

[data="hidden"] {
    display: none;
}

@media screen and (max-width: 991px) {
    .hide, .hide-tablet {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .hide-mobile-landscape {
        display: none !important;
    }
}

@media screen and (max-width: 479px) {
    .hide-mobile {
        display: none !important;
    }
}

.margin-0 {
    margin: 0rem !important;
}

.padding-0 {
    padding: 0rem !important;
}

.spacing-clean {
    padding: 0rem !important;
    margin: 0rem !important;
}

.margin-top {
    margin-right: 0rem !important;
    margin-bottom: 0rem !important;
    margin-left: 0rem !important;
}

.padding-top {
    padding-right: 0rem !important;
    padding-bottom: 0rem !important;
    padding-left: 0rem !important;
}

.margin-right {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
    margin-left: 0rem !important;
}

.padding-right {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
    padding-left: 0rem !important;
}

.margin-bottom {
    margin-top: 0rem !important;
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.padding-bottom {
    padding-top: 0rem !important;
    padding-right: 0rem !important;
    padding-left: 0rem !important;
}

.margin-left {
    margin-top: 0rem !important;
    margin-right: 0rem !important;
    margin-bottom: 0rem !important;
}

.padding-left {
    padding-top: 0rem !important;
    padding-right: 0rem !important;
    padding-bottom: 0rem !important;
}

.margin-horizontal {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
}

.padding-horizontal {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
}

.margin-vertical {
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.padding-vertical {
    padding-right: 0rem !important;
    padding-left: 0rem !important;
}

/* Additional styling */


/* Rich text */
.text-rich-text li {
    margin-bottom: 1rem;
    padding-left: 1rem;
}


/* Button */
.button:hover .button_arrow {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: 0.5rem;
}

.button:hover .button_arrow.is-small {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: 0.5rem;
}

.button:hover .button_circle {
    width: 0;
    height: 0;
    margin-right: 0;
}

.text-link:hover .text-link_hover-underline {
    transform: scaleX(1);
}

.text-link:hover .text-link_icon {
    transform: translateY(-0.125rem);
}


/* Hero Nav padding */
[section="hero"] {
    padding-top: 6.3rem;
}

@media (max-width: 991px) {
    [section="hero"] {
        padding-top: 5.75rem;
    }
}


/* Hero Heading padding */
[hero-padding="heading"] {
    padding-top: 7.5rem;
}

@media (max-width: 991px) {
    [hero-padding="heading"] {
        padding-top: 3rem;
    }
}


/* Featured Blog line-clamp */
.featured-blog-item_wrapper p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4;
    max-height: calc(1.6rem * 4);
}

.featured-blog-item_wrapper h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    max-height: calc(1.6rem * 2);
}


/* Form input */
input:focus::placeholder,
textarea:focus::placeholder {
    opacity: 0;
}

textarea {
    resize: none;
}

.button:has([arrow-hidden="true"]) .button_icon {
    display: none;
}

.of-x-hidden {
    overflow-x: hidden !important;
}

.brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.brand .lang-switch--desktop {
    flex: 0 0 auto;
}

.lang-switch--desktop {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem;
    width: fit-content;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(4px);
}

.lang-switch--mobile {
    display: none;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.75rem;
    padding: 0.2rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(4px);
    width: fit-content;
}

.lang-switch_link,
.lang-switch_active {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.75rem;
    padding: 0.3rem 0.55rem;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
}

.lang-switch_link {
    color: rgba(255, 255, 255, 0.74);
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease;
}

.lang-switch_link:hover {
    color: rgba(255, 255, 255, 0.96);
    background-color: rgba(255, 255, 255, 0.07);
}

.lang-switch_active {
    color: #fff;
    background: linear-gradient(135deg, #4f7cff, #8b5cf6);
    box-shadow: 0 2px 10px rgba(139, 92, 246, 0.28);
}

.text-rich-text h1,
.text-rich-text h2,
.text-rich-text h3,
.text-rich-text h4,
.text-rich-text h5,
.text-rich-text h6 {
    color: var(--base-color-neutral--neutral-0);
}

@media (max-width: 991px) {
    [ofx-mobile-hidden="true"] {
        overflow-x: hidden;
    }

    .brand .lang-switch--desktop {
        display: none;
    }

    .lang-switch--mobile {
        display: inline-flex;
        margin-left: 0;
    }
}


/* Padding calc */
.navbar {
    width: calc(100% - 14rem);
}

@media (max-width: 991px) {
    .navbar {
        width: calc(100% - 2rem);
    }
}


/* Mobile menu open/close */
.navbar_checkbox {
    appearance: none;
    border: none !important;
}

.navbar_checkbox:focus {
    border: none !important;
}

.navbar_wrapper:has(.navbar_checkbox:checked) .navbar_mobile_menu {
    transform: translateX(0%);
}

.navbar_wrapper:has(.navbar_checkbox:checked) [navbar-icon="close"] {
    opacity: 1;
}

.navbar_wrapper:has(.navbar_checkbox:checked) [navbar-icon="open"] {
    opacity: 0;
}

[navbar-icon="close"] {
    opacity: 0;
}

.navbar_link.is-button:hover .navbar_link_hover {
    opacity: 1;
}


.navbar_mobile_dropdown:has(.navbar_mobile_dropdown_checkbox:checked) .navbar_mobile_dropdown_content {
    grid-template-rows: 1fr;
    border-color: var(--base-color-brand--dark-purple);
}

.navbar_mobile_dropdown:has(.navbar_mobile_dropdown_checkbox:checked) .navbar_mobile_dropdown_icon {
    transform: rotateZ(0deg);
}

.navbar_mobile_dropdown:has(.navbar_mobile_dropdown_checkbox:checked) .navbar_mobile_dropdown_toggle {
    color: var(--base-color-neutral--neutral-0);
}


.navbar_component:has(.navbar_dropdown_checkbox:checked) .navbar_dropdown_component {
    height: 9.5rem;
}

.navbar_dropdown_wrapper:hover .navbar_link {
    background-color: rgba(255, 255, 255, 0.1);
}

.navbar_dropdown_wrapper:has(.navbar_dropdown_checkbox:checked) .navbar_link {
    background-color: rgba(255, 255, 255, 0.1);
}

.navbar_dropdown_wrapper:has(.navbar_dropdown_checkbox:checked) .navbar_dropdown_chevron {
    transform: rotateZ(180deg);
}


.home_hero_cta-image-list:first-child {
    margin-left: 0;
}


@media (min-width: 992px) {
    .tab-card_checkbox {
        appearance: none;
        border: none !important;
    }

    .tab-card_checkbox:focus {
        border: none !important;
    }

    .tab_item:has(.tab-card_checkbox:checked) .tab-card_content {
        grid-template-rows: 1fr;
    }

    .tab_item:has(.tab-card_checkbox:checked) .tab-card_toggle {
        color: var(--base-color-neutral--neutral-0);
    }

    .tab-card_toggle h3 {
        transition: color 300ms ease;
    }
}

[tab-img].active {
    opacity: 1;
}


.faq-card_checkbox {
    appearance: none;
    border: none !important;
}

.faq-card_checkbox:focus {
    border: none !important;
}

.faq_item:has(.faq-card_checkbox:checked) .faq-card_content {
    grid-template-rows: 1fr;
}

.faq_item:has(.faq-card_checkbox:checked) .faq-card_line-h {
    transform: rotate(180deg);
}

.faq_item:has(.faq-card_checkbox:checked) .faq-card_line-v {
    transform: rotate(90deg);
}

.faq_item:has(.faq-card_checkbox:checked) h3 {
    color: var(--base-color-neutral--neutral-0);
}

.faq_item:has(.faq-card_checkbox:checked) .faq-line {
    background-color: var(--base-color-brand--dark-purple);
}

.faq_item:has(.faq-card_checkbox:checked) .faq-card_wrapper {
    border-color: var(--base-color-brand--dark-purple);
}

