@font-face {
    font-family: "Dachi the Lynx";
    src: url("../fonts/Dachi%20the%20Lynx.otf") format("opentype");
    font-weight: 400 900;
    font-style: normal;
    font-display: swap;
}

.haven-btn .haven-button-text,
.haven-btn .haven-button-text::after,
.haven-btn .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

@media (max-width: 767px) {
    html.site-scale-80:has(.haven-about-page) body {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        zoom: 1 !important;
        transform: none !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open),
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open)::before {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60px !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open)::before,
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        background: #e4eef0 !important;
        backdrop-filter: none !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open)::before {
        border-bottom: 1px solid #b6c8cb !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60px !important;
        min-height: 60px !important;
        padding: 16px !important;
        border: 0 !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__menu span {
        width: 23px !important;
        height: 2px !important;
        background: #043034 !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand {
        width: 78.909px !important;
        height: 28px !important;
        flex: 0 0 78.909px !important;
        margin: 0 0 0 16px !important;
        display: block !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        filter: brightness(0) saturate(100%) invert(20%) sepia(33%) saturate(1093%) hue-rotate(141deg) brightness(91%) contrast(96%) !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        z-index: 1000 !important;
        display: block !important;
        transform: translateY(-50%) !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0.16px !important;
        text-transform: uppercase !important;
    }

    .haven-about-page {
        width: 100% !important;
        padding-top: 0 !important;
        background: #e4eef0 !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-container,
    .haven-about-hero .haven-container,
    .haven-about-master .haven-container,
    .haven-story .haven-container,
    .haven-about-features .haven-container,
    .haven-partners .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    .haven-about-hero {
        min-height: 386px !important;
        padding: 144px 0 28px !important;
        box-sizing: border-box !important;
    }

    .haven-about-hero__grid {
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 16px !important;
    }

    .haven-about-hero h1 {
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 32px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
    }

    .haven-about-hero p {
        width: 100% !important;
        max-width: 358px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 160% !important;
    }

    .haven-about-master {
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-about-master .haven-container,
    .haven-about-features .haven-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .haven-stat-image {
        width: 100% !important;
        height: 264px !important;
        max-width: none !important;
        aspect-ratio: auto !important;
        border-radius: 0 !important;
    }

    .haven-stat-image img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    .haven-stat-image__stats {
        position: absolute !important;
        inset: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-items: end !important;
        background: linear-gradient(180deg, rgba(4, 48, 52, 0) 45%, rgba(4, 48, 52, 0.42) 100%) !important;
    }

    .haven-stat-image__stats::before,
    .haven-stat-image__stats::after {
        top: 0 !important;
        bottom: 0 !important;
        height: auto !important;
        background: rgba(255, 255, 255, 0.34) !important;
    }

    .haven-stat-image__stats::before {
        left: 33.333% !important;
    }

    .haven-stat-image__stats::after {
        left: 66.666% !important;
    }

    .haven-stat-image__stats strong,
    .haven-stat-image__stats strong:first-child,
    .haven-stat-image__stats strong:nth-child(2),
    .haven-stat-image__stats strong:nth-child(3) {
        position: static !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        min-height: 58px !important;
        padding: 0 3px 18px !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        gap: 2px !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-align: center !important;
        white-space: nowrap !important;
        word-spacing: 0 !important;
    }

    .haven-stat-image__stats sup {
        margin-left: 0 !important;
        font-size: 10px !important;
        line-height: 1 !important;
    }

    .haven-story {
        margin: 0 !important;
        padding: 44px 0 0 !important;
    }

    .haven-story__grid {
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
    }

    .haven-story__grid > div:first-child {
        width: 100% !important;
        flex: 0 0 auto !important;
        gap: 16px !important;
    }

    .haven-story .haven-section-label,
    .haven-partners__grid .haven-section-label {
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-story .haven-section-label::before,
    .haven-partners__grid .haven-section-label::before {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
    }

    .haven-story h2 {
        width: 100% !important;
        max-width: 358px !important;
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 21px !important;
        font-weight: 400 !important;
        line-height: normal !important;
    }

    .haven-story__copy {
        width: 100% !important;
        max-width: none !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }

    .haven-story__copy p {
        width: 100% !important;
        max-width: 358px !important;
        min-width: 0 !important;
        margin: 0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        white-space: normal !important;
    }

    .haven-story__copy .haven-btn {
        width: 100% !important;
        min-height: 40px !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 6px !important;
        background: #075056 !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-about-gallery {
        margin: 32px 0 0 !important;
        padding: 0 !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }

    .haven-about-gallery::-webkit-scrollbar {
        display: none !important;
    }

    .haven-about-gallery__track {
        width: max-content !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 16px !important;
        display: flex !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        gap: 16px !important;
    }

    .haven-about-gallery__item,
    .haven-about-gallery img,
    .haven-about-gallery img:nth-child(n+4) {
        flex: 0 0 160px !important;
        width: 160px !important;
        height: 200px !important;
        display: block !important;
        object-fit: cover !important;
    }

    .haven-about-features {
        margin: 48px 0 0 !important;
        padding: 0 !important;
    }

    .haven-about-features__grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 28px !important;
    }

    .haven-about-features__image {
        width: 100% !important;
        height: 300px !important;
        flex: 0 0 auto !important;
        object-fit: cover !important;
        object-position: center 42% !important;
    }

    .haven-about-features__list {
        width: 100% !important;
        height: auto !important;
        padding: 0 16px !important;
        gap: 0 !important;
    }

    .haven-about-features article {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 24px 1fr !important;
        align-items: flex-start !important;
        column-gap: 16px !important;
        row-gap: 8px !important;
        padding: 16px 0 !important;
        border-bottom: 1px solid #b6c8cb !important;
    }

    .haven-about-features article:last-child {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .haven-about-features article img {
        width: 24px !important;
        height: 24px !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    .haven-about-features article > div {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .haven-about-features h3 {
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: normal !important;
    }

    .haven-about-features p {
        margin: 0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 160% !important;
    }

    .haven-partners {
        margin: 48px 0 0 !important;
        padding: 20px 0 32px !important;
        background: rgba(255, 255, 255, 0.5) !important;
    }

    .haven-partners__grid {
        min-height: 125px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 32px !important;
        padding: 0 !important;
    }

    .haven-about-page .haven-partners__logos {
        width: 326px !important;
        max-width: 326px !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-partners__logos-track {
        width: max-content !important;
        gap: 74px !important;
        animation: none !important;
        transform: none !important;
    }

    .haven-about-page .haven-partners__logos-track img:nth-child(n+3) {
        display: none !important;
    }

    .haven-partners img:nth-child(3n + 1) {
        width: 170px !important;
        height: auto !important;
    }

    .haven-partners img:nth-child(3n + 2) {
        width: 91px !important;
        height: auto !important;
    }

    .haven-final-cta--about-page {
        margin: 0 !important;
        padding: 80px 16px 0 !important;
        background: #e4eef0 !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--about-page > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card {
        width: 100% !important;
        height: 276px !important;
        min-height: 276px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    .haven-final-cta--about-page .haven-final-cta__picture,
    .haven-final-cta--about-page .haven-final-cta__bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--about-page .haven-final-cta__bg {
        object-fit: cover !important;
        object-position: center center !important;
        transform: none !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card h2 {
        position: absolute !important;
        top: 74px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 16px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card .haven-btn {
        position: absolute !important;
        top: auto !important;
        right: auto !important;
        bottom: 32px !important;
        left: 16px !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 40px !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card .haven-btn .haven-button-text,
    .haven-final-cta--about-page .haven-final-cta__card .haven-btn .haven-button-text__inner,
    .haven-final-cta--about-page .haven-final-cta__card .haven-btn .haven-button-text::after {
        color: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-final-cta--about-page + .haven-footer {
        margin-top: 0 !important;
    }
}

@media (max-width: 767px) {
    html.site-scale-80:has(.haven-project-page) body {
        width: 100% !important;
        margin-left: 0 !important;
        zoom: 1 !important;
        transform: none !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open),
    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open)::before {
        height: 60px !important;
        width: 100vw !important;
        max-width: 100vw !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open)::before {
        background: #e4eef0 !important;
        border-bottom: 1px solid #b6c8cb !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        height: 60px !important;
        min-height: 60px !important;
        padding: 16px !important;
        border: 0 !important;
        background: #e4eef0 !important;
        backdrop-filter: none !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__menu {
        width: 28px !important;
        height: 28px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__menu span {
        width: 23px !important;
        height: 2px !important;
        flex: 0 0 2px !important;
        background: #043034 !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand {
        width: 78.909px !important;
        height: 28px !important;
        flex: 0 0 78.909px !important;
        margin: 0 0 0 16px !important;
        padding: 0 !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        filter: brightness(0) saturate(100%) invert(20%) sepia(33%) saturate(1093%) hue-rotate(141deg) brightness(91%) contrast(96%) !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        z-index: 1000 !important;
        display: block !important;
        transform: translateY(-50%) !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        letter-spacing: 0.16px !important;
    }

    .haven-project-page {
        width: 100% !important;
        min-height: 0 !important;
        padding-top: 0 !important;
        background: #e4eef0 !important;
        color: #043034 !important;
        overflow: hidden !important;
    }

    .haven-project-page .haven-selector {
        width: 100% !important;
        padding: 90px 16px 69px !important;
        background: #e4eef0 !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector__card {
        width: 100% !important;
        max-width: 358px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        padding: 16px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        border-radius: 8px !important;
        background: #fff !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .haven-project-page .haven-selector__tabs {
        width: 100% !important;
        flex: 0 0 auto !important;
        order: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-project-page .haven-selector__tabs button {
        width: 100% !important;
        min-height: 47px !important;
        margin: 0 !important;
        padding: 14px 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #f5f9fa !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: uppercase !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector__tabs button.active {
        background: #075056 !important;
        color: #fff !important;
    }

    .haven-project-page .haven-selector__tabs button span {
        width: 13px !important;
        height: 13px !important;
        flex: 0 0 13px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 22px !important;
        line-height: 13px !important;
        transform: none !important;
    }

    .haven-project-page .haven-selector__content {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector__info {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
        order: 0 !important;
        margin: 0 !important;
        padding: 16px 16px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        border: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector__info h1 {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 0 16px !important;
        border-bottom: 1px solid #b6c8cb !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    .haven-project-page .haven-price {
        width: 100% !important;
        margin: 16px 0 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .haven-project-page .haven-price__value {
        color: #0e2b2e !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 32px !important;
        font-weight: 800 !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }

    .haven-project-page .haven-price__toggle {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        padding: 4px !important;
        border-radius: 6px !important;
        background: #f5f9fa !important;
    }

    .haven-project-page .haven-price__toggle button {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        padding: 0 !important;
        border-radius: 4px !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    .haven-project-page .haven-price__toggle button.is-active {
        background: #075056 !important;
        color: #fff !important;
    }

    .haven-project-page .haven-project-metrics {
        width: 100% !important;
        margin: 14px 0 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .haven-project-page .haven-project-metrics div {
        min-width: 0 !important;
    }

    .haven-project-page .haven-project-metrics span {
        display: block !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-project-page .haven-project-metrics strong {
        display: block !important;
        padding-top: 2px !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }

    .haven-project-page .haven-project-badges {
        width: 100% !important;
        margin: 16px 0 0 !important;
        padding: 0 0 24px !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        border-bottom: 1px solid #b6c8cb !important;
    }

    .haven-project-page .haven-project-badges span {
        min-height: 26px !important;
        padding: 6px 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        border-radius: 999px !important;
        background: #dbe4e6 !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector__visual {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
        order: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-plan-stage,
    .haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="3d"].active),
    .haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="2d"].active) {
        order: 0 !important;
        width: calc(100% - 32px) !important;
        max-width: 294px !important;
        height: 266px !important;
        min-height: 266px !important;
        margin: 31px auto 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        background: transparent !important;
        cursor: zoom-in !important;
    }

    .haven-project-page .haven-plan-image,
    .haven-project-page .haven-plan-image[data-plan="3d"],
    .haven-project-page .haven-plan-image[data-plan="2d"] {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: translate(-50%, -50%) !important;
    }

    .haven-project-page .haven-plan-switch {
        order: 1 !important;
        position: static !important;
        width: 92px !important;
        height: 38px !important;
        margin: 21px auto 0 !important;
        padding: 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        border-radius: 6px !important;
        background: #f5f9fa !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-plan-switch button {
        width: 40px !important;
        min-width: 40px !important;
        height: 30px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 4px !important;
        background: transparent !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: normal !important;
    }

    .haven-project-page .haven-plan-switch button.active {
        background: #075056 !important;
        color: #fff !important;
    }

    .haven-project-page .haven-download {
        display: none !important;
    }

    .haven-project-page .haven-selector__mobile-details {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 16px 24px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector__info > .haven-project-specs,
    .haven-project-page .haven-selector__info > .haven-selector__cta {
        display: none !important;
    }

    .haven-project-page .haven-selector__mobile-details .haven-selector__cta,
    .haven-project-page .haven-download-mobile {
        width: 100% !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 6px !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }

    .haven-project-page .haven-selector__mobile-details .haven-selector__cta {
        margin-top: 24px !important;
        border: 1px solid #075056 !important;
        background: #075056 !important;
        color: #fff !important;
    }

    .haven-project-page .haven-download-mobile {
        margin-top: 12px !important;
        border: 1px solid #075056 !important;
        background: transparent !important;
        color: #075056 !important;
    }

    .haven-project-page .haven-download-mobile .haven-download__icon {
        display: none !important;
    }

    .haven-project-page .haven-selector__mobile-details .haven-project-specs {
        width: 100% !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 28px 0 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex: 0 0 auto !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 16px !important;
        overflow: visible !important;
    }

    .haven-project-page .haven-project-specs div {
        width: 100% !important;
        min-height: 24px !important;
        display: grid !important;
        grid-template-columns: 24px 1fr auto !important;
        align-items: center !important;
        gap: 12px !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }

    .haven-project-page .haven-project-specs img {
        width: 24px !important;
        height: 24px !important;
        object-fit: contain !important;
    }

    .haven-project-page .haven-project-specs span {
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: normal !important;
    }

    .haven-project-page .haven-project-specs strong {
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: normal !important;
    }

    .haven-project-page .haven-selector__cta .haven-button-bullet,
    .haven-project-page .haven-download-mobile .haven-button-bullet {
        width: 8px !important;
        height: 8px !important;
        flex: 0 0 8px !important;
        border-color: currentColor !important;
    }

    .haven-project-page .haven-selector__cta,
    .haven-project-page .haven-selector__cta .haven-button-text,
    .haven-project-page .haven-selector__cta .haven-button-text::after,
    .haven-project-page .haven-selector__cta .haven-button-text__inner,
    .haven-project-page .haven-download-mobile,
    .haven-project-page .haven-download-mobile .haven-button-text,
    .haven-project-page .haven-download-mobile .haven-button-text::after,
    .haven-project-page .haven-download-mobile .haven-button-text__inner {
        color: currentColor !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-final-cta--project-detail-page {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 16px 0 0 !important;
        background: #e4eef0 !important;
        transform: translateY(-1px) !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--project-detail-page > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__card {
        width: 100% !important;
        height: 276px !important;
        min-height: 276px !important;
        margin: 0 !important;
        padding: 0 16px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__picture,
    .haven-final-cta--project-detail-page .haven-final-cta__bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__bg {
        object-fit: cover !important;
        object-position: center center !important;
        transform: none !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__card h2 {
        width: 326px !important;
        max-width: 100% !important;
        margin: 74px auto 0 !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-transform: none !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__card .haven-btn {
        width: 326px !important;
        max-width: 100% !important;
        min-height: 40px !important;
        margin: 24px auto 0 !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__card .haven-btn .haven-button-text,
    .haven-final-cta--project-detail-page .haven-final-cta__card .haven-btn .haven-button-text__inner,
    .haven-final-cta--project-detail-page .haven-final-cta__card .haven-btn .haven-button-text::after {
        color: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    .haven-final-cta--project-detail-page + .haven-footer {
        margin-top: -138px !important;
    }
}

@font-face {
    font-family: "Montserrat Local";
    src: url("../fonts/montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat Local";
    src: url("../fonts/montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "BPG Nino Mtavruli";
    src: url("../fonts/bpg-nino-mtavruli/bpg-nino-mtavruli-webfont.woff2") format("woff2"),
        url("../fonts/bpg-nino-mtavruli/bpg-nino-mtavruli-webfont.woff") format("woff"),
        url("../fonts/bpg-nino-mtavruli/bpg-nino-mtavruli-webfont.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueUltraLight.otf") format("opentype");
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueUltraLightItalic.otf") format("opentype");
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueThin.otf") format("opentype");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueThinItalic.otf") format("opentype");
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueLight.otf") format("opentype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueLightItalic.otf") format("opentype");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueRoman.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueItalic.ttf") format("truetype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueMedium.otf") format("opentype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueMediumItalic.otf") format("opentype");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueBold.otf") format("opentype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueBoldItalic.otf") format("opentype");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueHeavy.otf") format("opentype");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueHeavyItalic.otf") format("opentype");
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueBlack.otf") format("opentype");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Helvetica Neue Local";
    src: url("../fonts/helvetica-neue/HelveticaNeueBlackItalic.otf") format("opentype");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

:root {
    --haven-green: #075056;
    --haven-mist: #E4EEF0;
    --haven-ink: #072b30;
    --haven-soft: #f7fbfb;
    --haven-white: #ffffff;
    --haven-line: rgba(7, 80, 86, 0.16);
    --haven-display-font: "Dachi the Lynx", "Helvetica Neue Local", "Helvetica Neue", Arial, sans-serif;
    --haven-montserrat-font: "Montserrat Local", Montserrat, Arial, sans-serif;
    --haven-helvetica-font: "Helvetica Neue Local", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --haven-menu-font: "BPG Nino Mtavruli", "Helvetica Neue Local", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --haven-caps-font: "BPG Nino Mtavruli", "Helvetica Neue Local", "Helvetica Neue", Helvetica, Arial, sans-serif;
    /* Figma design width: 1512px. --hs lets Figma px scale fluidly with viewport.
       Usage: calc(182 * var(--hs)) → 182px at 1512vw, scales down below 1512, capped at 1px above.
       Cap at 1px means viewports wider than 1512 use Figma exact sizes (content centered, no scaling up). */
    --hs: min(0.06614vw, 1px);
}

.haven-header,
.haven-header *,
.haven-home,
.haven-home *,
.haven-page,
.haven-page *,
.haven-footer,
.haven-footer * {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--haven-mist);
    color: var(--haven-ink);
    font-family: var(--haven-caps-font);
    overflow-x: hidden;
}

main {
    position: relative;
    z-index: 2;
}

.haven-header,
.haven-home,
.haven-page,
.haven-footer {
    font-family: var(--haven-display-font);
}

.haven-home {
    position: relative;
    isolation: isolate;
    background: var(--haven-mist);
}

.haven-home h1,
.haven-page h1 {
    font-family: var(--haven-helvetica-font);
}

.haven-home p,
.haven-page p,
.haven-footer p {
    font-family: revert;
}

.haven-font-dachi {
    font-family: var(--haven-display-font);
}

.haven-about h2,
.haven-feature-card h3,
.haven-benefit strong,
.haven-location h2,
.haven-consult h2,
.haven-about-features h3,
.haven-final-cta__card h2,
.haven-request-hero h1,
.haven-request-success h2 {
    font-family: var(--haven-display-font);
}

body .preloader {
    display: none !important;
}

body.haven-loading {
    overflow: hidden;
}

.haven-loader {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    background: var(--haven-mist);
    overflow: hidden;
    pointer-events: all;
}

.haven-loader__columns {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.haven-loader__columns span {
    display: block;
    width: calc(100% + 2px);
    margin: 0 0 0 -1px;
    padding: 0;
    border: 0;
    background: var(--haven-green);
    box-shadow: 0 0 0 1px var(--haven-green);
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0) scaleY(0);
    transform-origin: bottom;
    animation: havenLoaderColumn 0.72s cubic-bezier(.76, 0, .24, 1) forwards;
    will-change: transform;
}

.haven-loader__columns span:nth-child(2) {
    animation-delay: 0.12s;
}

.haven-loader__columns span:nth-child(3) {
    animation-delay: 0.24s;
}

.haven-loader__columns span:nth-child(4) {
    animation-delay: 0.36s;
}

.haven-loader__logo {
    position: relative;
    z-index: 2;
    width: min(48vw, 270px);
    overflow: hidden;
    opacity: 0;
    transform: translate3d(0, 8px, 0) scale(0.98);
    animation: havenLoaderLogo 0.82s cubic-bezier(.76, 0, .24, 1) 1.05s forwards;
    will-change: opacity, transform;
}

.haven-loader__logo img {
    width: min(48vw, 270px);
    display: block;
    filter: brightness(0) invert(1);
}

.haven-loader.is-finishing {
    animation: havenLoaderExit 0.72s cubic-bezier(.76, 0, .24, 1) forwards;
}

.haven-loader.is-hidden {
    display: none;
}

body.haven-page-ready main,
body.haven-page-ready .haven-header,
body.haven-page-ready .haven-footer {
    animation: havenPageReveal 0.72s cubic-bezier(.76, 0, .24, 1) forwards;
}

@keyframes havenLoaderColumn {
    to {
        transform: translate3d(0, 0, 0) scaleY(1);
    }
}

@keyframes havenLoaderLogo {
    0% {
        opacity: 0;
        transform: translate3d(0, 8px, 0) scale(0.98);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes havenLoaderExit {
    to {
        transform: translateY(-100%);
    }
}

@keyframes havenMobileLoaderExit {
    to {
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes havenPageReveal {
    from {
        transform: translateY(46px);
        opacity: 0.01;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .haven-loader,
    .haven-loader *,
    body.haven-page-ready main,
    body.haven-page-ready .haven-header,
    body.haven-page-ready .haven-footer {
        animation-duration: 0.01ms !important;
        animation-delay: 0s !important;
    }
}

.haven-container {
    width: calc(100% - 40px);
    max-width: 1424px;
    margin-inline: auto;
}

.haven-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 20;
    padding: 0;
    --haven-header-bg: transparent;
    --haven-header-border: var(--Border-soft, rgba(255, 255, 255, 0.30));
    --haven-header-height: calc(82 * var(--hs));
}

.haven-header::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 0;
    height: var(--haven-header-height);
    background: var(--haven-header-bg);
    border-bottom: 1px solid var(--haven-header-border);
    pointer-events: none;
}

.haven-header__menu {
    display: none;
}

.haven-header__close {
    display: none;
}

.haven-mobile-menu__meta,
.haven-footer__social-mobile {
    display: none;
}

.haven-header__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: calc(1512 * var(--hs));
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    height: calc(82 * var(--hs));
    min-height: calc(82 * var(--hs));
    padding: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    background: transparent;
    backdrop-filter: none;
}

.haven-header__brand {
    display: flex;
    width: 365px;
    padding: 16px 52px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    flex-shrink: 0;
    justify-content: center;
    height: 100%;
    border-right: 1px solid var(--Border-soft, rgba(255, 255, 255, 0.30));
    align-self: stretch;
}

.haven-header__brand img {
    width: auto;
    height: calc(44 * var(--hs));
    max-width: none;
    display: block;
}

.haven-header__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    gap: calc(44 * var(--hs));
    border-left: 0;
    border-right: 0;
    padding: 0;
    flex: 1 1 auto;
    min-width: 0;
}

.haven-header__nav a {
    display: inline-flex;
    align-items: center;
    padding: 0;
    opacity: 1;
    color: var(--Text-inverted-inverted, #FFF);
    font-family: var(--haven-helvetica-font);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration: none;
    text-transform: none;
    font-feature-settings: normal;
    letter-spacing: 0;
}

.haven-header__nav-link {
    color: var(--Text-inverted-inverted, #FFF) !important;
    font-family: var(--haven-helvetica-font) !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: none !important;
    font-feature-settings: normal !important;
    font-variant-caps: normal !important;
    letter-spacing: 0 !important;
    opacity: 1;
}

.haven-header__nav a:hover {
    color: var(--haven-white);
    opacity: 0.86;
}

.haven-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    flex: 0 0 auto;
    align-self: stretch;
    height: 100%;
    padding: 16px 52px;
    border-left: 1px solid var(--Border-on-secondary, #B6C8CB);
}

.haven-header__actions span,
.haven-header__lang {
    font-family: var(--haven-montserrat-font);
    color: var(--haven-white);
    font-size: calc(16 * var(--hs));
    font-weight: 500;
    line-height: normal;
    letter-spacing: calc(0.16 * var(--hs));
    text-decoration: none;
    text-transform: none;
}

.haven-header__mobile-lang {
    display: none;
}

.haven-header__cta,
.haven-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0 22px;
    border: 1px solid var(--haven-green);
    background: var(--haven-green);
    color: var(--haven-white);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 0;
    transition: 180ms ease;
}

.haven-header__cta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border: 0;
    background: var(--Button-primary-default, #075056);
    min-height: 0;
    padding: 15px 24px;
    border-radius: 6px;
    font-family: var(--haven-helvetica-font) !important;
    font-size: calc(16 * var(--hs)) !important;
    font-weight: 500 !important;
    line-height: normal;
    letter-spacing: calc(0.16 * var(--hs));
    text-transform: none;
    color: var(--haven-white);
}

.haven-header__cta i {
    font-style: normal;
    font-size: calc(16 * var(--hs));
}

.haven-header__cta .haven-button-text,
.haven-header__cta .haven-button-text__inner {
    font-family: var(--haven-helvetica-font) !important;
    font-size: calc(16 * var(--hs)) !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: calc(0.16 * var(--hs)) !important;
    text-transform: none !important;
    color: var(--haven-white) !important;
}

.haven-btn:hover,
.haven-header__cta:hover {
    background: #063f44;
    color: var(--haven-white);
}

.haven-btn,
.haven-mini-link,
.haven-house-card__link,
.haven-download,
.haven-download-mobile {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    gap: calc(8 * var(--hs));
    border-radius: calc(6 * var(--hs));
}

.haven-header__cta {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.haven-mini-link,
.haven-house-card__link,
.haven-download,
.haven-download-mobile {
    min-height: 42px;
    padding: 0 22px;
    border: 1px solid var(--haven-green);
    background: var(--haven-green);
    color: var(--haven-white);
}

.haven-button-bullet {
    width: 8px;
    height: 8px;
    aspect-ratio: 1 / 1;
    border: 1px solid #FFF;
    border-radius: 50%;
    background: transparent;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    flex: 0 0 auto;
    display: inline-block;
    transition: background-color 0.24s ease, opacity 0.24s ease;
}

.haven-button-text {
    position: relative;
    display: inline-block;
    overflow: hidden;
    color: currentColor;
    font-family: var(--haven-helvetica-font);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: none;
    vertical-align: middle;
    top: 1px;
}

.haven-button-text__inner {
    display: block;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    transition: transform 0.28s cubic-bezier(.76, 0, .24, 1);
}

.haven-button-text::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    display: block;
    color: currentColor;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    transform: translateY(0);
    transition: transform 0.28s cubic-bezier(.76, 0, .24, 1);
}

.haven-header__cta,
.haven-header__cta .haven-button-text,
.haven-header__cta .haven-button-text::after,
.haven-header__cta .haven-button-text__inner,
.haven-btn,
.haven-btn .haven-button-text,
.haven-btn .haven-button-text::after,
.haven-btn .haven-button-text__inner,
.haven-mini-link,
.haven-mini-link .haven-button-text,
.haven-mini-link .haven-button-text::after,
.haven-mini-link .haven-button-text__inner,
.haven-house-card__link,
.haven-house-card__link .haven-button-text,
.haven-house-card__link .haven-button-text::after,
.haven-house-card__link .haven-button-text__inner,
.haven-download,
.haven-download .haven-button-text,
.haven-download .haven-button-text::after,
.haven-download .haven-button-text__inner,
.haven-download-mobile,
.haven-download-mobile .haven-button-text,
.haven-download-mobile .haven-button-text::after,
.haven-download-mobile .haven-button-text__inner,
.haven-kicker,
.haven-section-label,
.haven-section-label--icon,
.haven-consult__form label > span,
.haven-footer h3 {
    font-family: var(--haven-helvetica-font) !important;
    text-transform: none !important;
}

.haven-button-animate:hover .haven-button-text__inner {
    transform: translateY(-115%);
}

.haven-button-animate:hover .haven-button-text::after {
    transform: translateY(-100%);
}

.haven-button-animate:hover .haven-button-bullet {
    background: #FFF;
}

.haven-btn--light:hover .haven-button-bullet,
.haven-button-animate.haven-house-card__link:hover .haven-button-bullet {
    background: #FFF;
}

.haven-header__cta,
.haven-header__cta .haven-button-text,
.haven-header__cta .haven-button-text::after,
.haven-header__cta .haven-button-text__inner {
    color: var(--haven-white);
    font-family: var(--haven-helvetica-font) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.haven-header--sticky .haven-header__cta,
.haven-header--inner .haven-header__cta,
.haven-header--sticky .haven-header__cta .haven-button-text,
.haven-header--inner .haven-header__cta .haven-button-text,
.haven-header--sticky .haven-header__cta .haven-button-text::after,
.haven-header--inner .haven-header__cta .haven-button-text::after,
.haven-header--sticky .haven-header__cta .haven-button-text__inner,
.haven-header--inner .haven-header__cta .haven-button-text__inner {
    color: var(--haven-white);
}

.haven-header--inner {
    position: fixed;
    padding-top: 0;
}

.haven-header--sticky {
    position: fixed;
    padding-top: 0;
    animation: havenHeaderDrop 560ms cubic-bezier(.22, 1, .36, 1) both;
    will-change: transform;
}

body.haven-home-route .haven-header--sticky {
    animation: none;
    opacity: var(--haven-sticky-opacity, 0);
    transform: translateY(var(--haven-sticky-y, -100%));
    will-change: transform, opacity;
}

.haven-header--request {
    padding-top: 0;
    --haven-header-bg: rgba(228, 238, 240, 0.04);
    --haven-header-border: rgba(255, 255, 255, 0.4);
    --haven-header-height: calc(76 * var(--hs));
}

.haven-header--request .haven-header__inner {
    width: 100%;
    max-width: calc(1512 * var(--hs));
    height: calc(76 * var(--hs));
    min-height: 76px;
    background: transparent;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    backdrop-filter: none;
}

.haven-header--request .haven-header__brand img {
    filter: brightness(0) saturate(100%) invert(22%) sepia(29%) saturate(1401%) hue-rotate(143deg) brightness(88%) contrast(95%);
}

.haven-header--request .haven-header__nav {
    border-left-color: rgba(255, 255, 255, 0.4);
    border-right-color: rgba(255, 255, 255, 0.4);
}

.haven-header--request .haven-header__nav a,
.haven-header--request .haven-header__lang {
    color: var(--Text-primary, #043034);
}

.haven-header--sticky .haven-header__inner,
.haven-header--inner .haven-header__inner {
    width: 100%;
    max-width: calc(1512 * var(--hs));
    height: calc(82 * var(--hs));
    min-height: calc(82 * var(--hs));
    background: transparent;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    backdrop-filter: none;
}

.haven-header--sticky,
.haven-header--inner {
    --haven-header-bg: var(--Background-secondary, #E4EEF0);
    --haven-header-border: var(--Border-on-secondary, #B6C8CB);
    --haven-header-height: calc(82 * var(--hs));
}

.haven-header--sticky .haven-header__brand img,
.haven-header--inner .haven-header__brand img {
    filter: brightness(0) saturate(100%) invert(22%) sepia(29%) saturate(1401%) hue-rotate(143deg) brightness(88%) contrast(95%);
}

.haven-header--sticky .haven-header__brand,
.haven-header--inner .haven-header__brand {
    border-right-color: var(--Border-on-secondary, #B6C8CB);
}

.haven-header--sticky .haven-header__nav,
.haven-header--inner .haven-header__nav {
    border-left-color: var(--haven-line);
    border-right-color: var(--haven-line);
}

.haven-header--sticky .haven-header__nav a,
.haven-header--sticky .haven-header__actions span,
.haven-header--sticky .haven-header__lang,
.haven-header--inner .haven-header__nav a,
.haven-header--inner .haven-header__actions span,
.haven-header--inner .haven-header__lang {
    color: var(--haven-green);
}

.haven-header--sticky .haven-header__nav a:hover,
.haven-header--inner .haven-header__nav a:hover {
    color: var(--Text-primary, #043034);
}

.haven-header--sticky .haven-header__nav a,
.haven-header--inner .haven-header__nav a {
    color: var(--Text-primary, #043034) !important;
    font-family: var(--haven-helvetica-font);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: none;
    font-feature-settings: normal;
}

@keyframes havenHeaderDrop {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

.haven-btn--light {
    background: var(--haven-white);
    border-color: var(--haven-white);
    color: var(--haven-green);
}

.haven-btn--light:hover {
    background: var(--haven-mist);
    color: var(--haven-green);
}

.haven-btn--outline {
    border-color: rgba(255, 255, 255, 0.72);
    background: transparent;
    color: var(--haven-white);
}

.haven-btn--outline:hover {
    border-color: var(--haven-white);
    background: rgba(255, 255, 255, 0.12);
    color: var(--haven-white);
}

.haven-hero__mobile-call {
    display: none;
}

.haven-hero {
    position: relative;
    min-height: calc(921 * var(--hs));
    color: var(--haven-white);
    overflow: hidden;
}

.haven-hero__picture {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    overflow: hidden;
}

.haven-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 80%;
}

.haven-hero__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.08) 48%, rgba(0, 0, 0, 0.45) 100%),
        linear-gradient(90deg, rgba(7, 80, 86, 0.14) 0%, rgba(7, 80, 86, 0) 62%);
}

.haven-hero__content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1512px;
    margin-inline: auto;
    min-height: calc(921 * var(--hs));
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: calc(80 * var(--hs)) calc(52 * var(--hs));
}

.haven-kicker,
.haven-section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 22px;
    color: var(--haven-green);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.haven-kicker {
    color: var(--haven-mist);
    margin-bottom: 16px;
}

.haven-kicker::before,
.haven-section-label::before {
    content: "";
    width: 10px;
    height: 10px;
    background: currentColor;
    border-radius: 50%;
}

.haven-hero h1 {
    margin: 0 0 calc(-16 * var(--hs));
    color: var(--haven-white);
    font-family: var(--haven-montserrat-font);
    font-size: calc(182 * var(--hs));
    line-height: normal;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    width: 100%;
    white-space: nowrap;
}

.haven-hero__title-wrap {
    display: flex;
    flex-direction: column;
    padding: calc(32 * var(--hs)) 0;
    width: 100%;
}

.haven-hero__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    color: var(--haven-white);
    font-family: var(--haven-helvetica-font);
    font-size: calc(18 * var(--hs));
    font-weight: 500;
    line-height: normal;
}

.haven-hero__meta > span {
    color: var(--Text-inverted-inverted, #FFF);
    font-family: "Helvetica Neue";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    padding-left: calc(14 * var(--hs));
}

.haven-hero__meta strong {
    color: var(--Text-inverted-inverted, #FFF);
    text-align: right;
    font-family: Montserrat, var(--haven-montserrat-font);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    padding-right: calc(5 * var(--hs));
}

.haven-hero__bottom {
    width: calc(920 * var(--hs));
    max-width: 100%;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: calc(36 * var(--hs));
}

.haven-hero__bottom div {
    align-self: stretch;
    color: var(--Text-inverted-inverted, #FFF);
    font-family: "Helvetica Neue";
    font-size: 64px;
    font-style: normal;
    line-height: normal;
    font-weight: 300;
}

.haven-hero__bottom strong {
    display: block;
    color: var(--Text-inverted-inverted, #FFF);
    font-family: "Helvetica Neue";
    font-size: 64px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin-top: 0;
}

.haven-hero__bottom .haven-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
    min-height: 0;
    gap: 8px;
    padding: 15px 24px;
    font-family: var(--haven-helvetica-font);
    font-size: calc(16 * var(--hs));
    font-weight: 500;
    line-height: calc(20 * var(--hs));
    letter-spacing: calc(0.16 * var(--hs));
    text-transform: none;
    border-radius: 6px;
    background: var(--Button-secondary, #FFF);
    border-color: var(--haven-white);
    color: #043034;
    margin-top: 0;
}

.haven-hero__bottom .haven-btn .haven-button-text,
.haven-hero__bottom .haven-btn .haven-button-text__inner,
.haven-hero__bottom .haven-btn .haven-button-text::after {
    font-family: var(--haven-helvetica-font) !important;
    font-weight: 500 !important;
}

.haven-hero__bottom .haven-btn:hover {
    background: #e4eef0;
    color: #043034;
}

.haven-hero__bottom .haven-btn .haven-button-bullet {
    width: 8px;
    height: 8px;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--Icon-primary, #075056);
    border-radius: 50%;
    background: transparent;
}

.haven-hero__bottom .haven-btn:hover .haven-button-bullet {
    background: var(--Icon-primary, #075056);
}

.haven-intro {
    display: flex;
    align-items: flex-start;
    align-self: stretch;
    background: #E4EEF0;
    border-bottom: 1px solid #B6C8CB;
    padding: 0;
}

@media (min-width: 769px) {
    .haven-hero__mobile-call {
        display: none !important;
    }

    .haven-home > section:not(.haven-hero) {
        position: relative;
        z-index: 2;
    }

    .haven-hero {
        position: relative;
        top: 0;
        z-index: 0;
        min-height: 100vh;
    }

    .haven-hero__content {
        min-height: 100vh;
    }

    body.haven-home-route .haven-hero__picture,
    body.haven-home-route .haven-hero__shade,
    body.haven-home-route .haven-hero__content {
        transform: translate3d(0, var(--haven-hero-pin-y, 0px), 0);
        will-change: transform;
    }

    .haven-intro {
        z-index: 3;
        border-radius: 8px 8px 0 0;
        overflow: hidden;
        box-shadow: 0 -1px 0 rgba(182, 200, 203, 0.65);
    }
}

.haven-intro__grid {
    width: 100% !important;
    max-width: calc(1512 * var(--hs)) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
    height: calc(256 * var(--hs));
}

.haven-logos {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 64px;
    padding: 44px 52px 44px 0;
    flex: 1 0 0;
    overflow: hidden;
    align-self: stretch;
    max-width: none;
    position: relative;
    mask-image: linear-gradient(90deg, transparent 0, #000 calc(68 * var(--hs)), #000 calc(100% - 68 * var(--hs)), transparent 100%);
}

.haven-logos__track {
    min-width: max-content;
    display: flex;
    align-items: center;
    gap: calc(44 * var(--hs));
    padding-left: 0;
    height: calc(42 * var(--hs));
    animation: havenLogosMarquee 16s linear infinite;
}

.haven-logos:hover .haven-logos__track {
    animation-play-state: paused;
}

.haven-logos img {
    flex: 0 0 auto;
    height: calc(42 * var(--hs));
    width: auto;
    max-width: none;
    max-height: calc(42 * var(--hs));
    object-fit: contain;
}

@keyframes havenLogosMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - calc(22 * var(--hs))));
    }
}

@keyframes havenLogosMarqueeMobile {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 37px));
    }
}

.haven-intro__label,
.haven-intro p.haven-section-label.haven-intro__label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding-left: calc(52 * var(--hs)) !important;
    margin: 0 !important;
    color: var(--Text-primary, #043034) !important;
    font-family: var(--haven-helvetica-font) !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

.haven-intro__label::before {
    content: "" !important;
    width: 14px !important;
    height: 14px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 0 !important;
    background: var(--Text-primary, #043034) !important;
    clip-path: polygon(0 0, 60.14% 0, 100% 20.27%, 100% 100%, 39.86% 100%, 0 79.73%) !important;
    flex: 0 0 auto !important;
    display: block !important;
    transform: translateY(-1px);
}

.haven-section-label > span {
    display: inline-block;
    transform: translateY(2px);
}

.haven-intro p:not(.haven-intro__label):not(.haven-section-label) {
    flex: 1 0 0;
    min-width: 0;
    margin: 0;
    padding: 64px 52px;
    border-left: 1px solid #B6C8CB;
    background: var(--haven-mist);
    color: var(--Text-secondary, #0E2B2E);
    font-family: "Helvetica Neue";
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    max-width: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.haven-about,
.haven-contact,
.haven-masterplan,
.haven-final-cta {
    background: var(--haven-mist);
}

.haven-about {
    padding: calc(120 * var(--hs)) 0;
}

.haven-about > .haven-container {
    width: 100% !important;
    max-width: calc(1512 * var(--hs)) !important;
    margin-inline: auto !important;
    padding: 0 calc(44 * var(--hs)) !important;
    display: flex;
    flex-direction: column;
    gap: calc(32 * var(--hs));
}

.haven-about .haven-section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--Text-primary, #043034) !important;
    font-family: var(--haven-helvetica-font) !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    white-space: nowrap;
}

.haven-about .haven-section-label::before {
    content: "";
    width: 14px;
    height: 14px;
    aspect-ratio: 1 / 1;
    background: var(--Text-primary, #043034);
    border-radius: 0;
    clip-path: polygon(0 0, 60.14% 0, 100% 20.27%, 100% 100%, 39.86% 100%, 0 79.73%);
    flex: 0 0 auto;
    display: block;
    transform: translateY(-1px);
}

.haven-about h2 {
    width: auto;
    max-width: 100%;
    margin: 0;
    color: #043034;
    font-family: "Dachi The Lynx";
    font-size: 64px;
    font-style: normal;
    font-weight: 400;
    line-height: 80px;
    letter-spacing: 0;
}

.haven-about__layout {
    display: flex;
    align-items: flex-start;
    gap: calc(200 * var(--hs));
    width: 100%;
    margin-top: calc(12 * var(--hs));
}

.haven-feature-card {
    width: 400px;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 36px;
    height: auto;
}

.haven-feature-card__picture {
    display: block;
    width: 100%;
    overflow: hidden;
}

.haven-feature-card > div {
    width: 400px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 36px;
}

.haven-feature-card img {
    width: 100%;
    height: calc(496 * var(--hs));
    object-fit: cover;
    object-position: center;
    display: block;
    margin: 0;
}

.haven-feature-card h3 {
    display: none;
}

.haven-feature-card p {
    margin: 0;
    color: var(--Text-secondary, #0E2B2E);
    font-family: "Helvetica Neue";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.haven-feature-card .haven-btn {
    align-self: flex-start;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 20px 24px;
    background: #075056;
    border: 0;
    border-radius: 6px;
    color: var(--haven-white);
    font-family: var(--haven-helvetica-font);
    font-size: calc(16 * var(--hs));
    font-weight: 500;
    line-height: calc(20 * var(--hs));
    letter-spacing: calc(0.16 * var(--hs));
    text-transform: none;
    min-width: 0;
    min-height: 0;
    width: auto;
    height: auto;
}

.haven-benefits {
    display: flex;
    padding-top: 100px;
    flex-direction: column;
    align-items: flex-start;
    flex: 1 0 0;
    min-width: 0;
    gap: 0;
}

.haven-benefit {
    position: relative;
    width: 100%;
    display: flex;
    padding: 28px 0 20px 0;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    border-bottom: 1px solid #B6C8CB;
}

.haven-benefit__top {
    width: 100%;
    display: grid;
    grid-template-columns: 52px 1fr 32px;
    align-items: center;
    gap: 17px;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    color: #043034;
}

.haven-benefit__top > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
    padding-bottom: 12px;
    box-sizing: content-box;
    overflow: hidden;
}

.haven-benefit__top span img {
    width: 52px;
    height: 52px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    flex: 0 0 auto;
}

.haven-benefit__top strong,
.haven-benefit strong {
    margin: 0;
    color: var(--Text-primary, #043034);
    font-family: "Dachi The Lynx";
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.haven-benefit__top i {
    width: 32px;
    height: 32px;
    aspect-ratio: 1 / 1;
    color: transparent;
    font-size: 0;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    opacity: 1;
    text-align: center;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--Text-primary, #043034);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M14.4375 7.5625C14.4375 6.69955 15.1371 6 16 6C16.8629 6 17.5625 6.69955 17.5625 7.5625V14.4375H24.4375C25.3004 14.4375 26 15.1371 26 16C26 16.8629 25.3004 17.5625 24.4375 17.5625H17.5625V24.4375C17.5625 25.3004 16.8629 26 16 26C15.1371 26 14.4375 25.3004 14.4375 24.4375V17.5625H7.5625C6.69955 17.5625 6 16.8629 6 16C6 15.1371 6.69955 14.4375 7.5625 14.4375H14.4375V7.5625Z' fill='%23043034'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M14.4375 7.5625C14.4375 6.69955 15.1371 6 16 6C16.8629 6 17.5625 6.69955 17.5625 7.5625V14.4375H24.4375C25.3004 14.4375 26 15.1371 26 16C26 16.8629 25.3004 17.5625 24.4375 17.5625H17.5625V24.4375C17.5625 25.3004 16.8629 26 16 26C15.1371 26 14.4375 25.3004 14.4375 24.4375V17.5625H7.5625C6.69955 17.5625 6 16.8629 6 16C6 15.1371 6.69955 14.4375 7.5625 14.4375H14.4375V7.5625Z' fill='%23043034'/%3E%3C/svg%3E") center / contain no-repeat;
}

.haven-benefit.is-active .haven-benefit__top i {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cg clip-path='url(%23clip0_25_674)'%3E%3Cpath d='M7.86881 7.86953C8.47913 7.25921 9.46819 7.25921 10.0785 7.86953L24.1305 21.9215C24.7408 22.5318 24.7408 23.5209 24.1305 24.1312C23.5202 24.7415 22.5311 24.7415 21.9208 24.1312L7.86881 10.0792C7.25849 9.46892 7.25849 8.47985 7.86881 7.86953Z' fill='%23043034'/%3E%3Cpath d='M7.86881 21.9208L21.9208 7.86878C22.5311 7.25846 23.5202 7.25846 24.1305 7.86878C24.7408 8.4791 24.7408 9.46817 24.1305 10.0785L10.0785 24.1305C9.46819 24.7408 8.47913 24.7408 7.86881 24.1305C7.25849 23.5201 7.25849 22.5311 7.86881 21.9208Z' fill='%23043034'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_25_674'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cg clip-path='url(%23clip0_25_674)'%3E%3Cpath d='M7.86881 7.86953C8.47913 7.25921 9.46819 7.25921 10.0785 7.86953L24.1305 21.9215C24.7408 22.5318 24.7408 23.5209 24.1305 24.1312C23.5202 24.7415 22.5311 24.7415 21.9208 24.1312L7.86881 10.0792C7.25849 9.46892 7.25849 8.47985 7.86881 7.86953Z' fill='%23043034'/%3E%3Cpath d='M7.86881 21.9208L21.9208 7.86878C22.5311 7.25846 23.5202 7.25846 24.1305 7.86878C24.7408 8.4791 24.7408 9.46817 24.1305 10.0785L10.0785 24.1305C9.46819 24.7408 8.47913 24.7408 7.86881 24.1305C7.25849 23.5201 7.25849 22.5311 7.86881 21.9208Z' fill='%23043034'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_25_674'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E") center / contain no-repeat;
}

.haven-benefit__body {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.25s ease;
    display: flex;
    flex-direction: column;
    gap: calc(24 * var(--hs));
}

.haven-benefit.is-active .haven-benefit__body {
    max-height: calc(800 * var(--hs));
    opacity: 1;
    margin-top: calc(24 * var(--hs));
}

.haven-benefit__body p {
    width: 580px;
    margin: 0;
    color: var(--Text-secondary, #0E2B2E);
    font-family: "Helvetica Neue";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    max-width: 100%;
}

.haven-mini-link {
    display: flex;
    align-self: flex-start;
    margin: 0;
    padding: 20px 24px;
    justify-content: center;
    align-items: center;
    gap: 12px;
    border-radius: 6px;
    background: #075056;
    color: var(--haven-white);
    font-family: var(--haven-helvetica-font);
    font-size: calc(16 * var(--hs));
    font-weight: 500;
    line-height: calc(20 * var(--hs));
    letter-spacing: calc(0.16 * var(--hs));
    text-transform: none;
    text-decoration: none;
    min-width: 0;
    min-height: 0;
}

.haven-mini-link:hover {
    color: var(--haven-white);
    background: #063f44;
}

.haven-benefit__images {
    margin: 0;
    display: flex;
    gap: calc(16 * var(--hs));
    width: 100%;
}

.haven-benefit__images a {
    flex: 1 1 0;
    min-width: 0;
    display: block;
    text-decoration: none;
    cursor: zoom-in;
}

.haven-benefit__images img {
    aspect-ratio: 264/196;
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* Masterplan section - Figma 9:108 */
.haven-masterplan {
    display: flex;
    padding: 64px 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    background: var(--haven-mist);
}

.haven-masterplan > .haven-container {
    width: 100% !important;
    max-width: calc(1512 * var(--hs)) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    cursor: pointer;
}

.haven-masterplan img {
    width: 100%;
    height: 682px;
    align-self: stretch;
    aspect-ratio: 149 / 73;
    margin: 0;
    object-fit: cover;
    object-position: 0 -35px;
    display: block;
}

/* Location section - Figma 9:110 */
.haven-location {
    display: flex;
    padding: 64px 44px;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    align-self: stretch;
    background: #075056;
    color: var(--haven-white);
}

.haven-location > .haven-container {
    width: 100% !important;
    max-width: 1424px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.haven-section-label--light {
    color: var(--haven-white) !important;
}

.haven-section-label--icon::before {
    display: none !important;
}

.haven-section-label--icon img {
    width: calc(14 * var(--hs)) !important;
    height: calc(14 * var(--hs)) !important;
    object-fit: contain;
    flex: 0 0 auto;
}

.haven-section-label--icon {
    font-family: var(--haven-helvetica-font) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: calc(8 * var(--hs)) !important;
    margin: 0 !important;
    color: var(--haven-white) !important;
    font-size: calc(18 * var(--hs)) !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}

.haven-location .haven-section-label--icon {
    color: var(--Text-inverted-inverted, #FFF) !important;
    font-family: var(--haven-helvetica-font) !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: none !important;
}

.haven-location .haven-section-label--icon img {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
}

.haven-location .haven-section-label--icon::before {
    display: none !important;
}

.haven-location__content {
    display: flex;
    height: 194px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    align-self: stretch;
}

.haven-location__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    flex: 0 0 auto;
}

.haven-location__title {
    margin: 0;
    flex: 0 0 auto;
}

.haven-location h2 {
    margin: 0;
    color: var(--Text-inverted-inverted, #FFF);
    font-family: "Dachi The Lynx";
    font-size: 48px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0;
    white-space: nowrap;
}

.haven-location__meta > p:not(.haven-location__address) {
    margin: 0;
    color: #E4EEF0;
    font-family: var(--haven-helvetica-font);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    width: 685px;
    max-width: 100%;
}

.haven-location__meta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 44px;
    margin: 0;
    width: 100%;
    font-family: "Helvetica Neue";
    flex: 0 0 auto;
}

.haven-location__address {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    justify-content: flex-end;
    color: var(--Text-inverted-inverted, #FFF);
    font-family: "Helvetica Neue";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: none;
    margin: 0;
}

.haven-location__address img {
    width: 16px !important;
    height: 16px !important;
    max-width: none !important;
    flex: 0 0 auto;
    background: transparent;
}

.haven-location p.haven-location__address {
    width: auto !important;
    flex: 0 0 auto;
}

.haven-location__map {
    width: 100%;
    height: 656px;
    padding: 0;
    align-self: stretch;
    display: block;
    background: var(--haven-mist);
    margin: 0;
    text-decoration: none;
}

.haven-location__map img,
.haven-location > .haven-container > img {
    width: 100%;
    height: 100%;
    padding: 0;
    display: block;
    object-fit: cover;
    object-position: center;
    margin: 0;
}

.haven-location > .haven-container > p.haven-section-label--icon {
    align-self: flex-start;
}

.haven-contact {
    padding: 96px 0 84px;
}

.haven-contact__grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(460px, 1.2fr);
    gap: 94px;
    align-items: start;
}

.haven-contact__meta {
    display: grid;
    gap: 12px;
    margin-top: 34px;
}

.haven-contact__meta span {
    display: block;
}

.haven-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 34px;
    background: rgba(255, 255, 255, 0.54);
    border: 1px solid rgba(7, 80, 86, 0.12);
}

.haven-form label {
    display: grid;
    gap: 8px;
    margin: 0;
}

.haven-form span {
    color: rgba(7, 43, 48, 0.64);
    font-size: 12px;
    font-weight: 800;
}

.haven-form input,
.haven-form select,
.haven-form textarea {
    width: 100%;
    min-height: 52px;
    border: 0;
    border-bottom: 1px solid rgba(7, 80, 86, 0.26);
    background: var(--haven-white);
    color: var(--haven-ink);
    padding: 12px 14px;
    outline: 0;
    border-radius: 0;
}

.haven-form textarea {
    resize: vertical;
}

.haven-form input:focus,
.haven-form select:focus,
.haven-form textarea:focus {
    border-color: var(--haven-green);
}

.haven-form__wide,
.haven-form button {
    grid-column: 1 / -1;
}

.haven-form button {
    width: 100%;
}

/* Consult section - Figma 9:134 */
.haven-consult {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 120px;
    align-self: stretch;
    background: var(--haven-mist);
    padding: 0;
    padding-top: 120px;
}

.haven-consult__inner {
    width: 100% !important;
    max-width: calc(1208.5 * var(--hs)) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 72px;
    align-items: center;
    justify-content: center;
}

.haven-consult__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 32px;
    width: 100%;
}

.haven-consult .haven-section-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--Text-primary, #043034) !important;
    font-family: var(--haven-helvetica-font) !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    align-self: flex-start;
    white-space: nowrap;
}

.haven-consult .haven-section-label::before {
    content: "" !important;
    width: 14px !important;
    height: 14px !important;
    aspect-ratio: 1 / 1 !important;
    background: var(--Text-primary, #043034) !important;
    border-radius: 0 !important;
    clip-path: polygon(0 0, 60.14% 0, 100% 20.27%, 100% 100%, 39.86% 100%, 0 79.73%) !important;
    flex: 0 0 auto !important;
    display: block !important;
    transform: translateY(-1px);
}

.haven-consult .haven-section-label img {
    display: none !important;
}

.haven-consult h2 {
    max-width: none;
    margin: 0;
    align-self: flex-start;
    color: #043034;
    font-family: "Dachi The Lynx";
    font-size: 48px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0;
    white-space: nowrap;
}

.haven-consult__grid {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
    width: 100%;
}

.haven-consult__aside {
    display: flex;
    flex-direction: column;
    gap: 32px;
    justify-content: center;
    width: 199px;
    flex: 0 0 auto;
    color: #043034;
}

.haven-consult__aside h3 {
    margin: 0;
    color: #043034;
    font-family: var(--haven-helvetica-font);
    font-size: 22px;
    font-style: normal;
    line-height: 25px;
    font-weight: 700;
    text-align: left;
    width: 100%;
}

.haven-consult__aside > div {
    display: flex;
    padding: 32px 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    align-self: stretch;
    margin: 0;
    border-bottom: 1px solid var(--Border-on-secondary, #B6C8CB);
    width: 100%;
}

.haven-consult__aside > div:last-child {
    border-bottom: 0;
}

.haven-consult__aside span {
    color: #043034;
    font-family: "Helvetica Neue";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.haven-consult__form {
    display: flex;
    width: 803px;
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    border-radius: 8px;
    background: #FFF;
    flex: 0 0 auto;
    overflow: hidden;
}

.haven-consult__form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    width: 100%;
}

.haven-consult__form span {
    color: var(--Text-primary, #043034);
    font-family: "Helvetica Neue";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: none;
}

.haven-consult__form i {
    display: inline-block;
    width: 8px;
    height: 8px;
    aspect-ratio: 1 / 1;
    background: #FF1C1C;
    color: transparent;
    font-style: normal;
    font-size: 0;
    line-height: 0;
    vertical-align: text-top;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cg clip-path='url(%23clip0_25_846)'%3E%3Cpath d='M6.8818 6.60006L5.48582 7.5595C5.04715 6.94799 4.52422 6.11817 3.91266 5.0701C3.34436 6.16354 2.86464 6.99336 2.42813 7.5595L1.07322 6.60006C1.94624 5.50661 2.60315 4.76543 2.99426 4.41533C1.99161 4.24028 1.07322 4.02208 0.200195 3.76062L0.72315 2.14419C1.94624 2.58071 2.8214 2.9308 3.38757 3.27868C3.25792 1.88273 3.16931 0.921126 3.16931 0.441406H4.82892C4.78568 1.18259 4.69927 2.14419 4.56743 3.27868C5.35403 2.88759 6.27027 2.49429 7.27508 2.1874L7.8002 3.80377C6.83857 4.11066 5.87913 4.32892 4.96073 4.45859C5.35403 4.80864 6.00878 5.55198 6.8818 6.60006Z' fill='%23FF1C1C'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_25_846'%3E%3Crect width='8' height='8' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cg clip-path='url(%23clip0_25_846)'%3E%3Cpath d='M6.8818 6.60006L5.48582 7.5595C5.04715 6.94799 4.52422 6.11817 3.91266 5.0701C3.34436 6.16354 2.86464 6.99336 2.42813 7.5595L1.07322 6.60006C1.94624 5.50661 2.60315 4.76543 2.99426 4.41533C1.99161 4.24028 1.07322 4.02208 0.200195 3.76062L0.72315 2.14419C1.94624 2.58071 2.8214 2.9308 3.38757 3.27868C3.25792 1.88273 3.16931 0.921126 3.16931 0.441406H4.82892C4.78568 1.18259 4.69927 2.14419 4.56743 3.27868C5.35403 2.88759 6.27027 2.49429 7.27508 2.1874L7.8002 3.80377C6.83857 4.11066 5.87913 4.32892 4.96073 4.45859C5.35403 4.80864 6.00878 5.55198 6.8818 6.60006Z' fill='%23FF1C1C'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_25_846'%3E%3Crect width='8' height='8' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E") center / contain no-repeat;
}

.haven-consult__form input,
.haven-consult__form select {
    width: 100%;
    display: flex;
    padding: 14px 12px 16px 12px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    border-radius: 6px;
    border: 1px solid #E9E8E8;
    background: #FAFAFA;
    color: #043034;
    font-family: var(--haven-helvetica-font);
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    outline: 0;
    min-height: 0;
}

.haven-consult__form select {
    padding: 12px;
    border-radius: 4px;
    line-height: 25px;
    appearance: none;
    background-image: url("/images/figma/select-arrow.svg");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px 16px;
}

.haven-consult__form input::placeholder,
.haven-consult__form select::placeholder {
    color: #838383;
}

.haven-consult__form input:focus,
.haven-consult__form select:focus {
    border-color: var(--haven-green);
    background: var(--haven-white);
}

.haven-consult__form button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px 24px;
    background: var(--Button-primary-default, #075056);
    border: 0;
    border-radius: 6px;
    color: var(--haven-white);
    font-family: var(--haven-helvetica-font);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: calc(0.16 * var(--hs));
    text-transform: none;
    min-height: 0;
    cursor: pointer;
}

.haven-consult__form button .haven-button-text,
.haven-consult__form button .haven-button-text__inner {
    color: var(--Text-inverted-inverted, #FFF);
    font-family: var(--haven-helvetica-font);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: calc(0.16 * var(--hs));
    text-transform: none;
}

.haven-consult__cards {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 100%;
    border-top: 1px solid rgba(7, 80, 86, 0.26);
    border-bottom: 1px solid rgba(7, 80, 86, 0.26);
}

.haven-consult__cards article {
    display: flex;
    padding: 32px;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    flex: 1 0 0;
    min-width: 0;
    position: relative;
    text-align: center;
    border: 0 solid #075056;
}

.haven-consult__cards article:first-child {
    border-left: 0;
}

.haven-consult__cards article:nth-child(2) {
    border-left-width: 1px;
    border-right-width: 1px;
}

.haven-consult__cards article:last-child {
    border-right: 0;
}

.haven-consult__cards img {
    width: 44px;
    height: 44px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    margin: 0;
}

.haven-consult__cards h3 {
    align-self: stretch;
    margin: 0;
    color: var(--Text-primary, #043034);
    text-align: center;
    font-family: var(--haven-helvetica-font);
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    width: 100%;
}

.haven-consult__cards p {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: none;
    margin: 0;
    color: var(--Text-secondary-softer, rgba(14, 43, 46, 0.80));
    text-align: center;
    font-family: var(--haven-helvetica-font);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    white-space: nowrap;
}

.haven-consult__cards p span {
    display: block;
    color: inherit;
    font: inherit;
    line-height: 160%;
    white-space: nowrap;
}

/* Final CTA Banner - Figma 9:208 (the rounded card portion) */
.haven-final-cta {
    padding: 0;
    background: #e4eef000;
    position: relative;
    z-index: 10;
    isolation: isolate;
}

.haven-final-cta--home {
    padding: calc(140 * var(--hs)) 0 0;
}

.haven-final-cta > .haven-container {
    width: 100% !important;
    max-width: calc(1512 * var(--hs)) !important;
    margin-inline: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    display: flex;
    justify-content: center;
}

.haven-final-cta__card {
    position: relative;
    z-index: 2;
    width: calc(1448 * var(--hs));
    height: calc(406 * var(--hs));
    min-height: 0;
    padding: 0;
    margin: 0 auto;
    color: var(--haven-white);
    overflow: hidden;
    border-radius: calc(12 * var(--hs));
    display: block;
}

.haven-final-cta__picture {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    overflow: hidden;
    border-radius: inherit;
}

.haven-final-cta__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: calc(100% + 24px);
    object-fit: cover;
    object-position: center bottom;
    z-index: 0;
    transform: translateY(53px);
    border-radius: inherit;
}

.haven-final-cta__card h2,
.haven-final-cta__card a {
    position: absolute;
    z-index: 1;
    top: calc(134 * var(--hs));
}

.haven-final-cta__card h2 {
    display: flex;
    flex-direction: column;
    left: calc(64 * var(--hs));
    margin: 0;
    color: var(--haven-white);
    font-family: var(--haven-display-font);
    font-size: calc(48 * var(--hs));
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0;
    max-width: calc(900 * var(--hs));
}

.haven-final-cta__card .haven-btn {
    right: calc(64 * var(--hs));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(8 * var(--hs));
    padding: calc(20 * var(--hs)) calc(32 * var(--hs));
    background: var(--haven-white);
    border: 0;
    border-radius: calc(6 * var(--hs));
    color: #043034;
    font-family: var(--haven-helvetica-font);
    font-size: calc(20 * var(--hs));
    font-weight: 500;
    line-height: normal;
    letter-spacing: calc(0.2 * var(--hs));
    text-transform: none;
    text-decoration: none;
    min-width: 0;
    min-height: 0;
    width: auto;
    height: auto;
}

.haven-final-cta__card .haven-btn:hover {
    background: #e4eef0;
    color: #043034;
}

.haven-final-cta__card .haven-button-bullet {
    width: calc(10 * var(--hs));
    height: calc(10 * var(--hs));
    border-color: #043034;
    background: transparent;
}

.haven-final-cta__card .haven-btn:hover .haven-button-bullet {
    background: #043034;
}

.haven-final-cta__card .haven-button-text,
.haven-final-cta__card .haven-button-text__inner {
    font-family: var(--haven-helvetica-font) !important;
    font-size: calc(20 * var(--hs)) !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: calc(0.2 * var(--hs)) !important;
    color: #043034 !important;
}

.haven-footer {
    background: var(--haven-green);
    color: var(--haven-white);
    margin-top: calc(-204 * var(--hs));
    padding: calc(204 * var(--hs)) calc(64 * var(--hs)) calc(10 * var(--hs));
    position: relative;
    z-index: 1;
}

.haven-footer__grid {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: calc(64 * var(--hs));
    width: 100%;
    max-width: calc(1384 * var(--hs));
    padding: 0;
}

.haven-footer__brand-main img {
    width: calc(225.455 * var(--hs));
    height: calc(80 * var(--hs));
    display: block;
    margin: 0;
}

.haven-footer h3 {
    display: flex;
    align-items: center;
    gap: calc(8 * var(--hs));
    margin: 0;
    color: var(--haven-white);
    font-family: var(--haven-helvetica-font);
    font-size: calc(16 * var(--hs));
    font-weight: 500;
    line-height: normal;
    text-transform: none;
    white-space: nowrap;
}

.haven-footer h3 > span[aria-hidden="true"] {
    width: calc(12 * var(--hs));
    height: calc(12 * var(--hs));
    display: inline-block;
    background: var(--haven-mist);
    border-radius: 0;
    clip-path: polygon(0 0, 60.14% 0, 100% 20.27%, 100% 100%, 39.86% 100%, 0 79.73%);
    flex: 0 0 auto;
    transform: translateY(-1px);
}

.haven-footer h3 .haven-footer__heading-text {
    display: inline-block;
    color: inherit;
    font: inherit;
    line-height: inherit;
    white-space: inherit;
    transform: translateY(2px);
}

.haven-footer p {
    max-width: none;
    margin: 0;
    color: var(--haven-white);
    font-family: var(--haven-helvetica-font);
    font-size: calc(16 * var(--hs));
    font-weight: 400;
    line-height: 160%;
}

.haven-footer a,
.haven-footer span {
    display: block;
    color: var(--Background-secondary, #E4EEF0);
    font-family: "Helvetica Neue";
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration: none;
    white-space: nowrap;
}

.haven-footer a:hover {
    color: var(--haven-white);
}

.haven-footer__brand {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(12 * var(--hs));
    align-self: stretch;
    flex: 0 0 auto;
    padding-right: calc(80 * var(--hs));
    border-right: 1px solid rgba(255, 255, 255, 0.30);
}

.haven-footer__brand::after {
    display: none;
}

.haven-footer__brand-main {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(24 * var(--hs));
    padding: calc(44 * var(--hs)) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.30);
}

.haven-footer__brand-main p {
    width: calc(356 * var(--hs));
}

.haven-footer__copyright {
    display: flex;
    align-items: center;
    gap: calc(8 * var(--hs));
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--haven-white);
    font-family: var(--haven-helvetica-font);
    font-size: calc(16 * var(--hs));
    font-weight: 400;
    line-height: normal;
    white-space: nowrap;
}

.haven-footer__copyright-icon {
    width: calc(12 * var(--hs));
    height: calc(12 * var(--hs));
    flex: 0 0 auto;
    display: block;
    object-fit: contain;
    transform: translateY(-1px);
}

.haven-footer__copyright span {
    color: var(--haven-white);
    font-size: calc(16 * var(--hs));
    line-height: normal;
}

.haven-footer__copyright strong {
    color: var(--haven-white);
    font-family: "Montserrat", sans-serif;
    font-size: calc(16 * var(--hs));
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    white-space: nowrap;
}

.haven-footer__links {
    display: flex;
    align-items: flex-start;
    gap: calc(88 * var(--hs));
    padding: calc(44 * var(--hs)) 0;
}

.haven-footer__col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: calc(20 * var(--hs));
}

.haven-footer__col--language {
    display: none;
}

.haven-footer__col h3 {
    margin-bottom: calc(12 * var(--hs));
}

.haven-page {
    background: var(--haven-mist);
    color: var(--haven-green);
    padding-top: 96px;
}

.haven-about-page {
    padding-top: calc(142 * var(--hs));
}

.haven-about-hero .haven-container,
.haven-about-master .haven-container,
.haven-story .haven-container,
.haven-about-features .haven-container,
.haven-partners .haven-container {
    width: calc(100% - calc(104 * var(--hs)));
    max-width: calc(1408 * var(--hs));
}

.haven-about-hero {
    padding: 0;
}

.haven-about-hero__grid {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: calc(64 * var(--hs));
    min-height: calc(150 * var(--hs));
}

.haven-about-hero h1,
.haven-story h2 {
    margin: 0;
    color: var(--haven-green);
    font-size: clamp(40px, 4.8vw, 68px);
    line-height: 1.03;
    font-weight: 900;
    letter-spacing: 0;
}

.haven-about-hero h1 {
    flex: 0 0 auto;
    color: var(--Text-primary, #043034);
    font-family: "Dachi The Lynx";
    font-size: calc(52 * var(--hs));
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    white-space: nowrap;
}

.haven-about-hero p,
.haven-story__copy p,
.haven-about-features p {
    margin: 0;
    color: rgba(7, 43, 48, 0.78);
    font-size: 17px;
    line-height: 1.85;
}

.haven-about-hero p {
    flex: 0 1 calc(854 * var(--hs));
    max-width: calc(854 * var(--hs));
    min-width: 0;
    padding-bottom: calc(20 * var(--hs));
    color: var(--Text-secondary, #0E2B2E);
    font-family: var(--haven-helvetica-font);
    font-size: calc(18 * var(--hs));
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.haven-about-master {
    margin-top: calc(60 * var(--hs));
    padding: 0;
}

.haven-stat-image {
    position: relative;
    width: calc(1408 * var(--hs));
    max-width: 100%;
    height: auto;
    aspect-ratio: 5632 / 3800;
    overflow: hidden;
}

.haven-stat-image img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.haven-stat-image__stats {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    background: transparent;
    pointer-events: none;
}

.haven-stat-image__stats::before,
.haven-stat-image__stats::after {
    content: "";
    position: absolute;
    top: 0;
    width: 1px;
    height: calc(949 * var(--hs));
    background: rgba(255, 255, 255, 0.26);
}

.haven-stat-image__stats::before {
    left: calc(467 * var(--hs));
}

.haven-stat-image__stats::after {
    left: calc(941.34 * var(--hs));
}

.haven-stat-image__stats strong {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: calc(16 * var(--hs));
    height: auto;
    min-height: 0;
    padding: 0;
    border-right: 0;
    color: var(--haven-white);
    font-family: "Dachi The Lynx";
    font-size: calc(52 * var(--hs));
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    white-space: nowrap;
    word-spacing: calc(16 * var(--hs));
    position: absolute;
    bottom: calc(34 * var(--hs));
}

.haven-stat-image__stats strong:first-child {
    left: calc(115 * var(--hs));
}

.haven-stat-image__stats strong:nth-child(2) {
    left: 50%;
    transform: translateX(-50%);
}

.haven-stat-image__stats strong:nth-child(3) {
    left: calc(985 * var(--hs));
    bottom: calc(42 * var(--hs));
}

.haven-stat-image__stats sup {
    align-self: flex-start;
    margin-left: calc(-12 * var(--hs));
    font-family: inherit;
    font-size: calc(24 * var(--hs));
    font-weight: 400;
    line-height: normal;
}

.haven-story {
    margin-top: calc(159 * var(--hs));
    padding: 0;
}

.haven-story__grid {
    display: flex;
    gap: calc(120 * var(--hs));
    align-items: start;
    min-height: calc(256 * var(--hs));
}

.haven-story__grid > div:first-child {
    display: flex;
    flex: 0 0 calc(565 * var(--hs));
    flex-direction: column;
    align-items: flex-start;
    gap: calc(32 * var(--hs));
}

.haven-story .haven-section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--Text-primary, #043034) !important;
    font-family: var(--haven-caps-font) !important;
    font-size: 18px !important;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: none !important;
    white-space: nowrap;
}

.haven-story .haven-section-label::before {
    content: "";
    width: 14px;
    height: 14px;
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
    display: block;
    border-radius: 0;
    background: var(--Text-primary, #043034);
    clip-path: polygon(0 0, 60.14% 0, 100% 20.27%, 100% 100%, 39.86% 100%, 0 79.73%);
}

.haven-story h2 {
    width: calc(565 * var(--hs));
    max-width: 100%;
    color: var(--Text-primary, #043034);
    font-family: "Dachi The Lynx";
    font-size: calc(36 * var(--hs));
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.haven-story__copy {
    display: flex;
    flex: 1 0 0;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(24 * var(--hs));
    min-width: 0;
}

.haven-story__copy p {
    width: 100%;
    min-width: 100%;
    margin: 0;
    color: var(--Text-secondary, #0E2B2E);
    font-family: var(--haven-helvetica-font);
    font-size: calc(18 * var(--hs));
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.haven-story__copy .haven-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 0;
    padding: 20px 24px;
    border: 0;
    border-radius: 6px;
    background: #075056;
    color: #FFF;
    font-family: var(--haven-caps-font) !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: 0.16px;
    text-transform: none !important;
}

.haven-about-gallery {
    margin-top: calc(100 * var(--hs));
    padding-bottom: 0;
    overflow: hidden;
}

.haven-about-gallery__track {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(24 * var(--hs));
    width: 100%;
    max-width: calc(1712 * var(--hs));
    margin-inline: auto;
}

.haven-about-gallery img {
    flex: 0 0 calc(400 * var(--hs));
    width: calc(400 * var(--hs));
    height: calc(500 * var(--hs));
    aspect-ratio: auto;
    object-fit: cover;
    display: block;
}

.haven-about-features {
    margin-top: calc(160 * var(--hs));
    padding: 0;
}

.haven-about-features__grid {
    display: flex;
    gap: calc(120 * var(--hs));
    align-items: center;
}

.haven-about-features__image {
    flex: 0 0 calc(528 * var(--hs));
    width: calc(528 * var(--hs));
    height: calc(655 * var(--hs));
    aspect-ratio: auto;
    object-fit: cover;
    display: block;
}

.haven-about-features__list {
    display: flex;
    flex: 0 0 calc(760 * var(--hs));
    width: calc(760 * var(--hs));
    height: calc(655 * var(--hs));
    flex-direction: column;
    align-items: flex-start;
    gap: calc(12 * var(--hs));
}

.haven-about-features article {
    width: 100%;
    display: grid;
    grid-template-columns: calc(52 * var(--hs)) 1fr;
    column-gap: calc(17 * var(--hs));
    row-gap: calc(16 * var(--hs));
    align-items: center;
    padding: calc(28 * var(--hs)) 0 calc(20 * var(--hs));
    border-bottom: 1px solid #B6C8CB;
}

.haven-about-features article:first-child {
    padding-top: 0;
}

.haven-about-features article:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.haven-about-features article img {
    grid-column: 1;
    grid-row: 1;
    width: calc(52 * var(--hs));
    height: calc(52 * var(--hs));
    padding-bottom: calc(12 * var(--hs));
    box-sizing: content-box;
    align-self: center;
    object-fit: contain;
}

.haven-about-features article > div {
    display: contents;
}

.haven-about-features h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    color: var(--Text-primary, #043034);
    font-family: "Dachi The Lynx";
    font-size: calc(32 * var(--hs));
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.haven-about-features p {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    color: var(--Text-secondary, #0E2B2E);
    font-family: var(--haven-helvetica-font);
    font-size: calc(16 * var(--hs));
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.haven-partners {
    margin-top: calc(153 * var(--hs));
    padding: calc(32 * var(--hs)) 0;
    background: rgba(255, 255, 255, 0.5);
    overflow: hidden;
}

.haven-partners__grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(60 * var(--hs));
}

.haven-partners__grid .haven-section-label {
    margin: 0;
}

.haven-partners__grid div {
    min-width: max-content;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: calc(63 * var(--hs));
    animation: havenLogosMarquee 16s linear infinite;
    will-change: transform;
}

.haven-partners:hover .haven-partners__grid div {
    animation-play-state: paused;
}

.haven-partners img {
    max-width: none;
    max-height: none;
    object-fit: contain;
}

.haven-partners img:nth-child(3n + 1) {
    width: calc(222 * var(--hs));
    height: calc(32 * var(--hs));
}

.haven-partners img:nth-child(3n + 2) {
    width: calc(163 * var(--hs));
    height: calc(44 * var(--hs));
}

.haven-partners img:nth-child(3n) {
    width: calc(177 * var(--hs));
    height: calc(44 * var(--hs));
}

.haven-final-cta--about-page {
    padding-top: calc(160 * var(--hs));
}

.haven-final-cta--about {
    padding: 120px 0 0;
}

.haven-project-page {
    min-height: 100vh;
}

.haven-selector {
    padding: 34px 0 0;
}

.haven-selector > .haven-container {
    width: 100% !important;
    max-width: calc(1512 * var(--hs)) !important;
    padding: 0 calc(52 * var(--hs)) !important;
}

.haven-selector__card {
    display: flex;
    align-items: flex-start;
    gap: calc(24 * var(--hs));
    width: calc(1408 * var(--hs));
    max-width: 100%;
    height: calc(728 * var(--hs));
    min-height: 0;
    padding: calc(24 * var(--hs));
    background: var(--haven-white);
    border-radius: calc(12 * var(--hs));
}

.haven-selector__tabs {
    display: flex;
    flex-direction: column;
    align-content: start;
    gap: calc(12 * var(--hs));
    width: calc(300 * var(--hs));
    flex: 0 0 calc(300 * var(--hs));
}

.haven-selector__tabs button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: calc(60 * var(--hs));
    padding: calc(20 * var(--hs)) calc(24 * var(--hs));
    border: 0;
    border-radius: calc(6 * var(--hs));
    background: #F4F8F9;
    color: #043034;
    font-family: var(--haven-caps-font);
    font-size: calc(16 * var(--hs));
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
    text-align: left;
}

.haven-selector__tabs button.active {
    background: var(--haven-green);
    color: var(--haven-white);
}

.haven-selector__tabs button span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(16 * var(--hs));
    height: calc(16 * var(--hs));
    font-family: var(--haven-helvetica-font);
    font-size: calc(22 * var(--hs));
    line-height: 1;
    transform: rotate(0deg);
}

.haven-selector__content {
    display: flex;
    align-items: center;
    gap: calc(48 * var(--hs));
    flex: 1 0 0;
    min-width: 0;
    height: calc(680 * var(--hs));
    min-height: 0;
    padding: calc(24 * var(--hs));
    border-radius: calc(8 * var(--hs));
    background: #F4F8F9;
}

.haven-selector__visual {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: calc(24 * var(--hs));
    width: calc(500 * var(--hs));
    height: calc(632 * var(--hs));
    min-height: 0;
    flex: 0 0 calc(500 * var(--hs));
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

.haven-plan-switch {
    display: flex;
    align-items: center;
    gap: calc(4 * var(--hs));
    padding: calc(4 * var(--hs));
    overflow: hidden;
    border-radius: calc(6 * var(--hs));
    background: var(--haven-white);
}

.haven-plan-switch button {
    width: calc(50 * var(--hs));
    min-width: calc(50 * var(--hs));
    height: calc(36 * var(--hs));
    padding: calc(6 * var(--hs)) calc(12 * var(--hs));
    border: 0;
    border-radius: calc(4 * var(--hs));
    background: transparent;
    color: #043034;
    font-family: var(--haven-helvetica-font);
    font-size: calc(20 * var(--hs));
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

.haven-plan-switch button.active {
    background: var(--haven-green);
    color: var(--haven-white);
}

.haven-plan-stage {
    position: relative;
    width: calc(500 * var(--hs));
    height: calc(520 * var(--hs));
    overflow: hidden;
    cursor: zoom-in;
}

.haven-plan-stage:focus-visible {
    outline: 2px solid var(--haven-green);
    outline-offset: 6px;
}

.haven-plan-stage:has(.haven-plan-image[data-plan="2d"].active) {
    width: calc(279 * var(--hs));
}

.haven-plan-image {
    display: none;
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    transform: translateX(-50%);
}

.haven-plan-image[data-plan="3d"] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.haven-plan-image[data-plan="2d"] {
    width: calc(548 * var(--hs));
}

.haven-plan-image.active {
    display: block;
}

.haven-plan-zoom-modal .mfp-container {
    padding: 32px;
}

.haven-plan-zoom-modal .mfp-content {
    max-width: min(1180px, calc(100vw - 64px));
}

.haven-plan-zoom-modal img.mfp-img {
    max-height: calc(100vh - 96px) !important;
    padding: 0;
    border-radius: 8px;
    background: #F4F8F9;
}

.haven-plan-zoom-modal .mfp-figure::after {
    display: none;
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
    opacity: 0;
    transition: opacity 240ms cubic-bezier(.76, 0, .24, 1);
}

.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: 0.86;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}

.haven-download {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(10 * var(--hs));
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #043034;
    font-family: var(--haven-caps-font);
    font-size: calc(16 * var(--hs));
    font-weight: 500;
    line-height: calc(18 * var(--hs));
    letter-spacing: calc(0.16 * var(--hs));
    text-transform: uppercase;
    text-decoration: none;
    overflow: visible;
    isolation: auto;
    white-space: nowrap;
}

.haven-download__icon {
    width: calc(20 * var(--hs));
    height: calc(20 * var(--hs));
    aspect-ratio: 1 / 1;
    flex: 0 0 calc(20 * var(--hs));
    object-fit: contain;
    display: block;
}

.haven-download .haven-button-text,
.haven-download .haven-button-text__inner,
.haven-download .haven-button-text::after {
    color: #043034 !important;
    font-family: var(--haven-caps-font) !important;
    font-size: calc(16 * var(--hs)) !important;
    font-weight: 500 !important;
    line-height: calc(18 * var(--hs)) !important;
    letter-spacing: calc(0.16 * var(--hs)) !important;
}

.haven-selector__info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: calc(440 * var(--hs));
    height: calc(609 * var(--hs));
    flex: 0 0 calc(440 * var(--hs));
    background: transparent;
    border-radius: 0;
    padding: 0;
}

.haven-selector__info h1 {
    margin: 0;
    color: #043034;
    font-family: var(--haven-caps-font);
    font-size: calc(18 * var(--hs));
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
}

.haven-price {
    display: flex;
    align-items: center;
    gap: calc(12 * var(--hs));
    margin-top: calc(12 * var(--hs));
    color: var(--haven-ink);
}

.haven-price__value {
    color: #0E2B2E;
    font-family: var(--haven-montserrat-font);
    font-size: calc(36 * var(--hs));
    font-weight: 800;
    line-height: normal;
    white-space: nowrap;
}

.haven-price__toggle {
    display: inline-flex;
    align-items: center;
    gap: calc(4 * var(--hs));
    padding: calc(4 * var(--hs));
    border-radius: calc(6 * var(--hs));
    background: var(--haven-white);
}

.haven-price__toggle button {
    width: calc(28 * var(--hs));
    height: calc(28 * var(--hs));
    padding: 0;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(4 * var(--hs));
    background: transparent;
    color: #043034;
    font-family: var(--haven-montserrat-font);
    font-size: calc(14 * var(--hs));
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.haven-price__toggle button.is-active {
    background: var(--haven-green);
    color: var(--haven-white);
}

.haven-project-metrics {
    display: flex;
    align-items: center;
    gap: calc(32 * var(--hs));
    margin-top: calc(12 * var(--hs));
}

.haven-project-metrics span {
    display: block;
    color: #043034;
    font-family: var(--haven-caps-font);
    font-size: calc(14 * var(--hs));
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    white-space: nowrap;
}

.haven-project-metrics strong {
    display: block;
    padding-top: calc(2 * var(--hs));
    color: #043034;
    font-family: var(--haven-montserrat-font);
    font-size: calc(20 * var(--hs));
    font-weight: 700;
    line-height: normal;
    white-space: nowrap;
}

.haven-project-badges {
    display: flex;
    flex-wrap: wrap;
    gap: calc(12 * var(--hs));
    width: 100%;
    margin: calc(16 * var(--hs)) 0 0;
    padding-bottom: calc(16 * var(--hs));
    border-bottom: 1px solid #D8E1E3;
}

.haven-project-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    padding: calc(6 * var(--hs)) calc(12 * var(--hs));
    border-radius: 999px;
    background: #DBE4E6;
    color: #043034;
    font-family: var(--haven-caps-font);
    font-size: calc(14 * var(--hs));
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
}

.haven-project-specs {
    display: flex;
    flex: 1 0 0;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(16 * var(--hs));
    width: 100%;
    min-height: 0;
    padding: calc(24 * var(--hs)) 0;
    overflow-y: auto;
    scrollbar-color: #ffffff #d6dfe1;
    scrollbar-width: thin;
}

.haven-selector__info > .haven-project-specs {
    max-height: calc(304 * var(--hs));
}

.haven-project-specs div {
    display: flex;
    align-items: center;
    gap: calc(12 * var(--hs));
    color: #043034;
    font-family: var(--haven-helvetica-font);
    font-size: calc(16 * var(--hs));
    line-height: normal;
    white-space: nowrap;
}

.haven-project-specs img {
    width: calc(32 * var(--hs));
    height: calc(32 * var(--hs));
    object-fit: contain;
    flex: 0 0 auto;
}

.haven-project-specs span {
    color: #043034;
    font-weight: 400;
}

.haven-project-specs strong {
    color: #043034;
    font-family: var(--haven-montserrat-font);
    font-size: calc(16 * var(--hs));
    font-weight: 700;
    line-height: normal;
}

.haven-selector__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(8 * var(--hs));
    width: 100%;
    min-height: 0;
    margin-top: 0;
    padding: calc(15 * var(--hs)) calc(24 * var(--hs));
    border-radius: calc(6 * var(--hs));
    background: var(--haven-green);
    color: var(--haven-white);
    font-family: var(--haven-caps-font);
    font-size: calc(16 * var(--hs));
    font-weight: 500;
    line-height: calc(18 * var(--hs));
    letter-spacing: calc(0.16 * var(--hs));
    text-transform: uppercase;
}

.haven-selector__cta .haven-button-text,
.haven-selector__cta .haven-button-text__inner,
.haven-selector__cta .haven-button-text::after {
    color: var(--haven-white) !important;
    font-family: var(--haven-caps-font) !important;
    font-size: calc(16 * var(--hs)) !important;
    font-weight: 500 !important;
    line-height: calc(18 * var(--hs)) !important;
    letter-spacing: calc(0.16 * var(--hs)) !important;
}

.haven-selector__mobile-details {
    display: none;
}

.haven-final-cta--project {
    padding-top: 0;
}

.haven-final-cta--project-detail-page {
    padding-top: calc(180 * var(--hs));
}

.haven-project-list-page {
    padding-top: 82px;
}

.haven-project-map {
    --project-map-scale: calc(100vw / 1694);
    position: relative;
    width: 100%;
    aspect-ratio: 1694 / 953;
    height: auto;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background: #e4eef0;
}

.haven-project-map__art {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.haven-project-map__art img {
    width: 100%;
    height: 100%;
    min-height: 0;
    display: block;
    object-fit: contain;
    object-position: center center;
}

.haven-project-map__overlay {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: auto;
}

.haven-project-map__shape {
    fill: rgba(7, 80, 86, 0);
    stroke: rgba(255, 255, 255, 0);
    stroke-width: 14;
    vector-effect: non-scaling-stroke;
    cursor: default;
    pointer-events: all;
    transition: fill 0.18s ease, stroke 0.18s ease, filter 0.18s ease;
}

.haven-project-map__shape.is-clickable {
    cursor: pointer;
}

.haven-project-map__shape.is-hovered,
.haven-project-map__shape:hover {
    fill: rgba(255, 255, 255, 0.38);
    stroke: rgba(255, 255, 255, 0);
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.22));
}

.haven-project-map__shape.is-sold {
    fill: rgba(132, 143, 147, 0.58);
    stroke: rgba(255, 255, 255, 0);
}

.haven-project-map__shape.is-sold.is-hovered,
.haven-project-map__shape.is-sold:hover {
    fill: rgba(132, 143, 147, 0.72);
    stroke: rgba(255, 255, 255, 0);
}

.haven-project-map__markers {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    display: block;
    pointer-events: none;
}

.haven-project-marker {
    position: absolute;
    left: var(--marker-left);
    top: var(--marker-top);
    z-index: 2;
    width: calc(40 * var(--project-map-scale));
    height: calc(40 * var(--project-map-scale));
    padding: 0;
    border: 0;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--Background-white, #FFF);
    color: var(--Text-primary, #043034);
    text-decoration: none;
    cursor: default;
    pointer-events: auto;
}

button.haven-project-marker {
    appearance: none;
    -webkit-appearance: none;
}

a.haven-project-marker {
    cursor: pointer;
}

.haven-project-marker.is-sold span {
    background: #9aa5a8;
    color: var(--Background-white, #FFF);
}

.haven-project-marker::before {
    content: "";
    position: absolute;
    inset: calc(-8 * var(--project-map-scale));
    border: 1px solid var(--Border-soft, #FFF);
    border-radius: 999px;
    opacity: 0;
    transition: opacity 0.18s ease;
    pointer-events: none;
}

.haven-project-marker.is-hovered::before,
.haven-project-marker:focus-visible::before {
    opacity: 1;
}

.haven-project-marker span {
    width: calc(40 * var(--project-map-scale));
    height: calc(40 * var(--project-map-scale));
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--Background-white, #FFF);
    color: var(--Text-primary, #043034);
    font-family: "Dachi The Lynx";
    font-size: calc(22 * var(--project-map-scale));
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: center;
}

.haven-project-marker:focus-visible {
    outline: none;
}

.haven-project-map__card {
    position: absolute;
    left: var(--card-left);
    top: var(--card-top);
    --arrow-y: 143;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(16 * var(--project-map-scale));
    width: calc(256 * var(--project-map-scale));
    height: calc(187 * var(--project-map-scale));
    padding: calc(24 * var(--project-map-scale));
    border-radius: calc(6 * var(--project-map-scale)) calc(6 * var(--project-map-scale)) 0 calc(6 * var(--project-map-scale));
    background: #fff;
    color: var(--Text-primary, #043034);
    text-decoration: none;
    opacity: 0;
    transform: none;
    transition: opacity 0.12s ease, left 0.12s ease, top 0.12s ease;
    pointer-events: none;
    box-sizing: border-box;
}

.haven-project-map__card.is-visible {
    opacity: 1;
    transform: none;
    pointer-events: none;
}

.haven-project-map__card::after {
    content: "";
    position: absolute;
    top: var(--arrow-top, calc(var(--arrow-y, 143) * var(--project-map-scale)));
    width: calc(44 * var(--project-map-scale));
    height: calc(44 * var(--project-map-scale));
    background: var(--Background-white, #FFF);
    transform-origin: center;
    pointer-events: none;
}

.haven-project-map__card.is-left::after {
    right: calc(-33 * var(--project-map-scale));
    clip-path: polygon(15% 6.7%, 100% 50%, 15% 93.3%);
    top: var(--arrow-top, calc(var(--arrow-y, 143) * var(--project-map-scale)));
}

.haven-project-map__card.is-right {
    border-radius: calc(6 * var(--project-map-scale)) calc(6 * var(--project-map-scale)) calc(6 * var(--project-map-scale)) 0;
}

.haven-project-map__card.is-right::after {
    left: calc(-33 * var(--project-map-scale));
    clip-path: polygon(85% 6.7%, 0 50%, 85% 93.3%);
    top: var(--arrow-top, calc(var(--arrow-y, 143) * var(--project-map-scale)));
}

.haven-project-map__card > span {
    width: 100%;
    height: calc(20 * var(--project-map-scale));
    margin: 0;
    color: var(--Text-primary, #043034);
    font-family: var(--haven-caps-font);
    font-size: calc(16 * var(--project-map-scale));
    font-style: normal;
    font-weight: 400;
    line-height: calc(20 * var(--project-map-scale));
    text-transform: uppercase;
    overflow: hidden;
}

.haven-project-map__card > strong {
    display: block;
    width: 100%;
    min-width: 100%;
    height: calc(44 * var(--project-map-scale));
    margin: 0;
    color: var(--Text-primary, #043034);
    font-family: var(--haven-montserrat-font);
    font-size: calc(36 * var(--project-map-scale));
    font-style: normal;
    font-weight: 800;
    line-height: calc(44 * var(--project-map-scale));
    letter-spacing: 0;
    white-space: nowrap;
}

.haven-project-map__card div {
    display: flex;
    align-items: flex-start;
    gap: calc(24 * var(--project-map-scale));
    width: 100%;
    height: calc(43 * var(--project-map-scale));
}

.haven-project-map__card p {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    color: var(--Text-primary, #043034);
    line-height: normal;
    white-space: nowrap;
}

.haven-project-map__card p > span {
    display: block;
    height: calc(17 * var(--project-map-scale));
    margin: 0;
    font-family: var(--haven-caps-font);
    font-size: calc(14 * var(--project-map-scale));
    font-style: normal;
    font-weight: 400;
    line-height: calc(17 * var(--project-map-scale));
    letter-spacing: 0;
    text-transform: uppercase;
}

.haven-project-map__card p strong {
    display: flex;
    align-items: flex-start;
    gap: calc(2 * var(--project-map-scale));
    height: calc(26 * var(--project-map-scale));
    margin: 0;
    color: var(--Text-primary, #043034);
    font-family: var(--haven-montserrat-font);
    font-size: calc(20 * var(--project-map-scale));
    font-style: normal;
    font-weight: 700;
    line-height: calc(24 * var(--project-map-scale));
    text-align: center;
    transform: translateY(calc(2 * var(--project-map-scale)));
}

.haven-project-map__card small {
    display: block;
    padding-top: calc(2 * var(--project-map-scale));
    font-family: var(--haven-helvetica-font);
    font-size: calc(20 * var(--project-map-scale));
    font-weight: 700;
    line-height: calc(24 * var(--project-map-scale));
}

.haven-project-map__card sup {
    display: block;
    margin: 0;
    font-family: var(--haven-helvetica-font);
    font-size: calc(10 * var(--project-map-scale));
    font-weight: 700;
    line-height: calc(12 * var(--project-map-scale));
}

.haven-map-house {
    cursor: pointer;
    pointer-events: auto;
}

.haven-map-house__shape {
    fill: rgba(7, 80, 86, 0);
    stroke: rgba(255, 255, 255, 0);
    stroke-width: 12;
    transition: fill 0.22s ease, stroke 0.22s ease, filter 0.22s ease;
    vector-effect: non-scaling-stroke;
    pointer-events: all;
}

.haven-map-house__label-bg {
    fill: var(--haven-white);
    stroke: var(--haven-green);
    stroke-width: 8;
    filter: drop-shadow(0 9px 16px rgba(0, 0, 0, 0.22));
    transition: fill 0.22s ease, stroke 0.22s ease, transform 0.22s ease;
    vector-effect: non-scaling-stroke;
    pointer-events: all;
}

.haven-map-house__label {
    fill: var(--haven-green);
    font-family: var(--haven-helvetica-font), Arial, sans-serif;
    font-size: 66px;
    font-weight: 800;
    text-anchor: middle;
    dominant-baseline: central;
    pointer-events: none;
    transition: fill 0.22s ease;
}

.haven-map-house:hover .haven-map-house__shape,
.haven-map-house.is-hovered .haven-map-house__shape,
.haven-map-house.is-selected .haven-map-house__shape {
    fill: rgba(7, 80, 86, 0.42);
    stroke: rgba(255, 255, 255, 0.96);
}

.haven-map-house:hover .haven-map-house__label-bg,
.haven-map-house.is-hovered .haven-map-house__label-bg,
.haven-map-house.is-selected .haven-map-house__label-bg {
    fill: var(--haven-green);
    stroke: var(--haven-white);
}

.haven-map-house:hover .haven-map-house__label,
.haven-map-house.is-hovered .haven-map-house__label,
.haven-map-house.is-selected .haven-map-house__label {
    fill: var(--haven-white);
}

.haven-map-house.is-sold .haven-map-house__shape {
    fill: rgba(130, 140, 144, 0.58);
    stroke: rgba(255, 255, 255, 0.96);
}

.haven-map-house.is-sold .haven-map-house__label-bg {
    fill: #9aa5a8;
    stroke: var(--haven-white);
}

.haven-map-house.is-sold .haven-map-house__label {
    fill: var(--haven-white);
}

.haven-map-house.is-empty {
    opacity: 0.72;
    pointer-events: none;
}

.haven-project-map__legend {
    position: absolute;
    right: 28px;
    bottom: 28px;
    z-index: 2;
    display: none;
    grid-template-columns: repeat(2, minmax(140px, 1fr));
    gap: 8px;
}

.haven-project-map__legend-item {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 12px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--haven-green);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease;
}

.haven-project-map__legend-item span {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--haven-green);
    color: var(--haven-white);
}

.haven-project-map__legend-item em {
    margin-left: auto;
    color: #8a9497;
    font-style: normal;
}

.haven-project-map__legend-item.is-hovered,
.haven-project-map__legend-item:hover {
    background: var(--haven-white);
    transform: translateY(-2px);
}

.haven-project-map__legend-item.is-sold {
    filter: grayscale(1);
    opacity: 0.68;
}

.haven-project-list {
    padding: 72px 0 92px;
    display: none;
}

@media (min-width: 769px) {
    .haven-project-list {
        display: none;
    }
}

.haven-project-list h1 {
    margin: 0 0 34px;
    color: var(--haven-green);
    font-size: clamp(38px, 4.5vw, 64px);
    line-height: 1.05;
    font-weight: 900;
}

.haven-project-list__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.haven-house-card {
    position: relative;
    padding: 22px;
    background: var(--haven-white);
    border-radius: 10px;
    transition: opacity 0.2s ease, transform 0.2s ease, filter 0.2s ease;
}

.haven-house-card.is-hovered {
    transform: translateY(-5px);
}

.haven-house-card.is-sold {
    filter: grayscale(1);
    opacity: 0.62;
}

.haven-house-card__image {
    position: relative;
    display: block;
    padding: 24px;
    border-radius: 6px;
    background: rgba(228, 238, 240, 0.42);
}

.haven-house-card__image img {
    width: 100%;
    aspect-ratio: 1.35;
    object-fit: contain;
    display: block;
}

.haven-house-card__image > span {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    padding: 7px 11px;
    border-radius: 999px;
    background: #9aa5a8;
    color: var(--haven-white);
    font-size: 12px;
    font-weight: 900;
}

.haven-house-card__body h2 {
    margin: 18px 0 8px;
    color: var(--haven-green);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 900;
}

.haven-house-card__price {
    display: flex;
    gap: 8px;
    align-items: baseline;
    color: var(--haven-ink);
}

.haven-house-card__price span,
.haven-house-card__price strong {
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
}

.haven-house-card__metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 18px 0 18px;
    padding-top: 16px;
    border-top: 1px solid var(--haven-line);
}

.haven-house-card__metrics span {
    display: block;
    color: rgba(7, 43, 48, 0.68);
    font-size: 13px;
    line-height: 1.15;
}

.haven-house-card__metrics strong {
    color: var(--haven-green);
    font-size: 18px;
    line-height: 1.2;
    font-weight: 900;
}

.haven-house-card__link {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid var(--haven-green);
    border-radius: 4px;
    color: var(--haven-green);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.haven-house-card__link:hover {
    background: var(--haven-green);
    color: var(--haven-white);
}

.haven-final-cta--project-list {
    padding-top: 0;
}

.haven-final-cta--projects-page {
    padding-top: calc(159 * var(--hs));
}

.haven-request-success {
    width: min(100%, calc(580 * var(--hs)));
    height: calc(600 * var(--hs));
    min-height: 600px;
    position: absolute;
    top: calc(386 * var(--hs));
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 44px;
    padding: calc(24 * var(--hs));
    background: var(--haven-white);
    border-radius: 8px;
    text-align: center;
    transform: translateX(-50%);
    overflow: hidden;
}

.haven-request-success[hidden] {
    display: none;
}

.haven-request-success__icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--haven-green);
    color: var(--haven-white);
    font-family: var(--haven-helvetica-font);
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
}

.haven-request-success h2 {
    width: 100%;
    max-width: none;
    margin: 0;
    color: var(--Text-primary, #043034);
    font-family: var(--haven-display-font);
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.haven-request-success p {
    width: 100%;
    max-width: none;
    margin: 0;
    color: var(--Text-primary, #043034);
    font-family: var(--haven-helvetica-font);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.haven-request-form.is-submitting {
    pointer-events: none;
    opacity: 0.72;
}

.haven-consult__form.is-submitting {
    pointer-events: none;
    opacity: 0.72;
}

.haven-consult__success {
    position: static;
    top: auto;
    left: auto;
    width: 803px;
    height: auto;
    min-height: 572px;
    flex: 0 0 auto;
    align-self: stretch;
    transform: none;
}

.haven-request-page {
    background: var(--haven-mist);
    color: var(--haven-green);
}

.haven-request-hero {
    min-height: calc(1058 * var(--hs));
    padding: 0;
    position: relative;
    overflow: visible;
}

.haven-request-hero__bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(620 * var(--hs));
    min-height: 620px;
    object-fit: cover;
    object-position: center center;
}

.haven-request-hero .haven-container {
    position: relative;
    z-index: 1;
    min-height: inherit;
}

.haven-request-hero__content {
    width: min(100%, calc(695 * var(--hs)));
    max-width: 695px;
    margin: 0 auto;
    padding-top: calc(160 * var(--hs));
    text-align: center;
}

.haven-request-hero h1 {
    margin: 0;
    color: var(--Text-primary, #043034);
    font-family: var(--haven-display-font);
    font-size: calc(44 * var(--hs));
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.haven-request-hero p {
    max-width: calc(546 * var(--hs));
    margin: calc(16 * var(--hs)) auto 0;
    color: var(--Text-primary, #043034);
    font-family: var(--haven-helvetica-font);
    font-size: calc(18 * var(--hs));
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
}

.haven-request-form {
    width: min(100%, calc(580 * var(--hs)));
    position: absolute;
    top: calc(386 * var(--hs));
    left: 50%;
    display: grid;
    gap: calc(24 * var(--hs));
    margin: 0;
    padding: calc(24 * var(--hs));
    background: var(--haven-white);
    border-radius: 8px;
    transform: translateX(-50%);
    overflow: hidden;
}

.haven-request-form label {
    display: grid;
    gap: 8px;
    margin: 0;
}

.haven-request-form label > span {
    display: inline-flex;
    align-items: flex-start;
    gap: 2px;
    color: var(--Text-primary, #043034);
    font-family: var(--haven-caps-font);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: none;
}

.haven-request-form label i {
    width: 8px;
    height: 8px;
    display: inline-block;
    flex: 0 0 auto;
    margin-top: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M6.8818 6.60006L5.48582 7.5595C5.04715 6.94799 4.52422 6.11817 3.91266 5.0701C3.34436 6.16354 2.86464 6.99336 2.42813 7.5595L1.07322 6.60006C1.94624 5.50661 2.60315 4.76543 2.99426 4.41533C1.99161 4.24028 1.07322 4.02208 0.200195 3.76062L0.72315 2.14419C1.94624 2.58071 2.8214 2.9308 3.38757 3.27868C3.25792 1.88273 3.16931 0.921126 3.16931 0.441406H4.82892C4.78568 1.18259 4.69927 2.14419 4.56743 3.27868C5.35403 2.88759 6.27027 2.49429 7.27508 2.1874L7.8002 3.80377C6.83857 4.11066 5.87913 4.32892 4.96073 4.45859C5.35403 4.80864 6.00878 5.55198 6.8818 6.60006Z' fill='%23FF1C1C'/%3E%3C/svg%3E") center / 8px 8px no-repeat;
    color: transparent;
    font-size: 0;
    line-height: 0;
}

.haven-request-form input,
.haven-request-form select {
    width: 100%;
    min-height: 47px;
    padding: 14px 12px 16px;
    border: 1px solid #E9E8E8;
    border-radius: 6px;
    background: #FAFAFA;
    color: var(--Text-primary, #043034);
    font-family: var(--haven-helvetica-font);
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    outline: 0;
}

.haven-request-form input::placeholder {
    color: var(--Text-placeholder, #838383);
}

.haven-request-form select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 40px;
    color: var(--Text-placeholder, #838383);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%23043034' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px 16px;
}

.haven-request-form input:focus,
.haven-request-form select:focus {
    border-color: var(--haven-green);
    background-color: var(--haven-white);
}

.haven-request-form button {
    width: 100%;
    min-height: 61px;
    padding: 20px 24px;
    justify-content: center;
    align-items: center;
    gap: 12px;
    border-radius: 6px;
    background: var(--Button-primary-default, #075056);
    font-family: var(--haven-caps-font);
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
}

.haven-request-steps {
    padding: 0 0 calc(187 * var(--hs));
}

.haven-request-steps .haven-consult__cards {
    width: min(100%, calc(1208 * var(--hs)));
    margin-top: 0;
    margin-inline: auto;
    min-height: calc(214 * var(--hs));
    border-top: 1px solid rgba(7, 80, 86, 0.24);
    border-bottom: 1px solid rgba(7, 80, 86, 0.24);
}

.haven-request-steps .haven-consult__cards article {
    min-height: calc(214 * var(--hs));
    padding: 32px;
    gap: 16px;
    border-color: #075056;
}

.haven-request-steps .haven-consult__cards img {
    width: 44px;
    height: 44px;
}

.haven-request-steps .haven-consult__cards h3 {
    color: var(--Text-primary, #043034);
    text-align: center;
    font-family: var(--haven-helvetica-font);
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.haven-request-steps .haven-consult__cards p {
    color: var(--Text-secondary-softer, rgba(14, 43, 46, 0.80));
    text-align: center;
    font-family: var(--haven-helvetica-font);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    white-space: nowrap;
}

.haven-request-steps .haven-consult__cards p span {
    display: block;
}

.haven-final-cta--request {
    padding: 0;
}

@media (max-width: 1199px) {
    .haven-about__layout,
    .haven-contact__grid {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .haven-feature-card {
        display: grid;
        grid-template-columns: minmax(260px, 0.75fr) 1fr;
        gap: 32px;
        align-items: end;
    }

    .haven-feature-card img {
        margin-bottom: 0;
    }

    .haven-selector__card {
        grid-template-columns: 1fr;
    }

    .haven-selector__visual,
    .haven-selector__info {
        border-radius: 6px;
    }

    .haven-selector__visual {
        min-height: 540px;
    }

}

@media (max-width: 991px) {
    .haven-header__nav {
        display: none;
    }

    .haven-header__inner {
        height: 68px;
        min-height: 68px;
        padding-inline: 24px;
    }

    .haven-hero,
    .haven-hero__content {
        min-height: 740px;
    }

    .haven-hero__content {
        width: calc(100% - 40px);
        padding: 132px 28px 54px;
    }

    .haven-hero__meta {
        grid-template-columns: 1fr;
    }

    .haven-intro__grid,
    .haven-location__title {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .haven-footer {
        padding-inline: 32px;
    }

    .haven-footer__grid {
        flex-direction: column;
        gap: 28px;
    }

    .haven-footer__links {
        flex-wrap: wrap;
        gap: 40px;
        padding-top: 24px;
    }

    .haven-logos {
        max-width: 100%;
    }

    .haven-footer__brand {
        width: 100%;
        min-height: 0;
        padding-right: 0;
        padding-bottom: 30px;
        border-right: 0;
        border-bottom: 1px solid rgba(228, 238, 240, 0.32);
    }

    .haven-footer__brand::after {
        display: none;
    }

    .haven-footer__col:nth-child(2) {
        padding-left: 0;
    }

    .haven-about-hero__grid,
    .haven-story__grid,
    .haven-about-features__grid,
    .haven-partners__grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .haven-story__grid {
        flex-direction: column;
        min-height: auto;
    }

    .haven-story__grid > div:first-child {
        flex: 0 1 auto;
        width: 100%;
    }

    .haven-story h2 {
        width: 100%;
    }

    .haven-story__copy {
        width: 100%;
    }

    .haven-about-hero__grid {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        min-height: auto;
    }

    .haven-about-hero p {
        max-width: 100%;
        padding-bottom: 0;
    }

    .haven-about-gallery__track {
        grid-template-columns: repeat(2, 1fr);
        width: calc(100% - 40px);
    }

    .haven-partners__grid div {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 30px;
    }

    .haven-consult__grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .haven-consult__cards {
        grid-template-columns: 1fr;
    }

    .haven-consult__cards article {
        border-right: 0;
        border-bottom: 1px solid rgba(7, 80, 86, 0.28);
    }

    .haven-consult__cards article:last-child {
        border-bottom: 0;
    }

    .haven-request-hero {
        min-height: 760px;
        padding-top: 136px;
    }

    .haven-request-steps {
        padding: 0 0 88px;
    }
}

@media (max-width: 767px) {
    .haven-container,
    .haven-header__inner {
        width: calc(100% - 24px);
        max-width: 1424px;
    }

    .haven-about-hero .haven-container,
    .haven-about-master .haven-container,
    .haven-story .haven-container,
    .haven-about-features .haven-container,
    .haven-partners .haven-container {
        width: calc(100% - 24px);
    }

    .haven-header {
        padding: 12px 0 0;
    }

    .haven-header__brand img,
    .haven-footer img {
        width: 104px;
    }

    .haven-header__cta {
        display: none;
    }

    .haven-hero,
    .haven-hero__content {
        min-height: 740px;
    }

    .haven-hero__content {
        width: calc(100% - 24px);
        padding: 118px 12px 44px;
    }

    .haven-hero__bottom {
        width: 100%;
    }

    .haven-about,
    .haven-contact {
        padding: 58px 0;
    }

    .haven-consult {
        padding: 58px 0 42px;
    }

    .haven-consult h2 {
        margin-bottom: 34px;
        font-size: 34px;
        white-space: normal;
    }

    .haven-consult__form {
        padding: 16px;
    }

    .haven-consult__cards {
        margin-top: 42px;
    }

    .haven-request-hero {
        min-height: 880px;
        padding-top: 120px;
    }

    .haven-request-hero h1 {
        font-size: 38px;
    }

    .haven-request-hero p {
        margin-top: 22px;
        font-size: 17px;
    }

    .haven-request-form {
        padding: 16px;
    }

    .haven-request-steps {
        padding: 0 0 58px;
    }

    .haven-page {
        padding-top: 82px;
    }

    .haven-about-hero {
        padding: 34px 0 44px;
    }

    .haven-about-master,
    .haven-about-gallery,
    .haven-about-features {
        padding-bottom: 62px;
    }

    .haven-stat-image__stats {
        position: absolute;
        inset: 0;
        background: transparent;
    }

    .haven-stat-image__stats strong {
        min-height: 0;
        justify-content: center;
        align-items: flex-end;
        border: 0;
        font-size: clamp(19px, 4.2vw, 52px);
    }

    .haven-story {
        padding-bottom: 48px;
    }

    .haven-about-gallery__track {
        grid-template-columns: 1fr;
        width: calc(100% - 24px);
    }

    .haven-about-gallery img {
        aspect-ratio: 1.15;
    }

    .haven-about-features article {
        grid-template-columns: 42px 1fr;
        gap: 14px;
    }

    .haven-about-features article img {
        width: 40px;
        height: 40px;
    }

    .haven-final-cta--about {
        padding-top: 58px;
    }

    .haven-about h2,
    .haven-location h2,
    .haven-contact h2 {
        max-width: calc(100vw - 24px);
        font-size: 32px;
    }

    .haven-intro p,
    .haven-feature-card p,
    .haven-benefit p,
    .haven-location p,
    .haven-contact__meta,
    .haven-footer p {
        max-width: calc(100vw - 24px);
    }

    .haven-feature-card,
    .haven-form {
        grid-template-columns: 1fr;
    }

    .haven-benefit p,
    .haven-mini-link,
    .haven-benefit__images {
        margin-left: 0;
    }

    .haven-benefit__top {
        grid-template-columns: 38px 1fr 18px;
    }

    .haven-benefit__top span,
    .haven-benefit__top span img {
        width: 38px;
        height: 38px;
    }

    .haven-benefit__top > span {
        padding-bottom: 0;
        box-sizing: border-box;
    }

    .haven-benefit__images {
        gap: 10px;
    }

    .haven-location {
        padding: 58px 0;
    }

    .haven-final-cta__card {
        display: flex;
        width: 100%;
        height: 270px;
        min-height: 270px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 20px;
        padding: 30px 24px;
    }

    .haven-final-cta__card h2,
    .haven-final-cta__card a {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
    }

    .haven-final-cta__card .haven-btn {
        min-width: 210px;
        min-height: 54px;
        font-size: 15px;
    }

    .haven-footer {
        margin-top: -112px;
        padding-top: 144px;
        padding-inline: 24px;
    }

    .haven-footer__grid {
        padding-top: 0;
    }

    .haven-footer a,
    .haven-footer span {
        font-size: 17px;
        line-height: 1.9;
    }

    .haven-footer__copyright {
        margin-top: 30px;
    }
}

@media (max-width: 480px) {
    .haven-header__inner {
        justify-content: flex-start;
    }

    .haven-hero h1 {
        font-size: 62px;
    }

    .haven-hero,
    .haven-hero__content {
        min-height: 600px;
    }

    .haven-hero__bottom div {
        font-size: 34px;
    }

    .haven-logos img {
        max-width: 150px;
    }
}

@media (max-width: 767px) {
    html,
    body {
        background: var(--haven-mist);
        width: 100%;
        overflow-x: hidden;
    }

    .haven-home h1,
    .haven-home h2,
    .haven-home h3,
    .haven-home p,
    .haven-home span,
    .haven-footer h3,
    .haven-footer p,
    .haven-footer a,
    .haven-footer span {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .haven-intro__grid > *,
    .haven-about__layout > *,
    .haven-location__title > *,
    .haven-consult__grid > *,
    .haven-footer__grid > *,
    .haven-footer__col {
        min-width: 0;
    }

    .haven-container,
    .haven-header__inner {
        width: 100%;
        max-width: none;
    }

    .haven-home .haven-container,
    .haven-footer .haven-container,
    .haven-final-cta .haven-container {
        width: calc(100% - 28px);
    }

    .haven-final-cta > .haven-container {
        width: auto;
        margin-left: 0;
        margin-right: 14px;
    }

    .haven-header,
    .haven-header--request {
        padding: 0;
    }

    .haven-header__inner,
    .haven-header--sticky .haven-header__inner,
    .haven-header--inner .haven-header__inner,
    .haven-header--request .haven-header__inner {
        width: 100%;
        height: 44px;
        min-height: 44px;
        padding: 0 13px;
        border: 0;
        border-bottom: 1px solid rgba(228, 238, 240, 0.26);
        background: rgba(7, 43, 48, 0.18);
        backdrop-filter: blur(4px);
    }

    .haven-header--sticky .haven-header__inner,
    .haven-header--inner .haven-header__inner {
        background: rgba(228, 238, 240, 0.96);
        border-bottom-color: var(--haven-line);
    }

    .haven-header__menu {
        width: 18px;
        height: 16px;
        display: grid;
        gap: 4px;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .haven-header__menu span {
        width: 100%;
        height: 2px;
        display: block;
        background: var(--haven-white);
        border-radius: 99px;
    }

    .haven-header.is-menu-open {
        position: fixed;
        inset: 0;
        z-index: 999;
        padding: 0;
        background: var(--haven-green);
    }

    .haven-header.is-menu-open .haven-header__inner {
        min-height: 104px;
        align-items: flex-start;
        padding: 48px 24px 0;
        background: transparent;
        border: 0;
        backdrop-filter: none;
    }

    .haven-header.is-menu-open .haven-header__menu {
        display: none;
    }

    .haven-header.is-menu-open .haven-header__brand {
        margin-left: 0;
    }

    .haven-header.is-menu-open .haven-header__brand img {
        width: 154px;
        filter: none;
    }

    .haven-header.is-menu-open .haven-header__actions {
        align-items: flex-start;
        margin-left: auto;
    }

    .haven-header.is-menu-open .haven-header__lang {
        display: none;
    }

    .haven-header.is-menu-open .haven-header__close {
        min-height: 54px;
        display: inline-flex;
        align-items: center;
        border: 0;
        padding: 0 24px;
        border-radius: 9px;
        background: var(--haven-white);
        color: var(--haven-green);
        font-size: 18px;
        font-weight: 900;
    }

    .haven-header--sticky .haven-header__menu span,
    .haven-header--inner .haven-header__menu span,
    .haven-header--request .haven-header__menu span {
        background: var(--haven-green);
    }

    .haven-header__brand {
        flex: 0 0 auto;
        margin-left: 8px;
        padding-left: 0;
    }

    .haven-header__brand img,
    .haven-footer img {
        width: 68px;
    }

    .haven-header__actions {
        flex: 0 0 auto;
        margin-left: auto;
        gap: 0;
        padding-right: 0;
    }

    .haven-header__lang,
    .haven-header__actions span {
        color: var(--haven-white);
        font-size: 11px;
        font-weight: 800;
    }

    .haven-header--sticky .haven-header__lang,
    .haven-header--inner .haven-header__lang,
    .haven-header--request .haven-header__lang {
        color: var(--haven-green);
    }

    .haven-header__cta {
        display: none;
    }

    .haven-header__nav {
        position: absolute;
        top: 44px;
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        padding: 8px 14px 14px;
        border: 0;
        background: rgba(228, 238, 240, 0.98);
        box-shadow: 0 18px 36px rgba(7, 43, 48, 0.16);
    }

    .haven-header.is-menu-open .haven-header__nav {
        display: flex;
    }

    .haven-header.is-menu-open .haven-header__nav {
        top: 160px;
        bottom: 0;
        justify-content: space-between;
        padding: 126px 24px 26px;
        background: transparent;
        box-shadow: none;
        overflow-y: auto;
    }

    .haven-header__nav a,
    .haven-header--request .haven-header__nav a {
        min-height: 38px;
        padding: 0;
        color: var(--haven-green);
        font-size: 16px;
        line-height: 1.35;
        font-weight: 400;
        border-bottom: 1px solid rgba(7, 80, 86, 0.1);
    }

    .haven-header.is-menu-open .haven-header__nav > a {
        min-height: auto;
        padding: 0;
        border: 0;
        color: var(--haven-white);
        font-size: 16px;
        line-height: 1.6;
        font-weight: 400;
    }

    .haven-mobile-menu__meta {
        display: none;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta {
        display: grid;
        gap: 26px;
        color: var(--haven-white);
    }

    .haven-mobile-menu__meta strong,
    .haven-mobile-menu__meta span,
    .haven-mobile-menu__meta a {
        display: block;
        color: var(--haven-white);
        font-family: var(--haven-helvetica-font);
        font-size: 16px;
        line-height: 1.35;
        font-weight: 400;
        letter-spacing: 0;
        text-transform: none;
        font-variant-caps: normal;
        text-decoration: none;
    }

    .haven-mobile-menu__meta strong {
        margin-bottom: 18px;
    }

    .haven-mobile-menu__meta span {
        margin-bottom: 14px;
    }

    .haven-mobile-menu__bottom {
        display: flex;
        align-items: center;
        gap: 24px;
        padding-top: 28px;
        border-top: 1px solid rgba(228, 238, 240, 0.28);
    }

    .haven-mobile-menu__bottom span {
        margin: 0;
    }

    .haven-mobile-menu__bottom a {
        margin-left: auto;
    }

    .haven-hero,
    .haven-hero__content {
        min-height: 375px;
    }

    .haven-hero {
        background-position: center top;
    }

    .haven-hero__shade {
        background:
            linear-gradient(180deg, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.08) 46%, rgba(0, 0, 0, 0.72) 100%),
            linear-gradient(90deg, rgba(7, 80, 86, 0.18) 0%, rgba(7, 80, 86, 0) 68%);
    }

    .haven-hero__content {
        width: calc(100% - 24px);
        padding: 58px 0 16px;
    }

    .haven-hero__title-wrap {
        gap: 3px;
    }

    .haven-hero h1 {
        margin-left: 0;
        font-size: clamp(52px, 18vw, 70px);
        line-height: 0.86;
        white-space: normal;
    }

    .haven-hero__meta {
        grid-template-columns: 1fr auto;
        gap: 8px;
        font-size: 8px;
        line-height: 1.2;
    }

    .haven-hero__meta strong {
        font-size: 8px;
    }

    .haven-hero__bottom {
        margin-top: auto;
        gap: 7px;
    }

    .haven-hero__bottom div {
        margin-bottom: 4px;
        font-size: 21px;
        line-height: 1.15;
    }

    .haven-hero__bottom .haven-btn,
    .haven-hero__mobile-call {
        width: 100%;
        min-height: 29px;
        display: inline-flex;
        border-radius: 3px;
        font-size: 9px;
        font-weight: 900;
    }

    .haven-hero__bottom .haven-btn span {
        font-size: 11px;
    }

    .haven-intro {
        padding: 18px 0 30px;
    }

    .haven-intro__grid {
        gap: 28px;
    }

    .haven-logos {
        display: flex;
        padding-bottom: 4px;
    }

    .haven-logos__track {
        gap: 22px;
        animation-duration: 12s;
    }

    .haven-logos img {
        width: 100%;
        max-width: 88px;
        max-height: 30px;
    }

    .haven-intro p,
    .haven-feature-card p,
    .haven-benefit__body p,
    .haven-location p,
    .haven-footer p {
        max-width: none;
        font-size: 12px;
        line-height: 1.68;
    }

    .haven-section-label {
        margin-bottom: 14px;
        font-size: 9px;
    }

    .haven-section-label::before {
        width: 7px;
        height: 7px;
        border-radius: 2px;
    }

    .haven-about {
        padding: 34px 0 30px;
    }

    .haven-about h2,
    .haven-location h2,
    .haven-consult h2 {
        width: 100%;
        max-width: 100%;
        font-size: 25px;
        line-height: 1.03;
        letter-spacing: -0.01em;
        white-space: normal;
    }

    .haven-about h2 {
        margin-bottom: 18px;
    }

    .haven-about__layout,
    .haven-feature-card {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .haven-feature-card {
        width: 100%;
        height: auto;
    }

    .haven-feature-card img {
        width: 100%;
        height: auto;
        aspect-ratio: 0.82;
        margin: 0;
        object-fit: cover;
    }

    .haven-feature-card h3,
    .haven-benefit strong {
        font-size: 20px;
        line-height: 1.08;
    }

    .haven-feature-card p {
        margin: 12px 0 15px;
    }

    .haven-feature-card .haven-btn,
    .haven-mini-link {
        min-height: 29px;
        padding: 0 14px;
        font-size: 9px;
        border-radius: 3px;
    }

    .haven-benefits {
        gap: 0;
        margin-top: 6px;
    }

    .haven-benefit {
        padding: 16px 0;
    }

    .haven-benefit__top {
        grid-template-columns: 31px 1fr 16px;
        gap: 10px;
    }

    .haven-benefit__top span,
    .haven-benefit__top span img {
        width: 31px;
        height: 31px;
    }

    .haven-benefit__top i {
        font-size: 17px;
    }

    .haven-benefit__body p {
        margin: 12px 0 13px 41px;
    }

    .haven-mini-link {
        margin: 0 0 15px 41px;
    }

    .haven-benefit__images {
        grid-template-columns: 1fr 1fr;
        gap: 9px;
        margin-left: 41px;
    }

    .haven-benefit__images img {
        aspect-ratio: 0.86;
    }

    .haven-masterplan {
        padding: 24px 0 36px;
    }

    .haven-masterplan img {
        aspect-ratio: 1.36;
    }

    .haven-location {
        padding: 34px 0 36px;
    }

    .haven-location__title {
        gap: 14px;
        margin-bottom: 12px;
    }

    .haven-location__meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 22px;
    }

    .haven-location__address {
        justify-content: flex-start;
        text-align: left;
    }

    .haven-location h2 {
        font-size: 23px;
        white-space: normal;
    }

    .haven-location img {
        aspect-ratio: 1.12;
        object-fit: cover;
    }

    .haven-consult {
        padding: 36px 0 34px;
    }

    .haven-consult h2 {
        margin-bottom: 24px;
        font-size: 25px;
        white-space: normal;
    }

    .haven-consult__grid {
        gap: 22px;
    }

    .haven-consult__aside h3 {
        margin-bottom: 18px;
        font-size: 15px;
    }

    .haven-consult__aside div {
        gap: 4px;
        margin-bottom: 13px;
        padding-bottom: 13px;
    }

    .haven-consult__aside span {
        font-size: 11px;
        line-height: 1.55;
    }

    .haven-consult__form {
        gap: 10px;
        padding: 14px;
        border-radius: 5px;
    }

    .haven-consult__form label {
        gap: 5px;
    }

    .haven-consult__form span {
        font-size: 10px;
    }

    .haven-consult__form input,
    .haven-consult__form select {
        min-height: 34px;
        padding: 0 10px;
        font-size: 11px;
    }

    .haven-consult__form button {
        min-height: 38px;
        font-size: 10px;
    }

    .haven-consult__cards {
        margin-top: 28px;
        border-top: 1px solid rgba(7, 80, 86, 0.26);
        border-bottom: 1px solid rgba(7, 80, 86, 0.26);
    }

    .haven-consult__cards article {
        min-height: auto;
        padding: 19px 20px;
        border-right: 0;
        border-bottom: 0;
    }

    .haven-consult__cards img {
        width: 34px;
        height: 34px;
        margin-bottom: 9px;
    }

    .haven-consult__cards h3 {
        margin-bottom: 8px;
        font-size: 14px;
    }

    .haven-consult__cards p {
        max-width: 230px;
        font-size: 11px;
        line-height: 1.55;
    }

    .haven-final-cta--home,
    .haven-final-cta--about,
    .haven-final-cta--project,
    .haven-final-cta--request {
        padding: 24px 0 0;
    }

    .haven-final-cta__card {
        display: flex;
        width: 100%;
        height: 205px;
        min-height: 205px;
        padding: 22px 16px;
        border-radius: 12px;
        align-items: flex-start;
        justify-content: center;
        gap: 16px;
    }

    .haven-final-cta__card h2 {
        position: relative;
        top: auto;
        left: auto;
        width: 86%;
        font-size: 25px;
        line-height: 1.02;
    }

    .haven-final-cta__card .haven-btn {
        position: relative;
        top: auto;
        right: auto;
        min-width: 138px;
        min-height: 32px;
        font-size: 10px;
    }

    .haven-footer {
        margin-top: -138px;
        padding: 138px 24px 0;
        background: #075056;
    }

    .haven-footer__grid {
        width: 100%;
        max-width: none;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        padding: 0;
    }

    .haven-footer__brand {
        display: contents;
    }

    .haven-footer__brand-main {
        order: 1;
        width: 100%;
        gap: 20px;
        padding: 24px 0 0;
        border-bottom: 0;
    }

    .haven-footer__brand-main img {
        width: 124px;
        height: 44px;
        margin: 0;
    }

    .haven-footer__brand-main p {
        width: 100%;
        max-width: none;
        color: #fff;
        font-size: 14px;
        line-height: 160%;
    }

    .haven-footer__social-mobile {
        order: 2;
        width: 100%;
        display: flex;
        align-items: flex-start;
        gap: 16px;
        margin: 0;
        padding: 20px 0 24px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.30);
    }

    .haven-footer__social-mobile a {
        width: 20px;
        height: 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 0;
        line-height: 1;
        text-decoration: none;
    }

    .haven-footer__social-mobile a::before {
        font-family: "Font Awesome 5 Brands";
        font-size: 20px;
        font-weight: 400;
        line-height: 1;
    }

    .haven-footer__social-mobile a:nth-child(1)::before {
        content: "\f39e";
    }

    .haven-footer__social-mobile a:nth-child(2)::before {
        content: "\f16d";
    }

    .haven-footer__social-mobile a:nth-child(3)::before {
        content: "\f0e1";
    }

    .haven-footer__links {
        order: 3;
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 44px 64px;
        padding: 32px 0;
    }

    .haven-footer__col {
        gap: 12px;
    }

    .haven-footer__col--language {
        display: flex;
    }

    .haven-footer__col--contact {
        grid-column: 1 / -1;
    }

    .haven-footer__col--social {
        display: none;
    }

    .haven-footer h3 {
        gap: 8px;
        margin: 0 0 4px;
        color: #fff;
        font-size: 14px;
        font-weight: 500;
        line-height: normal;
    }

    .haven-footer h3 > span[aria-hidden="true"] {
        width: 12px;
        height: 12px;
        border-radius: 0;
    }

    .haven-footer a,
    .haven-footer span {
        color: #e4eef0;
        font-size: 16px;
        line-height: normal;
    }

    .haven-footer__copyright {
        order: 4;
        width: 100%;
        margin: 0;
        padding: 24px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.30);
        gap: 8px;
        flex-wrap: nowrap;
    }

    .haven-footer__copyright-icon {
        width: 10px;
        height: 10px;
    }

    .haven-footer__copyright strong,
    .haven-footer__copyright span {
        color: #fff;
        font-size: 12px;
        line-height: normal;
    }

    .haven-project-map {
        width: 100%;
        height: auto;
        min-height: 0;
        margin-top: 0;
        padding-top: 0;
        border-radius: 0;
    }

    .haven-project-list-page {
        padding-top: 0;
    }

    .haven-project-map__art img {
        min-height: 0;
        object-fit: contain;
    }

    .haven-project-map__svg {
        display: block;
    }

    .haven-map-house__shape {
        stroke-width: 8;
    }

    .haven-project-map__legend {
        display: none;
    }

    .haven-project-list {
        padding: 36px 0 58px;
    }

    .haven-project-list h1 {
        margin-bottom: 22px;
        font-size: 24px;
    }

    .haven-project-list__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .haven-project-list.has-mobile-selection .haven-house-card {
        display: none;
    }

    .haven-project-list.has-mobile-selection .haven-house-card.is-selected {
        display: block;
    }

    .haven-house-card {
        padding: 14px;
        border-radius: 6px;
    }

    .haven-house-card__image {
        padding: 16px;
    }

    .haven-house-card__image img {
        aspect-ratio: 1.22;
    }

    .haven-house-card__body h2 {
        margin-top: 13px;
        font-size: 13px;
    }

    .haven-house-card__price span,
    .haven-house-card__price strong {
        font-size: 27px;
    }

    .haven-house-card__metrics {
        gap: 10px;
        margin: 13px 0;
        padding-top: 12px;
    }

    .haven-house-card__metrics span {
        font-size: 10px;
    }

    .haven-house-card__metrics strong {
        font-size: 15px;
    }

    .haven-house-card__link {
        min-height: 34px;
        font-size: 11px;
    }

    .haven-project-page {
        padding-top: 44px;
    }

    .haven-selector {
        padding: 22px 0 58px;
    }

    .haven-selector__card {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 14px;
        border-radius: 6px;
        width: 100%;
        min-height: 0;
    }

    .haven-selector__tabs {
        order: 1;
        gap: 10px;
        width: 100%;
        flex: 0 0 auto;
    }

    .haven-selector__tabs button {
        min-height: 48px;
        padding: 0 16px;
        font-size: 14px;
        border-radius: 5px;
    }

    .haven-selector__content {
        order: 2;
        display: flex;
        flex-direction: column;
        gap: 10px;
        min-height: 0;
        padding: 12px;
        border-radius: 5px;
    }

    .haven-selector__info {
        order: 2;
        width: 100%;
        height: auto;
        flex: 0 0 auto;
        padding: 18px 12px;
        border-radius: 5px;
    }

    .haven-selector__visual {
        order: 1;
        width: 100%;
        min-height: 0;
        flex: 0 0 auto;
        min-height: auto;
        flex-direction: column;
        gap: 16px;
        padding: 18px 0;
        border-radius: 5px;
        background: rgba(228, 238, 240, 0.42);
    }

    .haven-selector__info h1 {
        font-size: 14px;
    }

    .haven-price__value {
        font-size: 29px;
    }

    .haven-price__toggle button {
        width: 34px;
        height: 34px;
        font-size: 14px;
    }

    .haven-project-metrics {
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 14px;
    }

    .haven-project-metrics span {
        font-size: 11px;
    }

    .haven-project-metrics strong {
        font-size: 15px;
    }

    .haven-project-badges {
        gap: 8px;
        margin: 14px 0;
        padding-bottom: 14px;
    }

    .haven-project-badges span {
        min-height: 24px;
        padding: 0 10px;
        font-size: 11px;
    }

    .haven-project-specs {
        margin-top: 18px;
        gap: 13px;
    }

    .haven-selector__info > .haven-project-specs,
    .haven-selector__info > .haven-selector__cta {
        display: none;
    }

    .haven-selector__mobile-details {
        order: 3;
        width: calc(100% - 28px);
        display: grid;
        gap: 12px;
    }

    .haven-selector__mobile-details .haven-selector__cta {
        display: flex;
        min-height: 42px;
        margin-top: 0;
        font-size: 12px;
    }

    .haven-download-mobile {
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        border: 1px solid var(--haven-green);
        background: var(--haven-green);
        border-radius: 5px;
        color: var(--haven-white);
        font-size: 12px;
        font-weight: 900;
        text-decoration: none;
        overflow: hidden;
    }

    .haven-selector__mobile-details .haven-project-specs {
        padding: 16px 0 0;
    }

    .haven-project-specs div {
        grid-template-columns: 32px 1fr auto;
        gap: 10px;
        font-size: 14px;
    }

    .haven-project-specs img {
        width: 28px;
        height: 28px;
    }

    .haven-project-specs strong {
        font-size: 14px;
    }

    .haven-plan-switch {
        position: static;
        order: 2;
        transform: none;
    }

    .haven-plan-image {
        order: initial;
        width: 100%;
        max-height: none;
    }

    .haven-plan-stage {
        width: 100%;
        height: 280px;
    }

    .haven-plan-stage:has(.haven-plan-image[data-plan="2d"].active) {
        width: 100%;
    }

    .haven-plan-image[data-plan="3d"] {
        width: 500px;
    }

    .haven-plan-image[data-plan="2d"] {
        width: 100%;
    }

    .haven-download {
        display: none;
    }

    .haven-selector__cta {
        min-height: 42px;
        margin-top: 16px;
        font-size: 12px;
    }

    .haven-about-page {
        padding-top: 70px;
    }

    .haven-about-hero {
        padding: 20px 0 28px;
    }

    .haven-about-hero h1,
    .haven-story h2,
    .haven-about-features h3 {
        font-size: 29px;
        line-height: 1.02;
    }

    .haven-about-hero p,
    .haven-story__copy p,
    .haven-about-features p {
        font-size: 13px;
        line-height: 1.68;
    }

    .haven-about-master {
        padding-bottom: 34px;
    }

    .haven-stat-image img {
        aspect-ratio: 1.02;
    }

    .haven-stat-image__stats {
        position: absolute;
        inset: 0;
        background: transparent;
    }

    .haven-stat-image__stats strong {
        min-height: 0;
        justify-content: center;
        align-items: flex-end;
        padding: 0;
        border: 0;
        font-size: 19px;
    }

    .haven-story__grid {
        gap: 18px;
    }

    .haven-about-gallery__track {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
        width: calc(100% - 28px);
        overflow: hidden;
    }

    .haven-about-gallery img {
        aspect-ratio: .72;
    }

    .haven-about-gallery img:nth-child(n+4) {
        display: none;
    }

    .haven-about-features__grid {
        gap: 26px;
    }

    .haven-about-features__list {
        gap: 0;
    }

    .haven-about-features article {
        grid-template-columns: 35px 1fr;
        padding: 18px 0;
    }

    .haven-partners {
        padding: 22px 0;
    }

    .haven-partners__grid {
        gap: 16px;
    }

    .haven-partners__grid div {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .haven-partners img {
        width: 100%;
        max-width: 104px;
    }

    .haven-request-page {
        padding-top: 0;
    }

    .haven-request-hero {
        min-height: 438px;
        padding-top: 112px;
        background-position: center top;
    }

    .haven-request-hero h1 {
        font-size: 29px;
        line-height: 1.12;
    }

    .haven-request-hero p {
        width: min(100%, 300px);
        margin: 18px auto 0;
        font-size: 14px;
        line-height: 1.55;
    }

    .haven-request-form,
    .haven-request-success {
        width: calc(100% - 28px);
        top: 297px;
        padding: 14px;
        border-radius: 6px;
    }

    .haven-request-form {
        gap: 13px;
    }

    .haven-request-form span {
        font-size: 11px;
    }

    .haven-request-form input,
    .haven-request-form select {
        min-height: 42px;
        padding: 0 12px;
        font-size: 12px;
    }

    .haven-request-form button {
        min-height: 44px;
        font-size: 12px;
    }

    .haven-request-success {
        min-height: 410px;
        align-content: center;
        gap: 20px;
    }

    .haven-request-success__icon {
        width: 54px;
        height: 54px;
        font-size: 32px;
    }

    .haven-request-success h2 {
        font-size: 25px;
    }

    .haven-request-success p {
        font-size: 14px;
    }

    .haven-request-steps {
        padding: 0 0 40px;
    }
}

.haven-header__cta,
.haven-header__close,
.haven-btn,
.haven-mini-link,
.haven-house-card__link,
.haven-consult__form button,
.haven-request-form button,
.haven-form button,
.haven-selector__tabs button,
.haven-plan-switch button,
.haven-benefit__top,
.haven-download,
.haven-download-mobile,
.haven-project-map__legend-item {
    font-family: var(--haven-helvetica-font) !important;
    font-size: 16px !important;
}

.haven-header__cta,
.haven-header__cta .haven-button-text,
.haven-header__cta .haven-button-text::after,
.haven-header__cta .haven-button-text__inner {
    font-family: var(--haven-helvetica-font) !important;
    text-transform: none !important;
}

.haven-story__copy .haven-btn,
.haven-story__copy .haven-btn .haven-button-text,
.haven-story__copy .haven-btn .haven-button-text::after,
.haven-story__copy .haven-btn .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 18px !important;
    letter-spacing: 0.16px !important;
    text-transform: none !important;
}

/* Removed conflicting global font overrides — each component now defines its own Figma-spec fonts. */

.haven-mobile-menu__meta strong,
.haven-mobile-menu__meta span,
.haven-mobile-menu__meta a {
    font-family: var(--haven-helvetica-font), Arial, sans-serif !important;
    font-size: calc(16 * var(--hs)) !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-variant-caps: normal !important;
}

.haven-consult__cards h3 {
    font-family: var(--haven-helvetica-font) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
}

.haven-download,
.haven-download-mobile,
.haven-download .haven-button-text,
.haven-download .haven-button-text::after,
.haven-download .haven-button-text__inner,
.haven-download-mobile .haven-button-text,
.haven-download-mobile .haven-button-text::after,
.haven-download-mobile .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    text-transform: none !important;
}

/* @media (min-width: 1200px) overrides removed — all desktop sizing now handled by base CSS using --hs (viewport-scaled, capped at 1px above 1512px) */

@media (max-width: 767px) {
    .haven-loader {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        min-height: 100vh !important;
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        display: grid !important;
        place-items: center !important;
        background: var(--haven-green);
        transform: none;
        transform-origin: center center;
        zoom: 1;
        overflow: hidden !important;
    }

    .haven-loader__columns {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        gap: 0;
        margin: 0;
        padding: 0;
        border: 0;
    }

    .haven-loader__columns span {
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
    }

    .haven-loader__logo {
        width: 170px;
        max-width: calc(100vw - 48px);
    }

    .haven-loader__logo img {
        width: 100%;
    }

    .haven-loader.is-finishing {
        transform: none;
        animation: havenMobileLoaderExit 0.72s cubic-bezier(.76, 0, .24, 1) forwards;
    }

    body.haven-loading {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        overflow: hidden !important;
        zoom: 1 !important;
    }

    @supports (height: 100dvh) {
        .haven-loader {
            height: 100dvh !important;
            min-height: 100dvh !important;
        }
    }

    body.haven-home-route main {
        overflow: visible;
    }

    body.haven-home-route .haven-home {
        width: 100%;
        background: var(--haven-mist);
        overflow: hidden;
    }

    body.haven-home-route .haven-container,
    body.haven-home-route .haven-home .haven-container {
        width: 100%;
        max-width: none;
        margin-inline: 0;
    }

    body.haven-home-route .haven-header {
        position: absolute;
        top: 0;
        padding: 0;
    }

    body.haven-home-route .haven-header__inner,
    body.haven-home-route .haven-header--sticky .haven-header__inner {
        width: 100%;
        height: 60px;
        min-height: 60px;
        padding: 16px;
        justify-content: space-between;
        background: transparent;
        border-bottom: 1px solid rgba(255, 255, 255, 0.30);
        backdrop-filter: none;
    }

    body.haven-home-route .haven-header__menu {
        width: 28px;
        height: 28px;
        display: grid;
        align-content: center;
        gap: 5px;
        order: 0;
    }

    body.haven-home-route .haven-header__menu span {
        width: 23px;
        height: 2px;
        background: var(--haven-white);
    }

    body.haven-home-route .haven-header__brand {
        width: auto;
        height: auto;
        margin: 0 auto 0 16px;
        padding: 0;
        border: 0;
    }

    body.haven-home-route .haven-header__brand img {
        width: 79px;
        height: 28px;
        filter: brightness(0) invert(1);
    }

    body.haven-home-route .haven-header__actions {
        width: auto;
        height: auto;
        padding: 0;
        border: 0;
        margin: 0;
    }

    body.haven-home-route .haven-header__lang {
        color: var(--haven-white);
        font-family: var(--haven-montserrat-font);
        font-size: 16px;
        font-weight: 500;
        line-height: normal;
        letter-spacing: 0.16px;
    }

    body.haven-home-route .haven-header--sticky .haven-header__inner {
        background: var(--haven-mist);
        border-bottom-color: var(--Border-on-secondary, #B6C8CB);
    }

    body.haven-home-route .haven-header--sticky .haven-header__brand img {
        filter: brightness(0) saturate(100%) invert(22%) sepia(29%) saturate(1401%) hue-rotate(143deg) brightness(88%) contrast(95%);
    }

    body.haven-home-route .haven-header--sticky .haven-header__menu span {
        background: var(--haven-green);
    }

    body.haven-home-route .haven-header--sticky .haven-header__lang {
        color: var(--haven-green);
    }

    body.haven-home-route .haven-hero {
        position: relative;
        min-height: 846px;
        background: #0d2f32;
    }

    body.haven-home-route .haven-hero__bg {
        height: 100%;
        object-fit: cover;
        object-position: center 80%;
    }

    body.haven-home-route .haven-hero__shade {
        background:
            linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.04) 40%, rgba(0, 0, 0, 0.80) 100%),
            linear-gradient(90deg, rgba(7, 80, 86, 0.10) 0%, rgba(7, 80, 86, 0) 64%);
    }

    body.haven-home-route .haven-hero__content {
        width: 100%;
        min-height: 846px;
        padding: 120px 15px 48px;
        justify-content: flex-start;
    }

    body.haven-home-route .haven-hero__title-wrap {
        width: 360px;
        max-width: 100%;
        margin: 0 auto;
        padding: 0;
        gap: 0;
    }

    body.haven-home-route .haven-hero h1 {
        margin: 0;
        color: var(--haven-white);
        font-family: var(--haven-montserrat-font);
        font-size: clamp(86px, 24.6vw, 96px);
        font-weight: 700;
        line-height: 100px;
        letter-spacing: 0;
        text-transform: uppercase;
        white-space: normal;
    }

    body.haven-home-route .haven-hero__meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        width: 100%;
        padding: 0 8px;
        color: var(--haven-white);
        white-space: nowrap;
    }

    body.haven-home-route .haven-hero__meta > span,
    body.haven-home-route .haven-hero__meta strong {
        padding: 0;
        color: var(--haven-white);
        font-size: 12px;
        line-height: normal;
        letter-spacing: 0.12px;
    }

    body.haven-home-route .haven-hero__meta > span {
        font-family: var(--haven-helvetica-font);
        font-weight: 400;
    }

    body.haven-home-route .haven-hero__meta strong {
        font-family: Montserrat, var(--haven-montserrat-font);
        font-weight: 600;
        text-align: right;
        text-transform: none;
    }

    body.haven-home-route .haven-hero__bottom {
        width: min(358px, calc(100vw - 32px));
        margin: 270px auto 0;
        gap: 24px;
    }

    body.haven-home-route .haven-hero__bottom div,
    body.haven-home-route .haven-hero__bottom strong {
        color: var(--haven-white);
        font-family: var(--haven-helvetica-font);
        font-size: 28px;
        font-weight: 300;
        line-height: normal;
        margin: 0;
    }

    body.haven-home-route .haven-hero__bottom strong {
        display: inline;
    }

    body.haven-home-route .haven-hero__bottom .haven-btn,
    body.haven-home-route .haven-hero__mobile-call {
        width: 100%;
        min-height: 40px;
        display: inline-flex;
        padding: 12px;
        border-radius: 6px;
        gap: 8px;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0;
    }

    body.haven-home-route .haven-hero__bottom .haven-btn + .haven-hero__mobile-call {
        margin-top: -12px;
    }

    body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text,
    body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text__inner,
    body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text::after {
        font-size: 12px !important;
        line-height: normal !important;
    }

    body.haven-home-route .haven-hero__bottom .haven-button-bullet {
        width: 8px;
        height: 8px;
    }

    body.haven-home-route .haven-hero__mobile-call {
        border: 1px solid var(--haven-white);
        background: transparent;
        color: var(--haven-white);
    }

    body.haven-home-route .haven-intro {
        display: block;
        padding: 0;
        border-bottom: 0;
    }

    body.haven-home-route .haven-intro__grid {
        display: flex !important;
        flex-direction: column;
        width: 100% !important;
        max-width: none !important;
        height: auto;
    }

    body.haven-home-route .haven-logos {
        width: 100%;
        height: 171px;
        gap: 40px;
        padding: 44px 0;
        border-bottom: 1px solid #B6C8CB;
        overflow: hidden;
        position: relative;
        mask-image: none;
        -webkit-mask-image: none;
    }

    body.haven-home-route .haven-logos::before,
    body.haven-home-route .haven-logos::after {
        content: "";
        position: absolute;
        top: 61px;
        z-index: 2;
        width: 44px;
        height: 110px;
        pointer-events: none;
    }

    body.haven-home-route .haven-logos::before {
        left: 0;
        background: linear-gradient(90deg, var(--haven-mist) 0%, rgba(228, 238, 240, 0) 100%);
    }

    body.haven-home-route .haven-logos::after {
        right: 0;
        background: linear-gradient(270deg, var(--haven-mist) 0%, rgba(228, 238, 240, 0) 100%);
    }

    body.haven-home-route .haven-intro__label,
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label {
        padding-left: 16px !important;
        gap: 8px !important;
        font-size: 14px !important;
    }

    body.haven-home-route .haven-intro__label::before {
        width: 12px !important;
        height: 12px !important;
    }

    body.haven-home-route .haven-logos__track {
        height: 26px;
        min-width: max-content;
        width: max-content;
        display: flex;
        align-items: center;
        gap: 74px;
        padding-left: 0;
        animation: havenLogosMarqueeMobile 18s linear infinite;
        will-change: transform;
    }

    body.haven-home-route .haven-logos img {
        display: block;
        flex: 0 0 auto;
        max-width: none;
        max-height: 26px;
        height: 26px;
        width: auto;
        opacity: 1;
        visibility: visible;
    }

    body.haven-home-route .haven-intro p:not(.haven-intro__label):not(.haven-section-label) {
        width: 100%;
        min-height: 176px;
        padding: 44px 16px;
        border-left: 0;
        border-bottom: 1px solid #B6C8CB;
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        line-height: 160%;
    }

    body.haven-home-route .haven-about {
        padding: 44px 16px 24px;
    }

    body.haven-home-route .haven-about > .haven-container {
        width: 100%;
    }

    body.haven-home-route .haven-about .haven-section-label {
        margin-bottom: 16px;
        gap: 8px;
        font-size: 14px;
    }

    body.haven-home-route .haven-about .haven-section-label::before,
    body.haven-home-route .haven-consult .haven-section-label::before {
        width: 12px !important;
        height: 12px !important;
    }

    body.haven-home-route .haven-about h2 {
        margin: 0 0 24px;
        color: #043034;
        font-family: var(--haven-display-font);
        font-size: 22px;
        font-weight: 400;
        line-height: normal;
        text-align: left;
        letter-spacing: 0;
    }

    body.haven-home-route .haven-about__layout {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    body.haven-home-route .haven-feature-card {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: 16px;
        background: transparent;
        border: 0;
    }

    body.haven-home-route .haven-feature-card img {
        width: 100%;
        height: auto;
        aspect-ratio: 358 / 443;
        object-fit: cover;
        border-radius: 0;
    }

    body.haven-home-route .haven-feature-card > div {
        width: 100%;
        gap: 16px;
        padding: 0;
    }

    body.haven-home-route .haven-feature-card h3 {
        display: none;
    }

    body.haven-home-route .haven-feature-card p {
        margin: 0;
        color: #0E2B2E;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        line-height: 160%;
    }

    body.haven-home-route .haven-feature-card .haven-btn,
    body.haven-home-route .haven-mini-link {
        min-height: 40px;
        padding: 12px;
        border-radius: 6px;
        font-size: 12px !important;
        font-weight: 500 !important;
    }

    body.haven-home-route .haven-benefits {
        width: 100%;
        padding-top: 0;
    }

    body.haven-home-route .haven-benefit {
        padding: 12px 0;
        border-bottom: 1px solid #B6C8CB;
        gap: 16px;
    }

    body.haven-home-route .haven-benefit__top {
        min-height: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 0;
    }

    body.haven-home-route .haven-benefit__top > span,
    body.haven-home-route .haven-benefit__top span img {
        width: 24px;
        height: 24px;
    }

    body.haven-home-route .haven-benefit__top > span {
        padding-bottom: 0;
        box-sizing: border-box;
    }

    body.haven-home-route .haven-benefit__top strong {
        font-family: var(--haven-display-font);
        flex: 1 1 auto;
        padding-top: 6px;
        font-size: 16px;
        font-weight: 400;
        line-height: normal;
        white-space: nowrap;
    }

    body.haven-home-route .haven-benefit__top i {
        width: 16px;
        height: 16px;
    }

    body.haven-home-route .haven-benefit__body {
        width: 100%;
        padding: 0;
        gap: 16px;
    }

    body.haven-home-route .haven-benefit.is-active .haven-benefit__body {
        max-height: none;
        margin-top: 0;
        overflow: visible;
    }

    body.haven-home-route .haven-benefit__body p {
        width: 100%;
        min-width: 100%;
        margin: 0;
        font-size: 12px;
        line-height: 160%;
    }

    body.haven-home-route .haven-mini-link {
        min-height: 40px;
        margin: 0;
        padding: 12px;
        gap: 8px;
        border-radius: 6px;
        font-size: 12px !important;
        line-height: normal !important;
    }

    body.haven-home-route .haven-mini-link .haven-button-bullet {
        width: 8px;
        height: 8px;
    }

    body.haven-home-route .haven-benefit__images {
        margin: 0;
        display: flex;
        width: 100%;
        gap: 16px;
    }

    body.haven-home-route .haven-benefit__images img {
        flex: 1 0 0;
        min-width: 1px;
        width: auto;
        aspect-ratio: 264 / 196;
        object-fit: cover;
    }

    body.haven-home-route .haven-masterplan {
        padding: 44px 16px;
        background: var(--haven-mist);
    }

    body.haven-home-route .haven-masterplan > .haven-container {
        width: 100%;
        max-width: none !important;
        padding: 0 !important;
        margin-inline: auto !important;
    }

    body.haven-home-route .haven-masterplan img {
        width: 100%;
        height: 198px;
        aspect-ratio: 187 / 99;
        object-fit: cover;
        object-position: center;
        display: block;
    }

    body.haven-home-route .haven-location {
        padding: 44px 16px;
        gap: 24px;
        background: #075056;
    }

    body.haven-home-route .haven-location > .haven-container {
        width: 100%;
        gap: 24px;
        align-items: flex-start;
    }

    body.haven-home-route .haven-location__content,
    body.haven-home-route .haven-location__heading,
    body.haven-home-route .haven-location__meta {
        width: 100%;
        height: auto;
        gap: 16px;
    }

    body.haven-home-route .haven-location .haven-section-label--icon {
        margin: 0;
        gap: 8px !important;
        color: var(--haven-white) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: nowrap;
    }

    body.haven-home-route .haven-location .haven-section-label--icon::before {
        display: none !important;
    }

    body.haven-home-route .haven-location .haven-section-label--icon img {
        display: block !important;
        width: 12px !important;
        height: 12px !important;
    }

    body.haven-home-route .haven-location h2 {
        max-width: 358px;
        color: var(--haven-white);
        font-family: var(--haven-display-font);
        font-size: 22px;
        font-weight: 400;
        line-height: normal;
        white-space: normal;
    }

    body.haven-home-route .haven-location p,
    body.haven-home-route .haven-location__address span {
        color: #E4EEF0;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        line-height: 160%;
    }

    body.haven-home-route .haven-location__meta {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    body.haven-home-route .haven-location__meta > p:not(.haven-location__address) {
        width: 100%;
        color: #E4EEF0;
        font-size: 12px;
        line-height: 160%;
    }

    body.haven-home-route .haven-location__address {
        display: inline-flex;
        width: 100%;
        align-items: center;
        justify-content: flex-start;
        gap: 4px;
        margin: 0;
    }

    body.haven-home-route .haven-location__address img {
        display: block !important;
        width: 12px !important;
        height: 12px !important;
        filter: brightness(0) invert(1);
    }

    body.haven-home-route .haven-location__address span {
        color: var(--haven-white);
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 500;
        line-height: normal;
        text-transform: none;
        white-space: nowrap;
    }

    body.haven-home-route .haven-location__map,
    body.haven-home-route .haven-location > .haven-container > img {
        width: 100%;
        height: 268px;
        border-radius: 0;
    }

    body.haven-home-route .haven-location__map img,
    body.haven-home-route .haven-location > .haven-container > img {
        object-fit: cover;
        object-position: center;
    }

    body.haven-home-route .haven-consult {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 32px;
        padding: 44px 16px;
        margin-top: 0;
    }

    body.haven-home-route .haven-consult__inner {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        gap: 32px;
        align-items: flex-start;
    }

    body.haven-home-route .haven-consult__heading {
        width: 100%;
        gap: 16px;
        align-items: flex-start;
    }

    body.haven-home-route .haven-consult .haven-section-label {
        margin: 0;
        gap: 8px;
        font-family: var(--haven-helvetica-font);
        font-size: 14px !important;
        font-weight: 400;
        line-height: normal;
    }

    body.haven-home-route .haven-consult .haven-section-label::before {
        width: 12px;
        height: 12px;
    }

    body.haven-home-route .haven-consult h2 {
        max-width: 340px;
        margin: 0;
        font-family: var(--haven-display-font);
        font-size: 22px;
        line-height: normal;
        font-weight: 400;
    }

    body.haven-home-route .haven-consult__grid {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    body.haven-home-route .haven-consult__aside {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0;
    }

    body.haven-home-route .haven-consult__aside h3 {
        margin: 0 0 16px;
        font-family: var(--haven-helvetica-font);
        font-size: 16px;
        font-weight: 700;
        line-height: normal;
        text-align: left;
    }

    body.haven-home-route .haven-consult__aside > div {
        width: 100%;
        padding: 16px 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        border-bottom: 1px solid #d3dddf;
    }

    body.haven-home-route .haven-consult__aside > div:last-child {
        border-bottom: 0;
    }

    body.haven-home-route .haven-consult__aside span {
        width: 100%;
        color: rgba(14, 43, 46, 0.80);
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        font-weight: 400;
        line-height: normal;
    }

    body.haven-home-route .haven-consult__aside > div span:first-child {
        color: #043034;
    }

    body.haven-home-route .haven-consult__aside > div:nth-of-type(2) span:first-child {
        font-size: 12px;
    }

    body.haven-home-route .haven-consult__form {
        width: 100%;
        gap: 16px;
        padding: 16px;
        border-radius: 8px;
        background: #fff;
    }

    body.haven-home-route .haven-consult__form label {
        gap: 8px;
    }

    body.haven-home-route .haven-consult__form label > span {
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 400;
        line-height: normal;
        text-transform: none;
    }

    body.haven-home-route .haven-consult__form input,
    body.haven-home-route .haven-consult__form select {
        height: 40px;
        min-height: 40px;
        padding: 12px;
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 400;
        line-height: normal;
        border-radius: 6px;
        border: 1px solid #e9e8e8;
        background: #fafafa;
    }

    body.haven-home-route .haven-consult__form select {
        border-radius: 4px;
    }

    body.haven-home-route .haven-consult__form input::placeholder {
        color: #838383;
    }

    body.haven-home-route .haven-consult__form button {
        width: 100%;
        height: 40px;
        min-height: 40px;
        gap: 8px;
        padding: 12px;
        font-size: 12px !important;
        border-radius: 6px;
    }

    body.haven-home-route .haven-consult__form button .haven-button-text,
    body.haven-home-route .haven-consult__form button .haven-button-text__inner {
        font-size: 12px !important;
        line-height: normal;
    }

    body.haven-home-route .haven-consult__cards {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-top: 0;
        border-top: 0;
        border-bottom: 0;
    }

    body.haven-home-route .haven-consult__cards article {
        width: 100%;
        min-height: 0;
        padding: 32px 16px;
        gap: 8px;
        border: 0;
        align-items: center;
    }

    body.haven-home-route .haven-consult__cards img {
        width: 32px;
        height: 32px;
        margin: 0;
    }

    body.haven-home-route .haven-consult__cards h3 {
        margin: 0;
        color: #043034;
        text-align: center;
        font-family: var(--haven-helvetica-font);
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: normal;
    }

    body.haven-home-route .haven-consult__cards p {
        margin: 0;
        color: rgba(14, 43, 46, 0.80);
        text-align: center;
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        font-weight: 400;
        line-height: 160%;
    }

    body.haven-home-route .haven-final-cta--home {
        padding: 0;
        margin-top: 0;
        background: transparent;
    }

    body.haven-home-route .haven-final-cta > .haven-container {
        width: auto;
        margin: 0 16px;
        justify-content: center;
    }

    body.haven-home-route .haven-final-cta__card {
        width: 100%;
        height: 276px;
        min-height: 276px;
        padding: 74px 16px 32px;
        border-radius: 12px;
        gap: 24px;
        align-items: flex-start;
        justify-content: center;
    }

    body.haven-home-route .haven-final-cta__card h2 {
        width: auto;
        font-size: 22px;
        line-height: normal;
        color: var(--haven-white);
    }

    body.haven-home-route .haven-final-cta__card .haven-btn {
        min-width: 0;
        min-height: 40px;
        padding: 12px;
        border-radius: 6px;
        font-size: 12px !important;
    }

    body.haven-home-route .haven-footer {
        margin-top: -138px;
        padding: 138px 24px 0;
        background: #075056;
    }

    body.haven-home-route .haven-footer__grid {
        width: 100%;
        max-width: none;
        padding: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    body.haven-home-route .haven-footer__brand {
        display: contents;
    }

    body.haven-home-route .haven-footer__brand-main {
        order: 1;
        width: 100%;
        gap: 20px;
        padding: 24px 0 0;
        border-bottom: 0;
    }

    body.haven-home-route .haven-footer__brand-main img {
        width: 124px;
        height: 44px;
        margin: 0;
    }

    body.haven-home-route .haven-footer__brand-main p {
        width: 100%;
        max-width: none;
        color: #fff;
        font-size: 14px;
        line-height: 160%;
    }

    body.haven-home-route .haven-footer__social-mobile {
        order: 2;
        width: 100%;
        display: flex;
        align-items: flex-start;
        gap: 16px;
        margin: 0;
        padding: 20px 0 24px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.30);
    }

    body.haven-home-route .haven-footer__social-mobile a {
        font-size: 0;
        width: 20px;
        height: 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        line-height: 1;
        background: transparent;
    }

    body.haven-home-route .haven-footer__social-mobile a::before {
        font-family: "Font Awesome 5 Brands";
        font-size: 20px;
        font-weight: 400;
        line-height: 1;
    }

    body.haven-home-route .haven-footer__social-mobile a:nth-child(1)::before {
        content: "\f39e";
    }

    body.haven-home-route .haven-footer__social-mobile a:nth-child(2)::before {
        content: "\f16d";
    }

    body.haven-home-route .haven-footer__social-mobile a:nth-child(3)::before {
        content: "\f0e1";
    }

    body.haven-home-route .haven-footer__links {
        order: 3;
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        gap: 44px 64px;
        padding: 32px 0;
    }

    body.haven-home-route .haven-footer__col {
        gap: 12px;
    }

    body.haven-home-route .haven-footer__col--language {
        display: flex;
    }

    body.haven-home-route .haven-footer__col--contact {
        grid-column: 1 / -1;
    }

    body.haven-home-route .haven-footer__col--social {
        display: none;
    }

    body.haven-home-route .haven-footer h3 {
        margin: 0 0 4px;
        gap: 8px;
        color: #fff;
        font-size: 14px;
        font-weight: 500;
    }

    body.haven-home-route .haven-footer h3 > span[aria-hidden="true"] {
        width: 12px;
        height: 12px;
    }

    body.haven-home-route .haven-footer a,
    body.haven-home-route .haven-footer span {
        color: #e4eef0;
        font-size: 16px;
        line-height: normal;
    }

    body.haven-home-route .haven-footer__copyright {
        order: 4;
        width: 100%;
        margin: 0;
        padding: 24px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.30);
        gap: 8px;
    }

    body.haven-home-route .haven-footer__copyright-icon {
        width: 10px;
        height: 10px;
    }

    body.haven-home-route .haven-footer__copyright strong,
    body.haven-home-route .haven-footer__copyright span {
        color: #fff;
        font-size: 12px;
        line-height: normal;
    }

    .haven-header.is-menu-open,
    body.haven-home-route .haven-header.is-menu-open {
        position: fixed;
        inset: 0;
        z-index: 9999;
        width: 100%;
        height: 100dvh;
        min-height: 100vh;
        padding: 0;
        overflow: hidden;
        background: #075056;
    }

    body.haven-menu-open {
        overflow: hidden;
        touch-action: none;
    }

    .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__inner {
        position: static;
        display: block;
        width: 100%;
        height: 100%;
        min-height: 100%;
        padding: 0;
        border: 0;
        background: transparent;
        backdrop-filter: none;
    }

    .haven-header.is-menu-open .haven-header__menu {
        display: none !important;
    }

    .haven-header.is-menu-open .haven-header__brand,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand {
        position: fixed;
        top: 76px;
        left: 24px;
        z-index: 3;
        width: 78.909px;
        height: 28px;
        margin: 0;
        padding: 0;
        border: 0;
    }

    .haven-header.is-menu-open .haven-header__brand img,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand img,
    body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        display: block;
        filter: brightness(0) invert(1) !important;
    }

    .haven-header.is-menu-open .haven-header__actions,
    body.haven-home-route .haven-header.is-menu-open .haven-header__actions {
        display: contents;
    }

    .haven-header.is-menu-open .haven-header__lang {
        display: none !important;
    }

    .haven-header.is-menu-open .haven-header__close {
        position: fixed;
        top: 76px;
        right: 24px;
        z-index: 3;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        height: 40px;
        min-height: 40px;
        padding: 12px;
        border: 0;
        border-radius: 6px;
        background: #fff;
        color: #075056;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 500;
        line-height: normal;
        text-transform: none;
    }

    .haven-header.is-menu-open .haven-header__nav {
        position: fixed;
        top: 303px;
        left: 24px;
        right: 24px;
        bottom: auto;
        z-index: 2;
        display: flex !important;
        width: auto;
        padding: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .haven-header.is-menu-open .haven-header__nav > a,
    .haven-header.is-menu-open .haven-header__cta {
        width: 100%;
        min-height: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: #fff !important;
        font-family: var(--haven-display-font);
        font-size: 22px !important;
        font-weight: 400 !important;
        line-height: normal;
        text-decoration: none;
        text-transform: none;
        box-shadow: none;
    }

    .haven-header.is-menu-open .haven-header__cta {
        position: fixed;
        top: 429px;
        left: 24px;
        right: 24px;
        z-index: 2;
        display: block !important;
    }

    .haven-header.is-menu-open .haven-header__cta i {
        display: none;
    }

    .haven-header.is-menu-open .haven-header__cta .haven-button-text,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text__inner,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text::after {
        color: #fff !important;
        font-family: var(--haven-display-font);
        font-size: 22px !important;
        font-weight: 400 !important;
        line-height: normal !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta {
        position: fixed;
        left: 24px;
        right: 24px;
        bottom: 22px;
        z-index: 2;
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        color: #fff;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta > div:first-child {
        display: flex;
        width: 100%;
        padding: 24px 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.20);
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta strong {
        margin: 0;
        color: #d9d9d9;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 400;
        line-height: normal;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta span,
    .haven-header.is-menu-open .haven-mobile-menu__meta a {
        margin: 0;
        color: #fff;
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        font-weight: 400;
        line-height: normal;
        text-decoration: none;
        white-space: nowrap;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom {
        display: flex;
        width: 100%;
        padding: 0;
        align-items: center;
        gap: 16px;
        border: 0;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span {
        width: 16px;
        height: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span::before {
        font-family: "Font Awesome 5 Brands";
        font-size: 16px;
        font-weight: 400;
        line-height: 1;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span:nth-child(1)::before {
        content: "\f39e";
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span:nth-child(2)::before {
        content: "\f16d";
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span:nth-child(3)::before {
        content: "\f0e1";
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a {
        margin-left: auto;
        font-family: var(--haven-montserrat-font);
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.14px;
    }

    .haven-request-page {
        padding-top: 0;
        background: #e4eef0;
        overflow: hidden;
    }

    .haven-request-hero {
        min-height: 0;
        padding: 0 0 12px;
        overflow: visible;
    }

    .haven-request-hero__bg {
        top: 0;
        height: 445px;
        min-height: 0;
        object-fit: cover;
        object-position: center top;
    }

    .haven-request-hero .haven-container {
        width: 100%;
        max-width: none;
        min-height: 0;
        margin: 0;
        padding: 0 15px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .haven-request-hero__content {
        width: 100%;
        max-width: 360px;
        margin: 0;
        padding-top: 104px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        text-align: center;
    }

    .haven-request-hero h1 {
        margin: 0;
        color: #043034;
        font-family: var(--haven-display-font);
        font-size: 22px;
        font-weight: 400;
        line-height: normal;
        text-align: center;
    }

    .haven-request-hero p {
        width: 246px;
        max-width: 100%;
        margin: 0;
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        font-weight: 400;
        line-height: 160%;
        text-align: center;
    }

    .haven-request-form,
    .haven-request-success {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        max-width: 360px;
        margin: 44px 0 0;
        transform: none;
    }

    .haven-request-form {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 16px;
        border-radius: 8px;
        background: #fff;
    }

    .haven-request-form label {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
    }

    .haven-request-form label > span {
        gap: 2px;
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 400;
        line-height: normal;
        text-transform: uppercase;
    }

    .haven-request-form input,
    .haven-request-form select {
        height: 42px;
        min-height: 42px;
        padding: 14px 12px;
        border-radius: 6px;
        border: 1px solid #e9e8e8;
        background-color: #fafafa;
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 400;
        line-height: normal;
    }

    .haven-request-form input::placeholder,
    .haven-request-form select {
        color: #838383;
    }

    .haven-request-form select {
        border-radius: 4px;
        background-size: 12px 12px;
        background-position: right 12px center;
    }

    .haven-request-form button {
        width: 100%;
        min-height: 40px;
        padding: 12px;
        gap: 8px;
        border-radius: 6px;
        background: #075056;
        font-family: var(--haven-helvetica-font);
        font-size: 12px !important;
        font-weight: 500;
        line-height: normal;
    }

    .haven-request-form button .haven-button-text,
    .haven-request-form button .haven-button-text__inner,
    .haven-request-form button .haven-button-text::after {
        font-size: 12px !important;
        line-height: normal !important;
    }

    .haven-request-form button .haven-button-bullet {
        width: 8px;
        height: 8px;
    }

    .haven-request-success {
        min-height: 360px;
        padding: 32px 16px;
        border-radius: 8px;
    }

    .haven-request-steps {
        padding: 0 15px 44px;
    }

    .haven-request-steps .haven-container {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .haven-request-steps .haven-consult__cards {
        width: 100%;
        max-width: 360px;
        min-height: 0;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        border: 0;
    }

    .haven-request-steps .haven-consult__cards article {
        width: 100%;
        min-height: 176px;
        padding: 32px 16px;
        gap: 8px;
        border: 0;
        align-items: center;
    }

    .haven-request-steps .haven-consult__cards img {
        width: 32px;
        height: 32px;
        margin: 0;
    }

    .haven-request-steps .haven-consult__cards h3 {
        margin: 0;
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 16px;
        font-weight: 500;
        line-height: normal;
        text-align: center;
    }

    .haven-request-steps .haven-consult__cards p {
        margin: 0;
        color: rgba(14, 43, 46, 0.80);
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        font-weight: 400;
        line-height: 160%;
        text-align: center;
        white-space: nowrap;
    }

    .haven-project-page {
        padding-top: 0;
        background: #e4eef0;
    }

    .haven-project-page .haven-selector {
        padding: 84px 16px 44px;
    }

    .haven-project-page .haven-selector > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-project-page .haven-selector__card {
        width: 100%;
        max-width: 358px;
        height: auto;
        min-height: 0;
        margin: 0 auto;
        padding: 16px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        border-radius: 8px;
        background: #fff;
    }

    .haven-project-page .haven-selector__tabs {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 12px;
        order: 1;
    }

    .haven-project-page .haven-selector__tabs button {
        width: 100%;
        min-height: 46px;
        padding: 14px 16px 16px;
        border-radius: 6px;
        background: #f4f8f9;
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        font-weight: 500;
        line-height: normal;
        text-transform: none;
    }

    .haven-project-page .haven-selector__tabs button.active {
        background: #075056;
        color: #fff;
    }

    .haven-project-page .haven-selector__tabs button span {
        width: 13px;
        height: 13px;
        font-size: 18px;
        transform: none;
    }

    .haven-project-page .haven-selector__content {
        width: 100%;
        height: auto;
        min-height: 0;
        order: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 24px;
        padding: 16px;
        border-radius: 6px;
        background: #f4f8f9;
    }

    .haven-project-page .haven-selector__visual {
        display: contents;
    }

    .haven-project-page .haven-selector__info {
        order: 1;
        width: 100%;
        height: auto;
        flex: 0 0 auto;
        padding: 0 0 16px;
        border-bottom: 1px solid #d8e1e3;
        background: transparent;
    }

    .haven-project-page .haven-selector__info h1 {
        width: 100%;
        margin: 0;
        padding: 0 0 12px;
        border-bottom: 1px solid #d8e1e3;
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        font-weight: 400;
        line-height: normal;
        text-transform: uppercase;
    }

    .haven-project-page .haven-price {
        width: 100%;
        margin: 12px 0 0;
        gap: 12px;
        align-items: center;
    }

    .haven-project-page .haven-price__value {
        color: #0e2b2e;
        font-size: 28px;
        line-height: normal;
    }

    .haven-project-page .haven-price__toggle {
        gap: 6px;
        padding: 4px;
        border-radius: 6px;
        background: #fff;
    }

    .haven-project-page .haven-price__toggle button {
        width: 28px;
        height: 28px;
        border-radius: 4px;
        font-size: 14px;
    }

    .haven-project-page .haven-project-metrics {
        width: 100%;
        margin: 12px 0 0;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 26px;
    }

    .haven-project-page .haven-project-metrics span {
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 400;
        line-height: normal;
        text-transform: uppercase;
    }

    .haven-project-page .haven-project-metrics strong {
        padding-top: 2px;
        font-size: 16px;
        line-height: normal;
    }

    .haven-project-page .haven-project-badges {
        width: 100%;
        margin: 12px 0 0;
        padding: 0;
        gap: 8px;
        border-bottom: 0;
    }

    .haven-project-page .haven-project-badges span {
        min-height: 0;
        padding: 4px 10px;
        border-radius: 999px;
        background: #dbe4e6;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 400;
        line-height: normal;
        text-transform: uppercase;
    }

    .haven-project-page .haven-plan-stage {
        order: 2;
        width: 100%;
        height: auto;
        aspect-ratio: 2278 / 2160;
        overflow: hidden;
    }

    .haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="2d"].active) {
        width: 100%;
    }

    .haven-project-page .haven-plan-image[data-plan="3d"] {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .haven-project-page .haven-plan-image[data-plan="2d"] {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .haven-project-page .haven-plan-switch {
        order: 3;
        position: static;
        transform: none;
        display: flex;
        align-items: center;
        gap: 4px;
        padding: 4px;
        border-radius: 6px;
        background: #fff;
    }

    .haven-project-page .haven-plan-switch button {
        width: auto;
        min-width: 0;
        height: auto;
        padding: 6px 10px;
        border-radius: 4px;
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 16px;
        font-weight: 700;
        line-height: normal;
    }

    .haven-project-page .haven-plan-switch button.active {
        color: #fff;
        background: #075056;
    }

    .haven-project-page .haven-download {
        display: none;
    }

    .haven-project-page .haven-selector__mobile-details {
        order: 4;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .haven-project-page .haven-selector__info > .haven-project-specs,
    .haven-project-page .haven-selector__info > .haven-selector__cta {
        display: none;
    }

    .haven-project-page .haven-selector__mobile-details .haven-selector__cta,
    .haven-project-page .haven-download-mobile {
        width: 100%;
        min-height: 40px;
        margin: 0;
        padding: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border-radius: 6px;
        font-family: var(--haven-helvetica-font);
        font-size: 12px !important;
        font-weight: 500;
        line-height: normal;
        text-transform: uppercase;
    }

    .haven-project-page .haven-selector__mobile-details .haven-selector__cta {
        border: 0;
        background: #075056;
        color: #fff;
    }

    .haven-project-page .haven-download-mobile {
        border: 1px solid #075056;
        background: transparent;
        color: #075056;
        text-decoration: none;
    }

    .haven-project-page .haven-download-mobile .haven-download__icon {
        display: none;
    }

    .haven-project-page .haven-selector__mobile-details .haven-project-specs {
        width: 100%;
        max-height: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 12px;
        overflow: visible;
    }

    .haven-project-page .haven-project-specs div {
        display: flex;
        align-items: center;
        gap: 12px;
        color: #043034;
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        line-height: normal;
        white-space: nowrap;
    }

    .haven-project-page .haven-project-specs img {
        width: 28px;
        height: 28px;
    }

    .haven-project-page .haven-project-specs span {
        font-size: 14px;
        font-weight: 400;
    }

    .haven-project-page .haven-project-specs strong {
        font-family: var(--haven-montserrat-font);
        font-size: 14px;
        font-weight: 700;
    }

    .haven-about-page {
        padding-top: 0;
        background: #e4eef0;
        overflow: hidden;
    }

    .haven-about-page .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 16px !important;
    }

    .haven-about-hero {
        padding: 144px 0 28px;
    }

    .haven-about-hero__grid {
        width: 100%;
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .haven-about-hero h1 {
        margin: 0;
        color: #043034;
        font-family: var(--haven-display-font);
        font-size: 32px;
        font-weight: 400;
        line-height: normal;
        white-space: normal;
    }

    .haven-about-hero p {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        color: #0e2b2e;
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        font-weight: 400;
        line-height: 160%;
    }

    .haven-about-master {
        margin: 0;
        padding: 0;
    }

    .haven-about-master .haven-container {
        padding: 0 !important;
    }

    .haven-stat-image {
        width: 100%;
        height: auto;
        aspect-ratio: 5632 / 3800;
        max-width: none;
        border-radius: 0;
    }

    .haven-stat-image img {
        position: static;
        width: 100%;
        height: 100%;
        max-width: none;
        aspect-ratio: auto;
        object-fit: cover;
        object-position: center;
    }

    .haven-stat-image__stats {
        inset: 0;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        align-items: end;
        background: linear-gradient(180deg, rgba(4, 48, 52, 0) 46%, rgba(4, 48, 52, 0.42) 100%);
    }

    .haven-stat-image__stats::before,
    .haven-stat-image__stats::after {
        top: 0;
        bottom: 0;
        height: auto;
        background: rgba(255, 255, 255, 0.34);
    }

    .haven-stat-image__stats::before {
        left: 33.333%;
    }

    .haven-stat-image__stats::after {
        left: 66.666%;
    }

    .haven-stat-image__stats strong,
    .haven-stat-image__stats strong:first-child,
    .haven-stat-image__stats strong:nth-child(2),
    .haven-stat-image__stats strong:nth-child(3) {
        position: static;
        transform: none;
        left: auto;
        bottom: auto;
        min-height: 58px;
        padding: 0 6px 18px;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        color: #fff;
        font-family: var(--haven-display-font);
        font-size: 20px;
        font-weight: 400;
        line-height: normal;
        text-align: center;
        white-space: nowrap;
        word-spacing: 0;
    }

    .haven-stat-image__stats sup {
        margin-left: 1px;
        font-size: 10px;
        line-height: 1;
    }

    .haven-story {
        margin: 0;
        padding: 44px 0 0;
    }

    .haven-story__grid {
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .haven-story__grid > div:first-child {
        width: 100%;
        flex: 0 0 auto;
        gap: 16px;
    }

    .haven-story .haven-section-label,
    .haven-partners__grid .haven-section-label {
        gap: 8px;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400;
        line-height: normal;
        text-transform: uppercase !important;
    }

    .haven-story .haven-section-label::before,
    .haven-partners__grid .haven-section-label::before {
        width: 12px;
        height: 12px;
        flex: 0 0 12px;
    }

    .haven-story h2 {
        width: 100%;
        color: #043034;
        font-family: var(--haven-display-font);
        font-size: 22px;
        font-weight: 400;
        line-height: normal;
    }

    .haven-story__copy {
        width: 100%;
        gap: 24px;
    }

    .haven-story__copy p {
        width: 100%;
        min-width: 0;
        color: #0e2b2e;
        font-family: var(--haven-helvetica-font);
        font-size: 14px;
        font-weight: 400;
        line-height: 160%;
    }

    .haven-story__copy .haven-btn {
        width: 100%;
        min-height: 40px;
        padding: 12px 16px;
        gap: 8px;
        border-radius: 6px;
        background: #075056;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500;
        line-height: normal;
        text-transform: uppercase !important;
    }

    .haven-story__copy .haven-btn > span:first-child {
        width: 8px;
        height: 8px;
        flex: 0 0 8px;
        border: 1px solid #fff;
        border-radius: 50%;
        color: transparent;
        font-size: 0;
    }

    .haven-about-gallery {
        margin: 32px 0 0;
        padding: 0;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .haven-about-gallery::-webkit-scrollbar {
        display: none;
    }

    .haven-about-gallery__track {
        width: max-content;
        max-width: none;
        margin: 0;
        padding: 0 16px;
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        gap: 16px;
        overflow: visible;
    }

    .haven-about-gallery img,
    .haven-about-gallery img:nth-child(n+4) {
        display: block;
        flex: 0 0 160px;
        width: 160px;
        height: 200px;
        aspect-ratio: auto;
        object-fit: cover;
    }

    .haven-about-features {
        margin: 48px 0 0;
        padding: 0;
    }

    .haven-about-features .haven-container {
        padding: 0 !important;
    }

    .haven-about-features__grid {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 28px;
    }

    .haven-about-features__image {
        width: 100%;
        height: 300px;
        flex: 0 0 auto;
        object-fit: cover;
        object-position: center;
    }

    .haven-about-features__list {
        width: 100%;
        height: auto;
        flex: 0 0 auto;
        padding: 0 16px;
        gap: 0;
    }

    .haven-about-features article {
        width: 100%;
        display: grid;
        grid-template-columns: 24px 1fr;
        align-items: flex-start;
        column-gap: 16px;
        row-gap: 8px;
        padding: 16px 0;
        border-bottom: 1px solid #b6c8cb;
    }

    .haven-about-features article:first-child {
        padding-top: 0;
    }

    .haven-about-features article:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .haven-about-features article img {
        grid-column: 1;
        grid-row: 1;
        width: 24px;
        height: 24px;
        padding: 0;
        object-fit: contain;
    }

    .haven-about-features article > div {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .haven-about-features h3 {
        color: #043034;
        font-family: var(--haven-display-font);
        font-size: 16px;
        font-weight: 400;
        line-height: normal;
    }

    .haven-about-features p {
        color: #0e2b2e;
        font-family: var(--haven-helvetica-font);
        font-size: 12px;
        font-weight: 400;
        line-height: 160%;
    }

    .haven-partners {
        margin: 48px 0 0;
        padding: 20px 0 32px;
        background: rgba(255, 255, 255, 0.5);
        overflow: hidden;
    }

    .haven-partners__grid {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }

    .haven-partners__grid div {
        width: max-content;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 44px;
        animation: havenLogosMarqueeMobile 18s linear infinite;
        will-change: transform;
    }

    .haven-partners img {
        flex: 0 0 auto;
        max-width: none;
        object-fit: contain;
    }

    .haven-partners img:nth-child(3n + 1) {
        width: 126px;
        height: auto;
    }

    .haven-partners img:nth-child(3n + 2) {
        width: 96px;
        height: auto;
    }

    .haven-partners img:nth-child(3n) {
        width: 104px;
        height: auto;
    }

    .haven-final-cta--about-page {
        padding-top: 56px;
    }
}

@keyframes havenAboutPartnersMarquee {
    from {
        transform: translateX(22%);
    }

    to {
        transform: translateX(-52%);
    }
}

.haven-header__nav a,
.haven-header__nav-link,
.haven-header.is-menu-open .haven-header__nav > a,
.haven-header__cta,
.haven-header__cta .haven-button-text,
.haven-header__cta .haven-button-text::after,
.haven-header__cta .haven-button-text__inner,
.haven-btn,
.haven-btn .haven-button-text,
.haven-btn .haven-button-text::after,
.haven-btn .haven-button-text__inner,
.haven-mini-link,
.haven-mini-link .haven-button-text,
.haven-mini-link .haven-button-text::after,
.haven-mini-link .haven-button-text__inner,
.haven-house-card__link,
.haven-house-card__link .haven-button-text,
.haven-house-card__link .haven-button-text::after,
.haven-house-card__link .haven-button-text__inner,
.haven-download,
.haven-download .haven-button-text,
.haven-download .haven-button-text::after,
.haven-download .haven-button-text__inner,
.haven-download-mobile,
.haven-download-mobile .haven-button-text,
.haven-download-mobile .haven-button-text::after,
.haven-download-mobile .haven-button-text__inner,
.haven-consult__form button,
.haven-consult__form button .haven-button-text,
.haven-consult__form button .haven-button-text::after,
.haven-consult__form button .haven-button-text__inner,
.haven-request-form button,
.haven-request-form button .haven-button-text,
.haven-request-form button .haven-button-text::after,
.haven-request-form button .haven-button-text__inner {
    text-transform: uppercase !important;
}

.haven-consult__form input::placeholder,
.haven-consult__form select::placeholder,
.haven-request-form input::placeholder,
.haven-request-form select::placeholder {
    color: var(--Text-placeholder, #838383) !important;
    font-family: var(--haven-helvetica-font) !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    opacity: 1 !important;
}

.haven-consult__form input::-webkit-input-placeholder,
.haven-request-form input::-webkit-input-placeholder {
    color: var(--Text-placeholder, #838383) !important;
    font-family: var(--haven-helvetica-font) !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    opacity: 1 !important;
}

.haven-footer h3 .haven-footer__heading-text,
body.haven-home-route .haven-footer h3 .haven-footer__heading-text {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    color: inherit !important;
    font: inherit !important;
    font-family: var(--haven-caps-font) !important;
    line-height: inherit !important;
    white-space: inherit !important;
    transform: translateY(2px);
}

@media (min-width: 768px) {
    .haven-footer__copyright {
        display: flex !important;
        align-items: center !important;
        gap: calc(8 * var(--hs)) !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: var(--Text-inverted-inverted, #FFF) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: calc(16 * var(--hs)) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }

    .haven-footer__copyright-icon {
        display: block !important;
        width: calc(12 * var(--hs)) !important;
        height: calc(12 * var(--hs)) !important;
        flex: 0 0 auto !important;
        object-fit: contain !important;
        transform: translateY(-1px) !important;
    }

    .haven-footer__copyright strong {
        color: var(--Text-inverted-inverted, #FFF) !important;
        font-family: Montserrat, var(--haven-montserrat-font) !important;
        font-size: calc(16 * var(--hs)) !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-footer__copyright span {
        display: block !important;
        color: var(--Text-inverted-inverted, #FFF) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: calc(16 * var(--hs)) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }
}

body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text,
body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text::after,
body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    text-transform: uppercase !important;
}

.haven-final-cta--home .haven-final-cta__card > a.haven-btn .haven-button-text,
.haven-final-cta--home .haven-final-cta__card > a.haven-btn .haven-button-text::after,
.haven-final-cta--home .haven-final-cta__card > a.haven-btn .haven-button-text__inner,
body.haven-home-route .haven-final-cta--home .haven-final-cta__card > a.haven-btn .haven-button-text,
body.haven-home-route .haven-final-cta--home .haven-final-cta__card > a.haven-btn .haven-button-text::after,
body.haven-home-route .haven-final-cta--home .haven-final-cta__card > a.haven-btn .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    text-transform: uppercase !important;
}

body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text,
body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text::after,
body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    text-transform: uppercase !important;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-consult__success {
        position: static;
        top: auto;
        left: auto;
        width: 100%;
        max-width: none;
        height: auto;
        min-height: 360px;
        margin: 0;
        padding: 32px 16px;
        flex: 0 0 auto;
        transform: none;
    }
}

.haven-about-page .haven-story .haven-section-label > span,
.haven-about-page .haven-partners__grid .haven-section-label > span {
    transform: translateY(3px);
}

.haven-about-page .haven-story__copy .haven-btn {
    align-items: center;
}

.haven-about-page .haven-story__copy .haven-btn .haven-button-text {
    top: 2px;
}

.haven-about-gallery__item {
    flex: 0 0 calc(400 * var(--hs));
    width: calc(400 * var(--hs));
    height: calc(500 * var(--hs));
    display: block;
    overflow: hidden;
    cursor: zoom-in;
}

.haven-about-gallery__item img {
    width: 100%;
    height: 100%;
}

.haven-about-page .haven-partners__grid .haven-section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.haven-about-page .haven-partners__grid .haven-section-label::before {
    content: "";
    width: 14px;
    height: 14px;
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
    display: block;
    border-radius: 0;
    background: var(--Text-primary, #043034);
    clip-path: polygon(0 0, 60.14% 0, 100% 20.27%, 100% 100%, 39.86% 100%, 0 79.73%);
}

.haven-about-page .haven-partners__logos {
    --haven-partners-logo-gap: calc(63 * var(--hs));
    --haven-partners-loop-width: calc(751 * var(--hs));
    width: calc(688 * var(--hs)) !important;
    max-width: min(100%, calc(688 * var(--hs))) !important;
    min-width: 0 !important;
    flex: 0 0 auto;
    display: block !important;
    overflow: hidden;
    animation: none !important;
    transform: none !important;
}

.haven-about-page .haven-partners__logos-track {
    width: max-content !important;
    min-width: max-content !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: var(--haven-partners-logo-gap) !important;
    animation: havenAboutPartnersLoop 14s linear infinite !important;
    will-change: transform;
}

.haven-about-page .haven-partners__logos:hover .haven-partners__logos-track {
    animation-play-state: paused !important;
}

@media (min-width: 768px) {
    .haven-about-page .haven-partners {
        padding: 0 !important;
        background: rgba(255, 255, 255, 0.5) !important;
    }

    .haven-about-page .haven-partners__grid {
        width: calc(100% - 40px) !important;
        max-width: calc(1424 * var(--hs)) !important;
        min-height: calc(108 * var(--hs));
        margin-inline: auto !important;
        padding: calc(32 * var(--hs)) calc(52 * var(--hs)) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: calc(63 * var(--hs)) !important;
        box-sizing: border-box !important;
    }

    .haven-about-page .haven-partners__grid > .haven-section-label {
        display: inline-flex !important;
        align-items: center !important;
        flex: 0 0 calc(152 * var(--hs)) !important;
        width: calc(152 * var(--hs)) !important;
        height: calc(21 * var(--hs)) !important;
        gap: calc(8 * var(--hs)) !important;
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: calc(18 * var(--hs)) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: calc(21 * var(--hs)) !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-about-page .haven-partners__grid > .haven-section-label::before {
        width: calc(14 * var(--hs)) !important;
        height: calc(14 * var(--hs)) !important;
        flex: 0 0 calc(14 * var(--hs)) !important;
    }

    .haven-about-page .haven-partners__grid > .haven-section-label > span {
        display: block !important;
        flex: 0 0 calc(130 * var(--hs)) !important;
        width: calc(130 * var(--hs)) !important;
        height: calc(21 * var(--hs)) !important;
        line-height: calc(21 * var(--hs)) !important;
        transform: none !important;
    }

    .haven-about-page .haven-partners__logos {
        width: calc(688 * var(--hs)) !important;
        max-width: calc(688 * var(--hs)) !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-partners__logos-track {
        gap: calc(63 * var(--hs)) !important;
        animation: havenAboutPartnersLoop 14s linear infinite !important;
        transform: translateX(0);
    }

    .haven-about-page .haven-partners__logos-track img[aria-hidden="true"] {
        display: block !important;
    }
}

@keyframes havenAboutPartnersLoop {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-1 * var(--haven-partners-loop-width)));
    }
}

@media (max-width: 767px) {
    .haven-about-gallery__item,
    .haven-about-gallery img,
    .haven-about-gallery img:nth-child(n+4) {
        flex: 0 0 160px;
        width: 160px;
        height: 200px;
    }

    .haven-about-page .haven-partners__grid .haven-section-label::before {
        width: 12px;
        height: 12px;
        flex-basis: 12px;
    }

    .haven-about-page .haven-partners__logos {
        --haven-partners-logo-gap: 44px;
        --haven-partners-loop-width: 458px;
        width: 326px !important;
        max-width: 100% !important;
    }
}

.haven-header__nav a,
.haven-header__nav-link,
.haven-header--sticky .haven-header__nav a,
.haven-header--inner .haven-header__nav a,
.haven-header--request .haven-header__nav a,
.haven-header.is-menu-open .haven-header__nav > a {
    font-family: var(--haven-caps-font) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
}

.haven-header__cta,
.haven-header__cta .haven-button-text,
.haven-header__cta .haven-button-text::after,
.haven-header__cta .haven-button-text__inner,
.haven-btn,
.haven-btn .haven-button-text,
.haven-btn .haven-button-text::after,
.haven-btn .haven-button-text__inner,
.haven-mini-link,
.haven-mini-link .haven-button-text,
.haven-mini-link .haven-button-text::after,
.haven-mini-link .haven-button-text__inner,
.haven-house-card__link,
.haven-house-card__link .haven-button-text,
.haven-house-card__link .haven-button-text::after,
.haven-house-card__link .haven-button-text__inner,
.haven-download,
.haven-download .haven-button-text,
.haven-download .haven-button-text::after,
.haven-download .haven-button-text__inner,
.haven-download-mobile,
.haven-download-mobile .haven-button-text,
.haven-download-mobile .haven-button-text::after,
.haven-download-mobile .haven-button-text__inner,
.haven-consult__form button,
.haven-consult__form button .haven-button-text,
.haven-consult__form button .haven-button-text::after,
.haven-consult__form button .haven-button-text__inner,
.haven-request-form button,
.haven-request-form button .haven-button-text,
.haven-request-form button .haven-button-text::after,
.haven-request-form button .haven-button-text__inner,
.haven-selector__cta,
.haven-selector__cta .haven-button-text,
.haven-selector__cta .haven-button-text::after,
.haven-selector__cta .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
}

.haven-project-list-page .haven-project-marker,
.haven-project-list-page .haven-project-marker span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.haven-project-list-page .haven-project-marker span {
    width: calc(0 * var(--project-map-scale)) !important;
    height: calc(0 * var(--project-map-scale)) !important;
    padding: 0 !important;
    font-family: "Dachi The Lynx" !important;
    font-size: calc(22 * var(--project-map-scale)) !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-align: center !important;
    transform: translateY(calc(2 * var(--hs)));
}

@media (max-width: 767px) {
    .haven-footer__brand-main p,
    body.haven-home-route .haven-footer__brand-main p {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .haven-footer__social-mobile a,
    body.haven-home-route .haven-footer__social-mobile a {
        font-size: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
    }

    .haven-footer__social-mobile a::before,
    body.haven-home-route .haven-footer__social-mobile a::before {
        flex: 0 0 auto !important;
        font-size: 20px !important;
    }
}

@media (min-width: 768px) {
    .haven-project-page .haven-selector__visual {
        width: calc(500 * var(--hs)) !important;
        flex: 0 0 calc(500 * var(--hs)) !important;
        height: calc(632 * var(--hs)) !important;
    }

    .haven-project-page .haven-selector__info {
        width: calc(440 * var(--hs)) !important;
        flex: 0 0 calc(440 * var(--hs)) !important;
        height: calc(609 * var(--hs)) !important;
        min-height: calc(609 * var(--hs)) !important;
    }

    .haven-project-page .haven-plan-stage {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="3d"].active) {
        width: calc(500 * var(--hs)) !important;
        height: calc(520 * var(--hs)) !important;
    }

    .haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="2d"].active) {
        width: calc(279 * var(--hs)) !important;
        height: calc(520 * var(--hs)) !important;
    }

    .haven-project-page .haven-plan-image {
        top: 50% !important;
        left: 50% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        transform: translate(-50%, -50%) !important;
    }

    .haven-project-page .haven-plan-image[data-plan="3d"] {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    .haven-project-page .haven-selector__info > .haven-project-specs {
        flex: 1 1 auto !important;
        max-height: none !important;
        min-height: 0 !important;
    }

    .haven-project-page .haven-selector__cta {
        margin-top: auto !important;
    }
}

.haven-project-page .haven-download,
.haven-project-page .haven-download-mobile,
.haven-project-page .haven-download .haven-button-text,
.haven-project-page .haven-download .haven-button-text::after,
.haven-project-page .haven-download .haven-button-text__inner,
.haven-project-page .haven-download-mobile .haven-button-text,
.haven-project-page .haven-download-mobile .haven-button-text::after,
.haven-project-page .haven-download-mobile .haven-button-text__inner,
.haven-project-page .haven-selector__cta,
.haven-project-page .haven-selector__cta .haven-button-text,
.haven-project-page .haven-selector__cta .haven-button-text::after,
.haven-project-page .haven-selector__cta .haven-button-text__inner {
    font-family: var(--haven-helvetica-font) !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
}

.haven-project-page .haven-download__text {
    display: inline-block;
    transform: translateY(calc(3 * var(--hs)));
}

@media (max-width: 767px) {
    .haven-request-page {
        padding-top: 0 !important;
        background: var(--Background-secondary, #e4eef0) !important;
        color: var(--Text-primary, #043034) !important;
        overflow: hidden !important;
    }

    .haven-request-hero {
        position: relative !important;
        min-height: 0 !important;
        padding: 0 0 12px !important;
        overflow: visible !important;
    }

    .haven-request-hero__picture {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 445px !important;
        display: block !important;
        overflow: hidden !important;
        z-index: 0 !important;
    }

    .haven-request-hero__bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    .haven-request-hero .haven-container {
        position: relative !important;
        z-index: 1 !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 15px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .haven-request-hero__content {
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 !important;
        padding-top: 104px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
        text-align: center !important;
    }

    .haven-request-hero h1 {
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 !important;
        color: var(--Text-primary, #043034) !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-align: center !important;
        white-space: normal !important;
        letter-spacing: 0 !important;
    }

    .haven-request-hero p {
        width: 246px !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: var(--Text-primary, #043034) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        text-align: center !important;
    }

    .haven-request-form,
    .haven-request-success {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        max-width: 360px !important;
        margin: 44px auto 0 !important;
        transform: none !important;
    }

    .haven-request-form {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 16px !important;
        border-radius: 8px !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    .haven-request-form label {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .haven-request-form label > span {
        display: inline-flex !important;
        align-items: flex-start !important;
        gap: 2px !important;
        color: var(--Text-primary, #043034) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-request-form input,
    .haven-request-form select {
        width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 14px 12px !important;
        border: 1px solid #e9e8e8 !important;
        border-radius: 6px !important;
        background-color: #fafafa !important;
        color: var(--Text-primary, #043034) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: normal !important;
    }

    .haven-request-form input::placeholder,
    .haven-request-form select {
        color: var(--Text-placeholder, #838383) !important;
    }

    .haven-request-form select {
        border-radius: 4px !important;
        background-size: 12px 12px !important;
        background-position: right 12px center !important;
    }

    .haven-request-form button {
        width: 100% !important;
        min-height: 40px !important;
        height: 40px !important;
        padding: 12px !important;
        gap: 8px !important;
        border-radius: 6px !important;
        background: var(--Button-primary-default, #075056) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-request-form button .haven-button-text,
    .haven-request-form button .haven-button-text__inner,
    .haven-request-form button .haven-button-text::after {
        font-size: 12px !important;
        line-height: normal !important;
    }

    .haven-request-form button .haven-button-bullet {
        width: 8px !important;
        height: 8px !important;
    }

    .haven-request-success {
        min-height: 360px !important;
        padding: 32px 16px !important;
        border-radius: 8px !important;
    }

    .haven-request-steps {
        padding: 0 15px 122px !important;
    }

    .haven-request-steps .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-request-steps .haven-consult__cards {
        width: 100% !important;
        max-width: 360px !important;
        min-height: 528px !important;
        margin: 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
        border: 0 !important;
    }

    .haven-request-steps .haven-consult__cards article {
        width: 100% !important;
        min-height: 176px !important;
        padding: 32px 16px !important;
        gap: 8px !important;
        border: 0 !important;
        align-items: center !important;
    }

    .haven-request-steps .haven-consult__cards img {
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
    }

    .haven-request-steps .haven-consult__cards h3 {
        margin: 0 !important;
        color: var(--Text-primary, #043034) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-align: center !important;
    }

    .haven-request-steps .haven-consult__cards p {
        margin: 0 !important;
        color: rgba(14, 43, 46, 0.80) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .haven-final-cta--request {
        margin-top: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .haven-final-cta--request > .haven-container {
        width: auto !important;
        max-width: none !important;
        margin: 0 16px 0 0 !important;
        padding: 0 !important;
    }

    .haven-final-cta--request .haven-final-cta__card {
        width: 100% !important;
        height: 276px !important;
        min-height: 276px !important;
        padding: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    .haven-final-cta--request .haven-final-cta__picture {
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    .haven-final-cta--request .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        transform: none !important;
    }

    .haven-final-cta--request .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        right: auto !important;
        width: auto !important;
        color: #fff !important;
        font-size: 22px !important;
        line-height: normal !important;
        z-index: 2 !important;
    }

    .haven-final-cta--request .haven-final-cta__card .haven-btn {
        top: auto !important;
        right: auto !important;
        bottom: 32px !important;
        left: 16px !important;
        min-width: 0 !important;
        min-height: 40px !important;
        padding: 12px !important;
        border-radius: 6px !important;
        font-size: 12px !important;
        z-index: 2 !important;
    }

    .haven-final-cta--request .haven-final-cta__card .haven-btn .haven-button-text,
    .haven-final-cta--request .haven-final-cta__card .haven-btn .haven-button-text__inner,
    .haven-final-cta--request .haven-final-cta__card .haven-btn .haven-button-text::after {
        font-size: 12px !important;
        line-height: normal !important;
    }

    .haven-final-cta--request + .haven-footer {
        margin-top: -138px !important;
        padding: 138px 24px 0 !important;
        background: #075056 !important;
    }

    .haven-final-cta--request + .haven-footer .haven-container,
    .haven-final-cta--request + .haven-footer .haven-footer__grid {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__brand {
        display: contents !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__brand-main {
        order: 1 !important;
        width: 100% !important;
        gap: 20px !important;
        padding: 24px 0 0 !important;
        border-bottom: 0 !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__brand-main img {
        width: 124px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__brand-main p {
        width: 100% !important;
        max-width: none !important;
        color: #fff !important;
        font-size: 14px !important;
        line-height: 160% !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile {
        order: 2 !important;
        width: 100% !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 20px 0 24px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.30) !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a {
        width: 20px !important;
        height: 20px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #fff !important;
        font-size: 0 !important;
        line-height: 1 !important;
        text-decoration: none !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a::before {
        font-family: "Font Awesome 5 Brands" !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a:nth-child(1)::before {
        content: "\f39e" !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a:nth-child(2)::before {
        content: "\f16d" !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a:nth-child(3)::before {
        content: "\f0e1" !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__links {
        order: 3 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
        gap: 44px 64px !important;
        padding: 32px 0 !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__col {
        gap: 12px !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__col--language {
        display: flex !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__col--contact {
        grid-column: 1 / -1 !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__col--social {
        display: none !important;
    }

    .haven-final-cta--request + .haven-footer h3 {
        margin: 0 0 4px !important;
        gap: 8px !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 500 !important;
    }

    .haven-final-cta--request + .haven-footer h3 > span[aria-hidden="true"] {
        width: 12px !important;
        height: 12px !important;
    }

    .haven-final-cta--request + .haven-footer a,
    .haven-final-cta--request + .haven-footer span {
        color: #e4eef0 !important;
        font-size: 16px !important;
        line-height: normal !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__copyright {
        order: 4 !important;
        width: 100% !important;
        min-height: 151px !important;
        margin: 0 !important;
        padding: 24px 0 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.30) !important;
        gap: 8px !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__copyright-icon {
        width: 10px !important;
        height: 10px !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__copyright strong,
    .haven-final-cta--request + .haven-footer .haven-footer__copyright span {
        color: #fff !important;
        font-size: 12px !important;
        line-height: normal !important;
    }
}

@media (max-width: 767px) {
    .haven-header.is-menu-open,
    body.haven-home-route .haven-header.is-menu-open {
        background: var(--Background-primary, #075056) !important;
    }

    .haven-header.is-menu-open .haven-header__brand,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand {
        top: 76px !important;
        left: 24px !important;
        width: 78.909px !important;
        height: 28px !important;
    }

    .haven-header.is-menu-open .haven-header__close {
        position: fixed !important;
        z-index: 3 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        top: 76px !important;
        right: 24px !important;
        min-height: 40px !important;
        height: 40px !important;
        padding: 12px !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: var(--Background-primary, #075056) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-header.is-menu-open .haven-header__nav {
        top: 303px !important;
        left: 24px !important;
        right: 24px !important;
        width: auto !important;
        gap: 16px !important;
    }

    .haven-header.is-menu-open .haven-header__nav > a,
    .haven-header.is-menu-open .haven-header__cta,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text::after,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text__inner {
        color: var(--Text-inverted-inverted, #fff) !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
    }

    .haven-header.is-menu-open .haven-header__cta {
        top: 429px !important;
        left: 24px !important;
        right: 24px !important;
        width: auto !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta {
        left: 24px !important;
        right: 24px !important;
        bottom: 16px !important;
        gap: 24px !important;
        width: auto !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta > div:first-child {
        padding: 24px 0 !important;
        gap: 12px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.20) !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta strong {
        color: var(--Text-inverted-soft, #d9d9d9) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta span,
    .haven-header.is-menu-open .haven-mobile-menu__meta a {
        color: var(--Text-inverted-inverted, #fff) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-decoration: none !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        width: 100% !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a {
        margin-left: auto !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        letter-spacing: 0.14px !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span {
        width: 16px !important;
        height: 16px !important;
        color: transparent !important;
        font-size: 0 !important;
        background: center / contain no-repeat transparent !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span::before {
        content: none !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span:nth-child(1) {
        background-image: url("/images/figma/menu-facebook.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span:nth-child(2) {
        background-image: url("/images/figma/menu-instagram.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom span:nth-child(3) {
        background-image: url("/images/figma/menu-linkedin.svg") !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route .haven-header__inner,
    body.haven-home-route .haven-header--sticky .haven-header__inner {
        height: 60px !important;
        min-height: 60px !important;
        padding: 16px !important;
    }

    body.haven-home-route .haven-hero {
        min-height: 846px !important;
    }

    body.haven-home-route .haven-hero__picture {
        position: absolute;
        inset: 0;
        z-index: 0;
        display: block;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    body.haven-home-route .haven-hero__bg {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 80%;
        transform: none;
    }

    body.haven-home-route .haven-hero__content {
        min-height: 846px !important;
        padding: 120px 15px 48px !important;
    }

    body.haven-home-route .haven-hero h1 {
        font-size: clamp(86px, 24.62vw, 96px) !important;
        line-height: 100px !important;
        text-align: left !important;
        white-space: normal !important;
    }

    body.haven-home-route .haven-hero__title-wrap {
        width: min(360px, calc(100vw - 30px)) !important;
        margin: 0 !important;
    }

    body.haven-home-route .haven-hero__meta {
        padding: 0 8px !important;
    }

    body.haven-home-route .haven-hero__bottom {
        width: min(358px, calc(100vw - 32px)) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 255px !important;
    }

    body.haven-home-route .haven-feature-card__picture {
        display: block;
        width: 100%;
        aspect-ratio: 400 / 496;
        overflow: hidden;
    }

    body.haven-home-route .haven-feature-card__picture img,
    body.haven-home-route .haven-feature-card img {
        width: 100%;
        height: 100% !important;
        aspect-ratio: 400 / 496;
        object-fit: cover;
        object-position: center;
    }

    body.haven-home-route .haven-feature-card .haven-btn {
        width: auto;
        align-self: flex-start;
    }

    body.haven-home-route .haven-about h2,
    body.haven-home-route .haven-location h2,
    body.haven-home-route .haven-consult h2 {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.haven-home-route .haven-about h2 {
        max-width: 358px !important;
    }

    body.haven-home-route .haven-final-cta__picture {
        position: absolute;
        inset: 0;
        z-index: 0;
        display: block;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    body.haven-home-route .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        transform: none !important;
    }

    body.haven-home-route .haven-final-cta__card h2,
    body.haven-home-route .haven-final-cta__card a {
        z-index: 2;
    }

    body.haven-home-route .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        right: auto !important;
    }

    body.haven-home-route .haven-final-cta__card .haven-btn {
        top: auto !important;
        right: auto !important;
        bottom: 32px !important;
        left: 16px !important;
    }
}

@media (max-width: 767px) {
    .haven-about-page {
        padding-top: 0 !important;
        background: #e4eef0 !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-container,
    .haven-about-hero .haven-container,
    .haven-about-master .haven-container,
    .haven-story .haven-container,
    .haven-about-features .haven-container,
    .haven-partners .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .haven-about-hero {
        height: 386px !important;
        min-height: 386px !important;
        padding: 144px 0 0 !important;
    }

    .haven-about-hero__grid {
        min-height: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 16px !important;
    }

    .haven-about-hero h1 {
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 32px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: normal !important;
    }

    .haven-about-hero p {
        width: min(358px, calc(100vw - 32px)) !important;
        max-width: min(358px, calc(100vw - 32px)) !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 160% !important;
    }

    .haven-about-master {
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-about-master .haven-container,
    .haven-about-features .haven-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .haven-stat-image {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 5632 / 3800 !important;
        max-width: none !important;
        border-radius: 0 !important;
    }

    .haven-stat-image img {
        position: static !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    .haven-stat-image__stats {
        inset: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-items: end !important;
        background: linear-gradient(180deg, rgba(4, 48, 52, 0) 44%, rgba(4, 48, 52, 0.46) 100%) !important;
    }

    .haven-stat-image__stats::before,
    .haven-stat-image__stats::after {
        top: 0 !important;
        bottom: 0 !important;
        height: auto !important;
        background: rgba(255, 255, 255, 0.34) !important;
    }

    .haven-stat-image__stats::before {
        left: 33.333% !important;
    }

    .haven-stat-image__stats::after {
        left: 66.666% !important;
    }

    .haven-stat-image__stats strong,
    .haven-stat-image__stats strong:first-child,
    .haven-stat-image__stats strong:nth-child(2),
    .haven-stat-image__stats strong:nth-child(3) {
        position: static !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        min-height: 58px !important;
        padding: 0 4px 18px !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        gap: 4px !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-align: center !important;
        white-space: nowrap !important;
        word-spacing: 0 !important;
    }

    .haven-story {
        margin: 0 !important;
        padding: 44px 0 0 !important;
    }

    .haven-story__grid {
        min-height: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
    }

    .haven-story__grid > div:first-child {
        width: 100% !important;
        flex: 0 0 auto !important;
        gap: 16px !important;
    }

    .haven-story .haven-section-label,
    .haven-partners__grid .haven-section-label {
        align-items: center !important;
        gap: 8px !important;
        color: #043034 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-story .haven-section-label::before,
    .haven-partners__grid .haven-section-label::before {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
    }

    .haven-story .haven-section-label > span,
    .haven-partners__grid .haven-section-label > span {
        transform: translateY(3px) !important;
    }

    .haven-story h2 {
        width: min(358px, calc(100vw - 32px)) !important;
        max-width: min(358px, calc(100vw - 32px)) !important;
        font-size: 22px !important;
        font-weight: 400 !important;
        line-height: normal !important;
    }

    .haven-story__copy,
    .haven-story__copy p {
        width: 100% !important;
        min-width: 0 !important;
    }

    .haven-story__copy p {
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        line-height: 160% !important;
    }

    .haven-story__copy .haven-btn {
        width: 100% !important;
        min-height: 40px !important;
        padding: 12px 16px !important;
        gap: 8px !important;
        border-radius: 6px !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-about-gallery {
        margin: 32px 0 0 !important;
        padding: 0 !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }

    .haven-about-gallery__track {
        width: max-content !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 16px !important;
        justify-content: flex-start !important;
        gap: 16px !important;
    }

    .haven-about-gallery__item,
    .haven-about-gallery img,
    .haven-about-gallery img:nth-child(n+4) {
        flex: 0 0 160px !important;
        width: 160px !important;
        height: 200px !important;
    }

    .haven-about-features {
        margin: 48px 0 0 !important;
    }

    .haven-about-features__grid {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 28px !important;
    }

    .haven-about-features__image {
        width: 100% !important;
        height: 300px !important;
        flex: 0 0 auto !important;
        object-fit: cover !important;
        object-position: center 42% !important;
    }

    .haven-about-features__list {
        width: 100% !important;
        height: auto !important;
        padding: 0 16px !important;
        gap: 0 !important;
    }

    .haven-about-features article {
        grid-template-columns: 24px 1fr !important;
        align-items: flex-start !important;
        column-gap: 16px !important;
        row-gap: 8px !important;
        padding: 16px 0 !important;
        border-bottom: 1px solid #b6c8cb !important;
    }

    .haven-about-features article img {
        width: 24px !important;
        height: 24px !important;
        padding: 0 !important;
    }

    .haven-about-features article > div {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .haven-about-features h3 {
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: normal !important;
    }

    .haven-about-features p {
        font-size: 12px !important;
        line-height: 160% !important;
    }

    .haven-partners {
        margin: 48px 0 0 !important;
        padding: 20px 0 32px !important;
        background: rgba(255, 255, 255, 0.5) !important;
    }

    .haven-partners__grid {
        flex-direction: column !important;
        align-items: center !important;
        gap: 32px !important;
    }

    .haven-about-page .haven-partners__logos {
        width: 326px !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-partners__logos-track {
        gap: 44px !important;
        animation: havenAboutPartnersLoopMobile 14s linear infinite !important;
    }

    .haven-partners img:nth-child(3n + 1) {
        width: 126px !important;
        height: auto !important;
    }

    .haven-partners img:nth-child(3n + 2) {
        width: 96px !important;
        height: auto !important;
    }

    .haven-partners img:nth-child(3n) {
        width: 104px !important;
        height: auto !important;
    }

    .haven-final-cta--about-page {
        margin-top: 0 !important;
        padding: 56px 0 0 !important;
        background: transparent !important;
    }

    .haven-final-cta--about-page > .haven-container {
        width: auto !important;
        max-width: none !important;
        margin: 0 16px 0 0 !important;
        padding: 0 !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card {
        height: 276px !important;
        min-height: 276px !important;
        padding: 0 !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--about-page .haven-final-cta__picture,
    .haven-final-cta--about-page .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
    }

    .haven-final-cta--about-page .haven-final-cta__bg {
        object-fit: cover !important;
        object-position: center !important;
        transform: none !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        right: auto !important;
        font-size: 22px !important;
        line-height: normal !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card .haven-btn {
        top: auto !important;
        right: auto !important;
        bottom: 32px !important;
        left: 16px !important;
        min-height: 40px !important;
        padding: 12px !important;
        border-radius: 6px !important;
        font-size: 12px !important;
    }

    .haven-final-cta--about-page + .haven-footer {
        margin-top: -138px !important;
        padding: 138px 24px 0 !important;
        background: #075056 !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-container,
    .haven-final-cta--about-page + .haven-footer .haven-footer__grid {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__brand {
        display: contents !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__brand-main {
        order: 1 !important;
        width: 100% !important;
        gap: 20px !important;
        padding: 24px 0 0 !important;
        border-bottom: 0 !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__brand-main img {
        width: 124px !important;
        height: 44px !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__brand-main p {
        max-width: none !important;
        color: #fff !important;
        font-size: 14px !important;
        line-height: 160% !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__social-mobile {
        order: 2 !important;
        width: 100% !important;
        display: flex !important;
        gap: 16px !important;
        padding: 20px 0 24px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.30) !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__links {
        order: 3 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
        gap: 44px 64px !important;
        padding: 32px 0 !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__col--language {
        display: flex !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__col--contact {
        grid-column: 1 / -1 !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__col--social {
        display: none !important;
    }

    .haven-final-cta--about-page + .haven-footer h3 {
        margin: 0 0 4px !important;
        gap: 8px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__copyright {
        order: 4 !important;
        width: 100% !important;
        padding: 24px 0 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.30) !important;
        gap: 8px !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__copyright-icon {
        width: 10px !important;
        height: 10px !important;
    }

    .haven-final-cta--about-page + .haven-footer .haven-footer__copyright strong,
    .haven-final-cta--about-page + .haven-footer .haven-footer__copyright span {
        color: #fff !important;
        font-size: 12px !important;
        line-height: normal !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route .haven-logos {
        height: 171px !important;
        min-height: 171px !important;
        padding: 44px 0 !important;
        gap: 40px !important;
    }

    body.haven-home-route .haven-logos__track {
        height: 26px !important;
        gap: 74px !important;
        transform: none !important;
        animation: none !important;
    }

    body.haven-home-route .haven-logos img {
        height: auto !important;
        max-height: none !important;
        width: auto !important;
        max-width: none !important;
    }

    body.haven-home-route .haven-logos img:nth-child(3n + 1) {
        width: 170px !important;
        height: auto !important;
    }

    body.haven-home-route .haven-logos img:nth-child(3n + 2) {
        width: 91px !important;
        height: auto !important;
    }

    body.haven-home-route .haven-logos img:nth-child(3n) {
        width: 104px !important;
        height: auto !important;
    }

    body.haven-home-route .haven-benefit,
    body.haven-home-route .haven-benefit__body {
        width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body.haven-home-route .haven-benefit__body p {
        width: 100% !important;
        min-width: 0 !important;
        max-width: calc(100vw - 32px) !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    body.haven-home-route .haven-intro p:not(.haven-intro__label):not(.haven-section-label),
    body.haven-home-route .haven-feature-card p,
    body.haven-home-route .haven-location p,
    body.haven-home-route .haven-location__address span,
    body.haven-home-route .haven-consult__aside span {
        max-width: calc(100vw - 32px) !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    body.haven-home-route .haven-about h2,
    body.haven-home-route .haven-location h2,
    body.haven-home-route .haven-consult h2 {
        width: min(358px, calc(100vw - 32px)) !important;
        max-width: min(358px, calc(100vw - 32px)) !important;
        font-size: 21px !important;
        line-height: normal !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.haven-home-route .haven-consult__cards {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.haven-home-route .haven-consult__cards article {
        display: flex !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 32px 16px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border: 0 !important;
    }

    body.haven-home-route .haven-consult__cards img {
        width: 32px !important;
        height: 32px !important;
        flex: 0 0 32px !important;
        object-fit: contain !important;
    }

    body.haven-home-route .haven-consult__cards h3 {
        width: 100% !important;
        margin: 0 !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-align: center !important;
    }

    body.haven-home-route .haven-consult__cards p,
    body.haven-home-route .haven-consult__cards p span {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: rgba(14, 43, 46, 0.80) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body.haven-home-route .haven-footer__social-mobile a {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        overflow: hidden !important;
        color: #fff !important;
        font-size: 0 !important;
        line-height: 1 !important;
        text-indent: -9999px !important;
        white-space: nowrap !important;
    }

    body.haven-home-route .haven-footer__social-mobile a::before {
        display: block !important;
        color: #fff !important;
        font-size: 20px !important;
        line-height: 1 !important;
        text-indent: 0 !important;
    }

    body.haven-home-route .haven-final-cta__picture,
    body.haven-home-route .haven-final-cta__bg {
        border-radius: 12px !important;
    }

    body.haven-home-route .haven-final-cta--home {
        position: relative !important;
        z-index: 50 !important;
        isolation: isolate !important;
    }

    body.haven-home-route .haven-final-cta__card {
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 12px !important;
        margin-inline: auto !important;
        z-index: 30 !important;
    }

    body.haven-home-route .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        right: auto !important;
        width: min(342px, calc(100vw - 48px)) !important;
        max-width: min(342px, calc(100vw - 48px)) !important;
        font-size: 22px !important;
        line-height: normal !important;
        white-space: normal !important;
        z-index: 2 !important;
    }

    body.haven-home-route .haven-final-cta__card .haven-btn {
        display: inline-flex !important;
        top: auto !important;
        right: auto !important;
        bottom: 32px !important;
        left: 16px !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 40px !important;
        padding: 12px !important;
        background: #fff !important;
        color: #075056 !important;
        z-index: 40 !important;
    }

    body.haven-home-route .haven-final-cta__card > a.haven-btn.haven-btn--light {
        position: absolute !important;
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        top: auto !important;
        left: 16px !important;
        right: auto !important;
        bottom: 32px !important;
        width: auto !important;
        height: auto !important;
        min-height: 40px !important;
        padding: 12px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #075056 !important;
        transform: none !important;
        z-index: 60 !important;
    }

    body.haven-home-route .haven-final-cta__card > a.haven-btn.haven-btn--light .haven-button-text,
    body.haven-home-route .haven-final-cta__card > a.haven-btn.haven-btn--light .haven-button-text__inner,
    body.haven-home-route .haven-final-cta__card > a.haven-btn.haven-btn--light .haven-button-text::after {
        color: #075056 !important;
        font-size: 12px !important;
        line-height: normal !important;
    }

    body.haven-home-route .haven-footer {
        margin-top: 0 !important;
        padding: 0 24px !important;
        z-index: 0 !important;
    }
}

@media (max-width: 767px) {
    .haven-about-page .haven-stat-image__stats strong,
    .haven-about-page .haven-stat-image__stats strong:first-child,
    .haven-about-page .haven-stat-image__stats strong:nth-child(2),
    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        gap: 2px !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
        font-size: 18px !important;
    }

    .haven-about-page .haven-story__copy {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .haven-about-page .haven-story__copy p {
        display: block !important;
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
        height: auto !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    .haven-about-page .haven-story__copy .haven-btn {
        display: flex !important;
    }
}

body.haven-home-route .haven-hero__bottom .haven-btn,
body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text,
body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text__inner,
body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text::after {
    font-family: var(--haven-helvetica-font) !important;
    text-transform: uppercase !important;
}

body.haven-home-route .haven-consult__form label > span {
    display: inline-flex !important;
    align-items: flex-start !important;
    gap: 2px !important;
    color: var(--Text-primary, #043034) !important;
    font-family: var(--haven-helvetica-font) !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-consult__form label > span {
        font-size: 12px !important;
    }
}

.haven-about-page .haven-partners__grid > .haven-section-label {
    color: var(--Text-primary, #043034) !important;
    font-family: var(--haven-caps-font) !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
}

.haven-about-page .haven-partners__grid > .haven-section-label::before {
    width: 14px !important;
    height: 14px !important;
    aspect-ratio: 1 / 1 !important;
    flex: 0 0 14px !important;
    background: var(--Text-primary, #043034) !important;
    border-radius: 0 !important;
    clip-path: polygon(0 0, 60.14% 0, 100% 20.27%, 100% 100%, 39.86% 100%, 0 79.73%) !important;
    -webkit-mask: none !important;
    mask: none !important;
}

.haven-about-page .haven-partners__grid > .haven-section-label > span {
    color: var(--Text-primary, #043034) !important;
    font-family: var(--haven-caps-font) !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
    transform: translateY(3px) !important;
}

body .haven-section-label,
body .haven-section-label > span,
body .haven-section-label--icon,
body .haven-section-label--icon > span,
body.haven-home-route .haven-section-label,
body.haven-home-route .haven-section-label > span,
body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label,
body.haven-home-route .haven-about .haven-section-label,
body.haven-home-route .haven-location .haven-section-label--icon,
body.haven-home-route .haven-consult .haven-section-label,
.haven-intro p.haven-section-label.haven-intro__label,
.haven-about .haven-section-label,
.haven-location .haven-section-label--icon,
.haven-consult .haven-section-label,
.haven-story .haven-section-label,
.haven-partners__grid .haven-section-label,
.haven-about-page .haven-story .haven-section-label,
.haven-about-page .haven-partners__grid .haven-section-label {
    font-family: var(--haven-caps-font) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-intro {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #e4eef0 !important;
        border: 0 !important;
    }

    body.haven-home-route .haven-intro__grid {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    body.haven-home-route .haven-logos {
        width: 100% !important;
        height: 171px !important;
        min-height: 171px !important;
        margin: 0 !important;
        padding: 44px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 40px !important;
        overflow: hidden !important;
        background: #e4eef0 !important;
        border-bottom: 1px solid #b6c8cb !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }

    body.haven-home-route .haven-logos::before,
    body.haven-home-route .haven-logos::after {
        display: none !important;
    }

    body.haven-home-route .haven-intro__label,
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label {
        margin: 0 !important;
        padding: 0 0 0 16px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    body.haven-home-route .haven-intro__label::before,
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label::before {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        display: block !important;
        background: #043034 !important;
        transform: translateY(-1px) !important;
    }

    body.haven-home-route .haven-intro__label > span,
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label > span {
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
        text-transform: none !important;
        transform: none !important;
    }

    body.haven-home-route .haven-logos__track {
        width: max-content !important;
        min-width: 0 !important;
        height: 26px !important;
        margin: 0 !important;
        padding-left: 16px !important;
        display: flex !important;
        align-items: center !important;
        gap: 57px !important;
        transform: none !important;
        animation: none !important;
    }

    body.haven-home-route .haven-logos img {
        display: block !important;
        flex: 0 0 auto !important;
        max-width: none !important;
        max-height: none !important;
        height: auto !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.haven-home-route .haven-logos img:nth-child(1) {
        width: 170px !important;
    }

    body.haven-home-route .haven-logos img:nth-child(2) {
        width: 91px !important;
    }

    body.haven-home-route .haven-logos img:nth-child(n + 3) {
        display: none !important;
    }

    body.haven-home-route .haven-intro p:not(.haven-intro__label):not(.haven-section-label) {
        width: 100% !important;
        min-height: 176px !important;
        margin: 0 !important;
        padding: 37px 16px 36px !important;
        display: block !important;
        border-left: 0 !important;
        border-bottom: 1px solid #b6c8cb !important;
        background: #e4eef0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route .haven-intro {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #e4eef0 !important;
        border: 0 !important;
    }

    body.haven-home-route .haven-intro__grid {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    body.haven-home-route .haven-logos {
        width: 100% !important;
        height: 171px !important;
        min-height: 171px !important;
        margin: 0 !important;
        padding: 44px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 40px !important;
        overflow: hidden !important;
        background: #e4eef0 !important;
        border-bottom: 1px solid #b6c8cb !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }

    body.haven-home-route .haven-logos::before,
    body.haven-home-route .haven-logos::after {
        display: none !important;
    }

    body.haven-home-route .haven-intro__label,
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label {
        margin: 0 !important;
        padding: 0 0 0 16px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    body.haven-home-route .haven-intro__label::before,
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label::before {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        display: block !important;
        background: #043034 !important;
        transform: translateY(-1px) !important;
    }

    body.haven-home-route .haven-intro__label > span,
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label > span {
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
        text-transform: none !important;
        transform: none !important;
    }

    body.haven-home-route .haven-logos__track {
        width: max-content !important;
        min-width: 0 !important;
        height: 26px !important;
        margin: 0 !important;
        padding-left: 16px !important;
        display: flex !important;
        align-items: center !important;
        gap: 57px !important;
        transform: none !important;
        animation: none !important;
    }

    body.haven-home-route .haven-logos img {
        display: block !important;
        flex: 0 0 auto !important;
        max-width: none !important;
        max-height: none !important;
        height: auto !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.haven-home-route .haven-logos img:nth-child(1) {
        width: 170px !important;
    }

    body.haven-home-route .haven-logos img:nth-child(2) {
        width: 91px !important;
    }

    body.haven-home-route .haven-logos img:nth-child(n + 3) {
        display: none !important;
    }

    body.haven-home-route .haven-intro p:not(.haven-intro__label):not(.haven-section-label) {
        width: 100% !important;
        min-height: 176px !important;
        margin: 0 !important;
        padding: 37px 16px 36px !important;
        display: block !important;
        border-left: 0 !important;
        border-bottom: 1px solid #b6c8cb !important;
        background: #e4eef0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
}

body .haven-section-label > span,
body .haven-section-label--icon > span,
body.haven-home-route .haven-section-label > span,
body.haven-home-route .haven-section-label--icon > span,
.haven-about-page .haven-story .haven-section-label > span,
.haven-about-page .haven-partners__grid .haven-section-label > span {
    font-family: inherit !important;
    font-size: inherit !important;
    font-style: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    text-transform: uppercase !important;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label,
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label > span {
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        line-height: normal !important;
        text-transform: none !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    .haven-header:not(.is-menu-open)::before {
        height: 60px !important;
        background: transparent !important;
        border-bottom: 0 !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__inner,
    .haven-header--sticky:not(.is-menu-open) .haven-header__inner,
    .haven-header--inner:not(.is-menu-open) .haven-header__inner,
    .haven-header--request:not(.is-menu-open) .haven-header__inner,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__inner,
    body.haven-home-route .haven-header--sticky:not(.is-menu-open) .haven-header__inner {
        width: 100% !important;
        max-width: none !important;
        height: 60px !important;
        min-height: 60px !important;
        padding: 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.30) !important;
        background: transparent !important;
        backdrop-filter: none !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__menu,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__menu {
        width: 28px !important;
        height: 28px !important;
        padding: 0 !important;
        border: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        order: 0 !important;
        background: transparent !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__menu span,
    .haven-header--sticky:not(.is-menu-open) .haven-header__menu span,
    .haven-header--inner:not(.is-menu-open) .haven-header__menu span,
    .haven-header--request:not(.is-menu-open) .haven-header__menu span,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__menu span,
    body.haven-home-route .haven-header--sticky:not(.is-menu-open) .haven-header__menu span {
        width: 23px !important;
        height: 2px !important;
        display: block !important;
        flex: 0 0 2px !important;
        border-radius: 999px !important;
        background: #fff !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__brand,
    .haven-header--sticky:not(.is-menu-open) .haven-header__brand,
    .haven-header--inner:not(.is-menu-open) .haven-header__brand,
    .haven-header--request:not(.is-menu-open) .haven-header__brand,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__brand,
    body.haven-home-route .haven-header--sticky:not(.is-menu-open) .haven-header__brand {
        width: 78.909px !important;
        height: 28px !important;
        margin: 0 0 0 16px !important;
        padding: 0 !important;
        flex: 0 0 78.909px !important;
        display: block !important;
        border: 0 !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__brand img,
    .haven-header--sticky:not(.is-menu-open) .haven-header__brand img,
    .haven-header--inner:not(.is-menu-open) .haven-header__brand img,
    .haven-header--request:not(.is-menu-open) .haven-header__brand img,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__brand img,
    body.haven-home-route .haven-header--sticky:not(.is-menu-open) .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        max-width: none !important;
        display: block !important;
        object-fit: contain !important;
        filter: brightness(0) invert(1) !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__actions,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__actions {
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0 !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__actions .haven-header__lang {
        display: none !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--sticky:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--request:not(.is-menu-open) .haven-header__mobile-lang,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__mobile-lang,
    body.haven-home-route .haven-header--sticky:not(.is-menu-open) .haven-header__mobile-lang {
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        z-index: 4 !important;
        display: block !important;
        transform: translateY(-50%) !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0.16px !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-header.is-menu-open .haven-header__mobile-lang {
        display: none !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__lang,
    .haven-header--sticky:not(.is-menu-open) .haven-header__lang,
    .haven-header--inner:not(.is-menu-open) .haven-header__lang,
    .haven-header--request:not(.is-menu-open) .haven-header__lang,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__lang,
    body.haven-home-route .haven-header--sticky:not(.is-menu-open) .haven-header__lang {
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        z-index: 4 !important;
        display: block !important;
        transform: translateY(-50%) !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0.16px !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route .haven-hero__title-wrap {
        width: min(390px, 100vw) !important;
        max-width: min(390px, 100vw) !important;
        margin: 0 0 0 -15px !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0 !important;
        color: #fff !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.haven-home-route .haven-hero h1 {
        width: 100% !important;
        margin: 0 !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 96px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: 100px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: uppercase !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.haven-home-route .haven-hero__meta {
        width: 100% !important;
        padding: 0 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        color: #fff !important;
        font-size: 12px !important;
        line-height: normal !important;
        letter-spacing: 0.12px !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route .haven-hero__meta > span {
        min-width: 0 !important;
        padding: 0 !important;
        flex: 0 1 auto !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0.12px !important;
        text-align: left !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.haven-home-route .haven-hero__meta strong {
        min-width: max-content !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0.12px !important;
        text-align: right !important;
        text-transform: none !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.haven-home-route .haven-hero__bottom {
        width: min(358px, calc(100vw - 32px)) !important;
        margin: 255px 0 0 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 24px !important;
    }

    body.haven-home-route .haven-hero__bottom > div {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 28px !important;
        font-style: normal !important;
        font-weight: 300 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.haven-home-route .haven-hero__bottom > div span,
    body.haven-home-route .haven-hero__bottom > div strong {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
        color: inherit !important;
        font-family: inherit !important;
        font-size: inherit !important;
        font-style: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
        text-align: inherit !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-btn {
        width: 100% !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 6px !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-btn--light {
        border: 1px solid #fff !important;
        background: #fff !important;
        color: #075056 !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-hero__mobile-call {
        margin-top: -12px !important;
        border: 1px solid #fff !important;
        background: transparent !important;
        color: #fff !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-btn .haven-button-bullet {
        width: 8px !important;
        height: 8px !important;
        flex: 0 0 8px !important;
        border-radius: 999px !important;
        background: transparent !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-btn--light .haven-button-bullet {
        border: 1px solid #075056 !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-hero__mobile-call .haven-button-bullet {
        border: 1px solid #fff !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-btn .haven-button-text,
    body.haven-home-route .haven-hero__bottom > a.haven-btn .haven-button-text::after,
    body.haven-home-route .haven-hero__bottom > a.haven-btn .haven-button-text__inner {
        color: currentColor !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-about.haven-about {
        padding: 44px 16px 24px !important;
        background: var(--haven-mist, #e4eef0) !important;
    }

    body.haven-home-route #haven-about > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    body.haven-home-route #haven-about .haven-section-label {
        margin: 0 0 16px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #043034 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    body.haven-home-route #haven-about .haven-section-label::before {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
    }

    body.haven-home-route #haven-about h2 {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    body.haven-home-route #haven-about .haven-about__layout {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }

    body.haven-home-route #haven-about .haven-feature-card {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.haven-home-route #haven-about .haven-feature-card__picture {
        width: 100% !important;
        aspect-ratio: 400 / 496 !important;
        display: block !important;
        overflow: hidden !important;
        border-radius: 0 !important;
    }

    body.haven-home-route #haven-about .haven-feature-card__picture img,
    body.haven-home-route #haven-about .haven-feature-card img {
        width: 106.67% !important;
        max-width: none !important;
        height: 107.46% !important;
        min-height: 107.46% !important;
        display: block !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        object-position: center center !important;
        border-radius: 0 !important;
        transform: translate(-5.29%, -6.25%) !important;
    }

    body.haven-home-route #haven-about .haven-feature-card > div {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    body.haven-home-route #haven-about .haven-feature-card h3 {
        display: none !important;
    }

    body.haven-home-route #haven-about .haven-feature-card p,
    body.haven-home-route #haven-about .haven-benefit__body p {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    body.haven-home-route #haven-about .haven-feature-card .haven-btn,
    body.haven-home-route #haven-about .haven-mini-link {
        width: max-content !important;
        min-width: 0 !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border: 1px solid #075056 !important;
        border-radius: 6px !important;
        background: #075056 !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    body.haven-home-route #haven-about .haven-feature-card .haven-btn .haven-button-bullet,
    body.haven-home-route #haven-about .haven-mini-link .haven-button-bullet {
        width: 8px !important;
        height: 8px !important;
        flex: 0 0 8px !important;
        border-color: currentColor !important;
    }

    body.haven-home-route #haven-about .haven-feature-card .haven-btn,
    body.haven-home-route #haven-about .haven-feature-card .haven-btn .haven-button-text,
    body.haven-home-route #haven-about .haven-feature-card .haven-btn .haven-button-text::after,
    body.haven-home-route #haven-about .haven-feature-card .haven-btn .haven-button-text__inner,
    body.haven-home-route #haven-about .haven-mini-link,
    body.haven-home-route #haven-about .haven-mini-link .haven-button-text,
    body.haven-home-route #haven-about .haven-mini-link .haven-button-text::after,
    body.haven-home-route #haven-about .haven-mini-link .haven-button-text__inner {
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-about .haven-benefits {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    body.haven-home-route #haven-about .haven-benefit {
        width: 100% !important;
        margin: 0 !important;
        padding: 12px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #b6c8cb !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top {
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top > span {
        width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        background: transparent !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top span img {
        width: 24px !important;
        height: 24px !important;
        display: block !important;
        object-fit: contain !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top strong {
        min-width: 0 !important;
        flex: 1 1 auto !important;
        margin: 0 !important;
        padding: 6px 0 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top i {
        width: 16px !important;
        height: 16px !important;
        flex: 0 0 16px !important;
        display: grid !important;
        place-items: center !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 16px !important;
    }

    body.haven-home-route #haven-about .haven-benefit__body {
        width: 100% !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        overflow: hidden !important;
    }

    body.haven-home-route #haven-about .haven-benefit.is-active .haven-benefit__body {
        max-height: none !important;
        margin-top: 16px !important;
        overflow: visible !important;
    }

    body.haven-home-route #haven-about .haven-benefit__images {
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        align-items: stretch !important;
        gap: 16px !important;
    }

    body.haven-home-route #haven-about .haven-benefit__images a {
        min-width: 0 !important;
        flex: 1 1 0 !important;
        display: block !important;
    }

    body.haven-home-route #haven-about .haven-benefit__images img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        aspect-ratio: 264 / 196 !important;
        object-fit: cover !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 767px) {
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        left: auto !important;
        z-index: 9999 !important;
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(-50%) !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0.16px !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-about-page .haven-stat-image__stats strong,
    .haven-about-page .haven-stat-image__stats strong:first-child,
    .haven-about-page .haven-stat-image__stats strong:nth-child(2),
    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        font-size: 18px !important;
    }

    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        padding-right: 1px !important;
        padding-left: 1px !important;
    }

    .haven-about-page .haven-partners__logos {
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
    }

    .haven-about-page .haven-partners__logos-track {
        gap: 60px !important;
    }
}

@media (max-width: 767px) {
    html.site-scale-80:has(.haven-about-page) body {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        zoom: 1 !important;
        transform: none !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open),
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open)::before,
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60px !important;
        min-height: 60px !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open)::before,
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        background: #e4eef0 !important;
        backdrop-filter: none !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open)::before {
        border-bottom: 1px solid #b6c8cb !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        padding: 16px !important;
        border: 0 !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__menu span {
        background: #043034 !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand img {
        filter: brightness(0) saturate(100%) invert(20%) sepia(33%) saturate(1093%) hue-rotate(141deg) brightness(91%) contrast(96%) !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        z-index: 1000 !important;
        display: block !important;
        transform: translateY(-50%) !important;
        color: #043034 !important;
    }

    .haven-about-page .haven-about-hero {
        min-height: 386px !important;
        padding: 144px 0 28px !important;
        box-sizing: border-box !important;
    }

    .haven-about-page .haven-stat-image {
        width: 100% !important;
        height: 264px !important;
        max-width: none !important;
        aspect-ratio: auto !important;
    }

    .haven-about-page .haven-stat-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    .haven-about-page .haven-stat-image__stats {
        position: absolute !important;
        inset: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-items: end !important;
        background: linear-gradient(180deg, rgba(4, 48, 52, 0) 45%, rgba(4, 48, 52, 0.42) 100%) !important;
    }

    .haven-about-page .haven-stat-image__stats strong,
    .haven-about-page .haven-stat-image__stats strong:first-child,
    .haven-about-page .haven-stat-image__stats strong:nth-child(2),
    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        position: static !important;
        transform: none !important;
        min-height: 58px !important;
        padding: 0 3px 18px !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        gap: 2px !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: nowrap !important;
        word-spacing: 0 !important;
    }

    .haven-about-page .haven-stat-image__stats sup {
        margin-left: 0 !important;
        font-size: 10px !important;
    }

    .haven-about-page .haven-story .haven-section-label,
    .haven-about-page .haven-partners__grid .haven-section-label {
        font-family: var(--haven-helvetica-font) !important;
        font-weight: 400 !important;
    }

    .haven-about-page .haven-story__copy {
        gap: 24px !important;
    }

    .haven-about-page .haven-story__copy p {
        width: 100% !important;
        max-width: 358px !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .haven-about-page .haven-story__copy .haven-btn {
        font-family: var(--haven-helvetica-font) !important;
    }

    .haven-about-page .haven-partners__grid {
        min-height: 125px !important;
        padding: 0 !important;
        justify-content: flex-start !important;
    }

    .haven-about-page .haven-partners__logos-track {
        gap: 74px !important;
        animation: none !important;
        transform: none !important;
    }

    .haven-about-page .haven-partners__logos-track img:nth-child(n+3) {
        display: none !important;
    }

    .haven-about-page .haven-partners img:nth-child(3n + 1) {
        width: 170px !important;
    }

    .haven-about-page .haven-partners img:nth-child(3n + 2) {
        width: 91px !important;
    }

    .haven-final-cta--about-page {
        margin: 0 !important;
        padding: 80px 16px 0 !important;
        background: #e4eef0 !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--about-page > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card {
        width: 100% !important;
        height: 276px !important;
        min-height: 276px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    .haven-final-cta--about-page .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
        transform: none !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card h2 {
        position: absolute !important;
        top: 74px !important;
        left: 16px !important;
        right: 16px !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 22px !important;
        line-height: normal !important;
        text-align: left !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card .haven-btn {
        position: absolute !important;
        top: auto !important;
        right: auto !important;
        bottom: 32px !important;
        left: 16px !important;
        width: auto !important;
        min-height: 40px !important;
        padding: 12px !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-final-cta--about-page .haven-final-cta__card .haven-btn .haven-button-text,
    .haven-final-cta--about-page .haven-final-cta__card .haven-btn .haven-button-text__inner,
    .haven-final-cta--about-page .haven-final-cta__card .haven-btn .haven-button-text::after {
        color: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }
}

@media (max-width: 767px) {
    html:has(.haven-project-page),
    html:has(.haven-project-page) body {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand {
        display: block !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        display: block !important;
    }

    .haven-project-page .haven-selector__card {
        min-height: 1177px !important;
        margin: 0 !important;
    }

    .haven-project-page .haven-selector__content {
        min-height: 968px !important;
    }

    .haven-project-page.haven-project-page .haven-selector__card {
        min-height: 1177px !important;
        margin: 0 !important;
    }

    .haven-project-page.haven-project-page .haven-selector__content {
        min-height: 968px !important;
    }
}

@media (max-width: 767px) {
    html.site-scale-80:has(.haven-project-page) body {
        width: 100% !important;
        margin-left: 0 !important;
        zoom: 1 !important;
        transform: none !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open),
    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open)::before {
        height: 60px !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open)::before,
    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        background: #e4eef0 !important;
        backdrop-filter: none !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open)::before {
        border-bottom: 1px solid #b6c8cb !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        height: 60px !important;
        min-height: 60px !important;
        width: 100vw !important;
        max-width: 100vw !important;
        padding: 16px !important;
        border: 0 !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__menu span {
        width: 23px !important;
        height: 2px !important;
        background: #043034 !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand {
        width: 78.909px !important;
        height: 28px !important;
        flex-basis: 78.909px !important;
        margin-left: 16px !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        filter: brightness(0) saturate(100%) invert(20%) sepia(33%) saturate(1093%) hue-rotate(141deg) brightness(91%) contrast(96%) !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        z-index: 1000 !important;
        display: block !important;
        transform: translateY(-50%) !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        letter-spacing: 0.16px !important;
    }

    .haven-project-page {
        min-height: 0 !important;
        padding-top: 0 !important;
        background: #e4eef0 !important;
        overflow: hidden !important;
    }

    .haven-project-page .haven-selector {
        padding: 90px 16px 69px !important;
        background: #e4eef0 !important;
    }

    .haven-project-page .haven-selector > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-project-page .haven-selector__card {
        width: 100% !important;
        max-width: 358px !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        padding: 16px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        border-radius: 8px !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    .haven-project-page .haven-selector__tabs {
        width: 100% !important;
        flex: 0 0 auto !important;
        order: 0 !important;
        gap: 12px !important;
    }

    .haven-project-page .haven-selector__tabs button {
        min-height: 47px !important;
        padding: 14px 16px !important;
        border-radius: 6px !important;
        background: #f5f9fa !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-project-page .haven-selector__tabs button.active {
        background: #075056 !important;
        color: #fff !important;
    }

    .haven-project-page .haven-selector__content {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .haven-project-page .haven-selector__info {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
        order: 0 !important;
        padding: 16px 16px 0 !important;
        border: 0 !important;
    }

    .haven-project-page .haven-selector__info h1 {
        padding: 0 0 16px !important;
        border-bottom: 1px solid #b6c8cb !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-transform: none !important;
    }

    .haven-project-page .haven-price {
        margin: 16px 0 0 !important;
        gap: 10px !important;
    }

    .haven-project-page .haven-price__value {
        color: #0e2b2e !important;
        font-size: 32px !important;
        line-height: normal !important;
    }

    .haven-project-page .haven-price__toggle {
        background: #f5f9fa !important;
    }

    .haven-project-page .haven-project-metrics {
        width: 100% !important;
        margin-top: 14px !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .haven-project-page .haven-project-metrics span,
    .haven-project-page .haven-project-badges span {
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-project-page .haven-project-metrics strong {
        font-size: 16px !important;
        line-height: normal !important;
    }

    .haven-project-page .haven-project-badges {
        margin-top: 16px !important;
        padding-bottom: 24px !important;
        border-bottom: 1px solid #b6c8cb !important;
        gap: 8px !important;
    }

    .haven-project-page .haven-project-badges span {
        min-height: 26px !important;
        padding: 6px 12px !important;
        background: #dbe4e6 !important;
    }

    .haven-project-page .haven-selector__visual {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        overflow: visible !important;
    }

    .haven-project-page .haven-plan-stage,
    .haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="3d"].active),
    .haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="2d"].active) {
        order: 0 !important;
        width: calc(100% - 32px) !important;
        max-width: 294px !important;
        height: 266px !important;
        min-height: 266px !important;
        margin: 31px auto 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        background: transparent !important;
    }

    .haven-project-page .haven-plan-image,
    .haven-project-page .haven-plan-image[data-plan="3d"],
    .haven-project-page .haven-plan-image[data-plan="2d"] {
        top: 50% !important;
        left: 50% !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: translate(-50%, -50%) !important;
    }

    .haven-project-page .haven-plan-switch {
        order: 1 !important;
        position: static !important;
        width: 92px !important;
        height: 38px !important;
        margin: 21px auto 0 !important;
        padding: 4px !important;
        border-radius: 6px !important;
        background: #f5f9fa !important;
        transform: none !important;
    }

    .haven-project-page .haven-plan-switch button {
        width: 40px !important;
        min-width: 40px !important;
        height: 30px !important;
        padding: 0 !important;
        font-size: 16px !important;
    }

    .haven-project-page .haven-download {
        display: none !important;
    }

    .haven-project-page .haven-selector__mobile-details {
        order: 2 !important;
        width: 100% !important;
        padding: 0 16px 24px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .haven-project-page .haven-selector__info > .haven-project-specs,
    .haven-project-page .haven-selector__info > .haven-selector__cta {
        display: none !important;
    }

    .haven-project-page .haven-selector__mobile-details .haven-selector__cta,
    .haven-project-page .haven-download-mobile {
        min-height: 39px !important;
        padding: 12px !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 6px !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-project-page .haven-selector__mobile-details .haven-selector__cta {
        margin-top: 24px !important;
        border: 1px solid #075056 !important;
        background: #075056 !important;
        color: #fff !important;
    }

    .haven-project-page .haven-download-mobile {
        margin-top: 12px !important;
        border: 1px solid #075056 !important;
        background: transparent !important;
        color: #075056 !important;
    }

    .haven-project-page .haven-download-mobile .haven-download__icon {
        display: none !important;
    }

    .haven-project-page .haven-selector__mobile-details .haven-project-specs {
        max-height: none !important;
        margin-top: 28px !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        overflow: visible !important;
    }

    .haven-project-page .haven-project-specs div {
        display: grid !important;
        grid-template-columns: 24px 1fr auto !important;
        align-items: center !important;
        gap: 12px !important;
        font-size: 14px !important;
    }

    .haven-project-page .haven-project-specs img {
        width: 24px !important;
        height: 24px !important;
    }

    .haven-project-page .haven-project-specs span,
    .haven-project-page .haven-project-specs strong {
        font-size: 14px !important;
        line-height: normal !important;
    }

    .haven-final-cta--project-detail-page {
        margin: 0 !important;
        padding: 0 16px 0 0 !important;
        background: #e4eef0 !important;
    }

    .haven-final-cta--project-detail-page > .haven-container {
        max-width: none !important;
        padding: 0 !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__card {
        height: 276px !important;
        min-height: 276px !important;
        padding: 0 16px !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__picture,
    .haven-final-cta--project-detail-page .haven-final-cta__bg {
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__bg {
        object-fit: cover !important;
        object-position: center center !important;
        transform: none !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__card h2 {
        width: 326px !important;
        max-width: 100% !important;
        margin: 74px auto 0 !important;
        font-size: 22px !important;
        line-height: normal !important;
        text-align: center !important;
    }

    .haven-final-cta--project-detail-page .haven-final-cta__card .haven-btn {
        width: 326px !important;
        max-width: 100% !important;
        min-height: 40px !important;
        margin: 24px auto 0 !important;
        padding: 12px !important;
        background: #fff !important;
        color: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-final-cta--project-detail-page + .haven-footer {
        margin-top: -138px !important;
    }
}

@media (max-width: 767px) {
    html.site-scale-80:has(.haven-request-page) body {
        width: 100% !important;
        margin-left: 0 !important;
        zoom: 1 !important;
        transform: none !important;
    }

    .haven-header--request:not(.is-menu-open),
    .haven-header--request:not(.is-menu-open)::before {
        height: 60px !important;
    }

    .haven-header--request:not(.is-menu-open)::before {
        background: transparent !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.30) !important;
    }

    .haven-header--request:not(.is-menu-open) .haven-header__inner {
        height: 60px !important;
        min-height: 60px !important;
        padding: 16px !important;
        border: 0 !important;
        background: transparent !important;
        backdrop-filter: none !important;
    }

    .haven-header--request:not(.is-menu-open) .haven-header__menu {
        width: 28px !important;
        height: 28px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
    }

    .haven-header--request:not(.is-menu-open) .haven-header__menu span {
        width: 23px !important;
        height: 2px !important;
        flex: 0 0 2px !important;
        background: #fff !important;
    }

    .haven-header--request:not(.is-menu-open) .haven-header__brand {
        width: 78.909px !important;
        height: 28px !important;
        flex: 0 0 78.909px !important;
        margin: 0 0 0 16px !important;
        padding: 0 !important;
    }

    .haven-header--request:not(.is-menu-open) .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        filter: brightness(0) invert(1) !important;
    }

    .haven-header--request:not(.is-menu-open) .haven-header__mobile-lang {
        right: 16px !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        letter-spacing: 0.16px !important;
    }

    .haven-request-page {
        width: 100% !important;
        background: #e4eef0 !important;
        color: #043034 !important;
        overflow: hidden !important;
    }

    .haven-request-hero {
        position: relative !important;
        min-height: 0 !important;
        padding: 0 0 12px !important;
        overflow: visible !important;
    }

    .haven-request-hero__picture {
        position: absolute !important;
        inset: 0 0 auto !important;
        width: 100% !important;
        height: 445px !important;
        display: block !important;
        overflow: hidden !important;
        z-index: 0 !important;
    }

    .haven-request-hero__bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
        object-position: center top !important;
        transform: none !important;
    }

    .haven-request-hero .haven-container {
        position: relative !important;
        z-index: 1 !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 15px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    .haven-request-hero__content {
        width: 100% !important;
        max-width: 358px !important;
        margin: 0 !important;
        padding-top: 104px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
        text-align: center !important;
    }

    .haven-request-hero h1 {
        width: 100% !important;
        max-width: 358px !important;
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .haven-request-hero p {
        width: 246px !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: center !important;
    }

    .haven-request-form,
    .haven-request-success {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        max-width: 360px !important;
        margin: 44px auto 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    .haven-request-form {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        padding: 16px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    .haven-request-form label {
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .haven-request-form label > span {
        display: inline-flex !important;
        align-items: flex-start !important;
        gap: 2px !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    .haven-request-form input,
    .haven-request-form select {
        width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 14px 12px !important;
        border: 1px solid #e9e8e8 !important;
        border-radius: 6px !important;
        background-color: #fafafa !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        box-sizing: border-box !important;
    }

    .haven-request-form input::placeholder,
    .haven-request-form select {
        color: #838383 !important;
    }

    .haven-request-form select {
        padding-right: 40px !important;
        border-radius: 4px !important;
        background-size: 12px 12px !important;
        background-position: right 12px center !important;
    }

    .haven-request-form button {
        width: 100% !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 12px !important;
        gap: 8px !important;
        border-radius: 6px !important;
        background: #075056 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    .haven-request-form button .haven-button-text,
    .haven-request-form button .haven-button-text__inner,
    .haven-request-form button .haven-button-text::after {
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    .haven-request-form button .haven-button-bullet {
        width: 8px !important;
        height: 8px !important;
        flex: 0 0 8px !important;
    }

    .haven-request-success {
        min-height: 360px !important;
        padding: 32px 16px !important;
        border-radius: 8px !important;
    }

    .haven-request-steps {
        padding: 0 15px 122px !important;
        background: #e4eef0 !important;
        box-sizing: border-box !important;
    }

    .haven-request-steps .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-request-steps .haven-consult__cards {
        width: 100% !important;
        max-width: 360px !important;
        min-height: 528px !important;
        margin: 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
        border: 0 !important;
        background: transparent !important;
    }

    .haven-request-steps .haven-consult__cards article {
        width: 100% !important;
        min-height: 176px !important;
        margin: 0 !important;
        padding: 32px 16px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .haven-request-steps .haven-consult__cards img {
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        object-fit: contain !important;
    }

    .haven-request-steps .haven-consult__cards h3 {
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-align: center !important;
    }

    .haven-request-steps .haven-consult__cards p {
        margin: 0 !important;
        color: rgba(14, 43, 46, 0.80) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .haven-final-cta--request {
        margin-top: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .haven-final-cta--request > .haven-container {
        width: auto !important;
        max-width: none !important;
        margin: 0 16px 0 0 !important;
        padding: 0 !important;
    }

    .haven-final-cta--request .haven-final-cta__card {
        width: 100% !important;
        height: 276px !important;
        min-height: 276px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    .haven-final-cta--request .haven-final-cta__picture,
    .haven-final-cta--request .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--request .haven-final-cta__bg {
        object-fit: cover !important;
        object-position: center center !important;
        transform: none !important;
    }

    .haven-final-cta--request .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        right: auto !important;
        width: min(342px, calc(100vw - 48px)) !important;
        max-width: min(342px, calc(100vw - 48px)) !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        z-index: 2 !important;
    }

    .haven-final-cta--request .haven-final-cta__card .haven-btn {
        position: absolute !important;
        top: auto !important;
        right: auto !important;
        bottom: 32px !important;
        left: 16px !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 40px !important;
        padding: 12px !important;
        border-radius: 6px !important;
        z-index: 2 !important;
    }

    .haven-final-cta--request .haven-final-cta__card .haven-btn .haven-button-text,
    .haven-final-cta--request .haven-final-cta__card .haven-btn .haven-button-text__inner,
    .haven-final-cta--request .haven-final-cta__card .haven-btn .haven-button-text::after {
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-final-cta--request + .haven-footer {
        margin-top: -138px !important;
        padding: 138px 24px 0 !important;
        background: #075056 !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__brand-main p {
        max-width: 342px !important;
        white-space: normal !important;
        overflow: visible !important;
        color: #fff !important;
        font-size: 14px !important;
        line-height: 160% !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile {
        gap: 24px !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        display: block !important;
        overflow: hidden !important;
        background-color: transparent !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        background-size: contain !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a::before {
        content: "" !important;
        display: none !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a:nth-child(1) {
        background-image: url("/images/figma/menu-facebook.svg") !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a:nth-child(2) {
        background-image: url("/images/figma/menu-instagram.svg") !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a:nth-child(3) {
        background-image: url("/images/figma/menu-linkedin.svg") !important;
    }
}

@media (max-width: 767px) {
    .haven-header.is-menu-open,
    body.haven-home-route .haven-header.is-menu-open {
        background: #075056 !important;
    }

    .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__inner {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        backdrop-filter: none !important;
    }

    .haven-header.is-menu-open .haven-header__brand,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand {
        position: fixed !important;
        top: 82px !important;
        left: 24px !important;
        z-index: 3 !important;
        width: 78.909px !important;
        height: 28px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-header.is-menu-open .haven-header__brand img,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand img,
    body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        display: block !important;
        filter: brightness(0) invert(1) !important;
    }

    .haven-header.is-menu-open .haven-header__close {
        position: fixed !important;
        top: 78px !important;
        right: 24px !important;
        z-index: 3 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 12px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    .haven-header.is-menu-open .haven-header__nav {
        position: fixed !important;
        top: 303px !important;
        left: 24px !important;
        right: 24px !important;
        bottom: auto !important;
        z-index: 2 !important;
        display: flex !important;
        width: auto !important;
        padding: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .haven-header.is-menu-open .haven-header__nav > a,
    .haven-header.is-menu-open .haven-header__cta,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text::after,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text__inner {
        width: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 24px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-decoration: none !important;
        text-transform: none !important;
        box-shadow: none !important;
    }

    .haven-header.is-menu-open .haven-header__cta {
        position: fixed !important;
        top: 448px !important;
        left: 24px !important;
        right: 24px !important;
        z-index: 2 !important;
        display: block !important;
        width: auto !important;
    }

    .haven-header.is-menu-open .haven-header__cta i {
        display: none !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta {
        position: fixed !important;
        left: 24px !important;
        right: 24px !important;
        bottom: 21px !important;
        z-index: 2 !important;
        display: flex !important;
        width: auto !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
        color: #fff !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta > div:first-child {
        display: flex !important;
        width: 100% !important;
        padding: 0 0 24px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.20) !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta strong {
        margin: 0 !important;
        color: #d9d9d9 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta span,
    .haven-header.is-menu-open .haven-mobile-menu__meta a {
        margin: 0 !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom {
        display: flex !important;
        width: 100% !important;
        padding: 0 !important;
        align-items: center !important;
        gap: 16px !important;
        border: 0 !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a {
        width: 16px !important;
        height: 16px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        color: #fff !important;
        font-size: 0 !important;
        line-height: 1 !important;
        background: center / contain no-repeat transparent !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(1) {
        background-image: url("/images/figma/menu-facebook.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(2) {
        background-image: url("/images/figma/menu-instagram.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(3) {
        background-image: url("/images/figma/menu-linkedin.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(4) {
        width: auto !important;
        height: auto !important;
        min-height: 16px !important;
        margin-left: auto !important;
        overflow: visible !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0.14px !important;
        background-image: none !important;
    }
}

@media (max-width: 767px) {
    .haven-header.is-menu-open,
    body.haven-home-route .haven-header.is-menu-open {
        background: #075056 !important;
    }

    .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__inner {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        backdrop-filter: none !important;
    }

    .haven-header.is-menu-open .haven-header__brand,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand {
        position: fixed !important;
        top: 82px !important;
        left: 24px !important;
        z-index: 3 !important;
        width: 78.909px !important;
        height: 28px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-header.is-menu-open .haven-header__brand img,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand img,
    body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        display: block !important;
        filter: brightness(0) invert(1) !important;
    }

    .haven-header.is-menu-open .haven-header__close {
        position: fixed !important;
        top: 78px !important;
        right: 24px !important;
        z-index: 3 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 12px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    .haven-header.is-menu-open .haven-header__nav {
        position: fixed !important;
        top: 303px !important;
        left: 24px !important;
        right: 24px !important;
        bottom: auto !important;
        z-index: 2 !important;
        display: flex !important;
        width: auto !important;
        padding: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .haven-header.is-menu-open .haven-header__nav > a,
    .haven-header.is-menu-open .haven-header__cta,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text::after,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text__inner {
        width: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 24px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-decoration: none !important;
        text-transform: none !important;
        box-shadow: none !important;
    }

    .haven-header.is-menu-open .haven-header__cta {
        position: fixed !important;
        top: 448px !important;
        left: 24px !important;
        right: 24px !important;
        z-index: 2 !important;
        display: block !important;
        width: auto !important;
    }

    .haven-header.is-menu-open .haven-header__cta i {
        display: none !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta {
        position: fixed !important;
        left: 24px !important;
        right: 24px !important;
        bottom: 21px !important;
        z-index: 2 !important;
        display: flex !important;
        width: auto !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
        color: #fff !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta > div:first-child {
        display: flex !important;
        width: 100% !important;
        padding: 0 0 24px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.20) !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta strong {
        margin: 0 !important;
        color: #d9d9d9 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta span,
    .haven-header.is-menu-open .haven-mobile-menu__meta a {
        margin: 0 !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom {
        display: flex !important;
        width: 100% !important;
        padding: 0 !important;
        align-items: center !important;
        gap: 16px !important;
        border: 0 !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a {
        width: 16px !important;
        height: 16px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        color: #fff !important;
        font-size: 0 !important;
        line-height: 1 !important;
        background: center / contain no-repeat transparent !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(1) {
        background-image: url("/images/figma/menu-facebook.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(2) {
        background-image: url("/images/figma/menu-instagram.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(3) {
        background-image: url("/images/figma/menu-linkedin.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(4) {
        width: auto !important;
        height: auto !important;
        min-height: 16px !important;
        margin-left: auto !important;
        overflow: visible !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0.14px !important;
        background-image: none !important;
    }
}

.haven-final-cta--home .haven-final-cta__card > a.haven-btn.haven-btn--light,
.haven-final-cta--home .haven-final-cta__card > a.haven-btn.haven-btn--light .haven-button-text,
.haven-final-cta--home .haven-final-cta__card > a.haven-btn.haven-btn--light .haven-button-text::after,
.haven-final-cta--home .haven-final-cta__card > a.haven-btn.haven-btn--light .haven-button-text__inner,
body.haven-home-route .haven-final-cta--home .haven-final-cta__card > a.haven-btn.haven-btn--light,
body.haven-home-route .haven-final-cta--home .haven-final-cta__card > a.haven-btn.haven-btn--light .haven-button-text,
body.haven-home-route .haven-final-cta--home .haven-final-cta__card > a.haven-btn.haven-btn--light .haven-button-text::after,
body.haven-home-route .haven-final-cta--home .haven-final-cta__card > a.haven-btn.haven-btn--light .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

@media (max-width: 767px) {
    body.haven-home-route #haven-about .haven-benefit {
        gap: 0 !important;
    }

    body.haven-home-route #haven-about .haven-benefit.is-active .haven-benefit__body {
        margin-top: 16px !important;
    }
}

@media (max-width: 767px) {
    .haven-footer,
    body.haven-home-route .haven-footer,
    .haven-final-cta--request + .haven-footer,
    .haven-final-cta--about-page + .haven-footer {
        width: 100% !important;
        margin-top: -138px !important;
        padding: 138px 24px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        background: #075056 !important;
        color: #fff !important;
        box-sizing: border-box !important;
    }

    .haven-footer .haven-footer__grid,
    body.haven-home-route .haven-footer .haven-footer__grid,
    .haven-final-cta--request + .haven-footer .haven-footer__grid,
    .haven-final-cta--about-page + .haven-footer .haven-footer__grid {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    .haven-footer .haven-footer__brand,
    body.haven-home-route .haven-footer .haven-footer__brand {
        display: contents !important;
        width: auto !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .haven-footer .haven-footer__brand-main,
    body.haven-home-route .haven-footer .haven-footer__brand-main {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 24px 0 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        border: 0 !important;
        border-bottom: 0 !important;
    }

    .haven-footer .haven-footer__brand-main a,
    body.haven-home-route .haven-footer .haven-footer__brand-main a {
        width: 124px !important;
        height: 44px !important;
        display: block !important;
        flex: 0 0 44px !important;
        line-height: 0 !important;
    }

    .haven-footer .haven-footer__brand-main img,
    body.haven-home-route .haven-footer .haven-footer__brand-main img {
        width: 124px !important;
        height: 44px !important;
        max-width: none !important;
        margin: 0 !important;
        display: block !important;
        object-fit: contain !important;
        filter: none !important;
    }

    .haven-footer .haven-footer__brand-main p,
    body.haven-home-route .haven-footer .haven-footer__brand-main p {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .haven-footer .haven-footer__social-mobile,
    body.haven-home-route .haven-footer .haven-footer__social-mobile {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 20px 0 24px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 16px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
    }

    .haven-footer .haven-footer__social-mobile a,
    body.haven-home-route .haven-footer .haven-footer__social-mobile a {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        display: block !important;
        overflow: hidden !important;
        background-color: transparent !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        background-size: contain !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__social-mobile a::before,
    body.haven-home-route .haven-footer .haven-footer__social-mobile a::before {
        content: "" !important;
        display: none !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(1),
    body.haven-home-route .haven-footer .haven-footer__social-mobile a:nth-child(1) {
        background-image: url("/images/figma/menu-facebook.svg") !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(2),
    body.haven-home-route .haven-footer .haven-footer__social-mobile a:nth-child(2) {
        background-image: url("/images/figma/menu-instagram.svg") !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(3),
    body.haven-home-route .haven-footer .haven-footer__social-mobile a:nth-child(3) {
        background-image: url("/images/figma/menu-linkedin.svg") !important;
    }

    .haven-footer .haven-footer__links,
    body.haven-home-route .haven-footer .haven-footer__links {
        order: 3 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 32px 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: flex-start !important;
        gap: 44px 64px !important;
        border: 0 !important;
    }

    .haven-footer .haven-footer__col,
    body.haven-home-route .haven-footer .haven-footer__col {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 12px !important;
    }

    .haven-footer .haven-footer__col--language,
    body.haven-home-route .haven-footer .haven-footer__col--language {
        display: flex !important;
    }

    .haven-footer .haven-footer__col--contact,
    body.haven-home-route .haven-footer .haven-footer__col--contact {
        grid-column: 1 / -1 !important;
    }

    .haven-footer .haven-footer__col--social,
    body.haven-home-route .haven-footer .haven-footer__col--social {
        display: none !important;
    }

    .haven-footer h3,
    body.haven-home-route .haven-footer h3 {
        margin: 0 0 4px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #fff !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-footer h3 > span[aria-hidden="true"],
    body.haven-home-route .haven-footer h3 > span[aria-hidden="true"] {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        display: block !important;
        background: #e4eef0 !important;
        border-radius: 0 !important;
        transform: none !important;
    }

    .haven-footer h3 .haven-footer__heading-text,
    body.haven-home-route .haven-footer h3 .haven-footer__heading-text {
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        text-transform: inherit !important;
        transform: translateY(2px) !important;
    }

    .haven-footer a,
    .haven-footer span,
    body.haven-home-route .haven-footer a,
    body.haven-home-route .haven-footer span {
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        color: #e4eef0 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__copyright,
    body.haven-home-route .haven-footer .haven-footer__copyright {
        order: 4 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 24px 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-end !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.3) !important;
        color: #fff !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__copyright-icon,
    body.haven-home-route .haven-footer .haven-footer__copyright-icon {
        width: 10px !important;
        height: 10px !important;
        flex: 0 0 10px !important;
        display: block !important;
        object-fit: contain !important;
        transform: translateY(-1px) !important;
    }

    .haven-footer .haven-footer__copyright strong,
    body.haven-home-route .haven-footer .haven-footer__copyright strong {
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__copyright span,
    body.haven-home-route .haven-footer .haven-footer__copyright span {
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }
}

.haven-final-cta--home .haven-final-cta__picture,
body.haven-home-route .haven-final-cta--home .haven-final-cta__picture {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 0 calc(12 * var(--hs)) calc(12 * var(--hs)) 0 !important;
}

.haven-final-cta--home .haven-final-cta__card,
body.haven-home-route .haven-final-cta--home .haven-final-cta__card {
    border-radius: 0 calc(12 * var(--hs)) calc(12 * var(--hs)) 0 !important;
}

.haven-final-cta--home .haven-final-cta__bg,
body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center bottom !important;
    transform: none !important;
    border-radius: 0 calc(12 * var(--hs)) calc(12 * var(--hs)) 0 !important;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-final-cta--home {
        padding: 24px 16px 0 !important;
        background: var(--haven-mist, #e4eef0) !important;
    }

    body.haven-home-route .haven-final-cta--home > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.haven-home-route .haven-final-cta--home .haven-final-cta__card {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 374 / 276 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }
}

.haven-final-cta--home .haven-final-cta__picture,
body.haven-home-route .haven-final-cta--home .haven-final-cta__picture {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 0 calc(12 * var(--hs)) calc(12 * var(--hs)) 0 !important;
}

.haven-final-cta--home .haven-final-cta__bg,
body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center bottom !important;
    transform: none !important;
    border-radius: 0 calc(12 * var(--hs)) calc(12 * var(--hs)) 0 !important;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-final-cta--home {
        padding: 24px 16px 0 !important;
        background: var(--haven-mist, #e4eef0) !important;
    }

    body.haven-home-route .haven-final-cta--home > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.haven-home-route .haven-final-cta--home .haven-final-cta__card {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 374 / 276 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }
}

@media (max-width: 767px) {
    .haven-footer,
    body.haven-home-route .haven-footer,
    .haven-final-cta--request + .haven-footer,
    .haven-final-cta--about-page + .haven-footer {
        width: 100% !important;
        margin-top: -138px !important;
        padding: 138px 24px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        background: #075056 !important;
        color: #fff !important;
        box-sizing: border-box !important;
    }

    .haven-footer .haven-footer__grid,
    body.haven-home-route .haven-footer .haven-footer__grid,
    .haven-final-cta--request + .haven-footer .haven-footer__grid,
    .haven-final-cta--about-page + .haven-footer .haven-footer__grid {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    .haven-footer .haven-footer__brand,
    body.haven-home-route .haven-footer .haven-footer__brand {
        display: contents !important;
        width: auto !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .haven-footer .haven-footer__brand-main,
    body.haven-home-route .haven-footer .haven-footer__brand-main {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 24px 0 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        border: 0 !important;
        border-bottom: 0 !important;
    }

    .haven-footer .haven-footer__brand-main a,
    body.haven-home-route .haven-footer .haven-footer__brand-main a {
        width: 124px !important;
        height: 44px !important;
        display: block !important;
        flex: 0 0 44px !important;
        line-height: 0 !important;
    }

    .haven-footer .haven-footer__brand-main img,
    body.haven-home-route .haven-footer .haven-footer__brand-main img {
        width: 124px !important;
        height: 44px !important;
        max-width: none !important;
        margin: 0 !important;
        display: block !important;
        object-fit: contain !important;
        filter: none !important;
    }

    .haven-footer .haven-footer__brand-main p,
    body.haven-home-route .haven-footer .haven-footer__brand-main p {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .haven-footer .haven-footer__social-mobile,
    body.haven-home-route .haven-footer .haven-footer__social-mobile {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 20px 0 24px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 16px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
    }

    .haven-footer .haven-footer__social-mobile a,
    body.haven-home-route .haven-footer .haven-footer__social-mobile a {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        display: block !important;
        overflow: hidden !important;
        background-color: transparent !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        background-size: contain !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__social-mobile a::before,
    body.haven-home-route .haven-footer .haven-footer__social-mobile a::before {
        content: "" !important;
        display: none !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(1),
    body.haven-home-route .haven-footer .haven-footer__social-mobile a:nth-child(1) {
        background-image: url("/images/figma/menu-facebook.svg") !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(2),
    body.haven-home-route .haven-footer .haven-footer__social-mobile a:nth-child(2) {
        background-image: url("/images/figma/menu-instagram.svg") !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(3),
    body.haven-home-route .haven-footer .haven-footer__social-mobile a:nth-child(3) {
        background-image: url("/images/figma/menu-linkedin.svg") !important;
    }

    .haven-footer .haven-footer__links,
    body.haven-home-route .haven-footer .haven-footer__links {
        order: 3 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 32px 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: flex-start !important;
        gap: 44px 64px !important;
        border: 0 !important;
    }

    .haven-footer .haven-footer__col,
    body.haven-home-route .haven-footer .haven-footer__col {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 12px !important;
    }

    .haven-footer .haven-footer__col--language,
    body.haven-home-route .haven-footer .haven-footer__col--language {
        display: flex !important;
    }

    .haven-footer .haven-footer__col--contact,
    body.haven-home-route .haven-footer .haven-footer__col--contact {
        grid-column: 1 / -1 !important;
    }

    .haven-footer .haven-footer__col--social,
    body.haven-home-route .haven-footer .haven-footer__col--social {
        display: none !important;
    }

    .haven-footer h3,
    body.haven-home-route .haven-footer h3 {
        margin: 0 0 4px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #fff !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-footer h3 > span[aria-hidden="true"],
    body.haven-home-route .haven-footer h3 > span[aria-hidden="true"] {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        display: block !important;
        background: #e4eef0 !important;
        border-radius: 0 !important;
        transform: none !important;
    }

    .haven-footer h3 .haven-footer__heading-text,
    body.haven-home-route .haven-footer h3 .haven-footer__heading-text {
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        text-transform: inherit !important;
        transform: translateY(2px) !important;
    }

    .haven-footer a,
    .haven-footer span,
    body.haven-home-route .haven-footer a,
    body.haven-home-route .haven-footer span {
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        color: #e4eef0 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__copyright,
    body.haven-home-route .haven-footer .haven-footer__copyright {
        order: 4 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 24px 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-end !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.3) !important;
        color: #fff !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__copyright-icon,
    body.haven-home-route .haven-footer .haven-footer__copyright-icon {
        width: 10px !important;
        height: 10px !important;
        flex: 0 0 10px !important;
        display: block !important;
        object-fit: contain !important;
        transform: translateY(-1px) !important;
    }

    .haven-footer .haven-footer__copyright strong,
    body.haven-home-route .haven-footer .haven-footer__copyright strong {
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__copyright span,
    body.haven-home-route .haven-footer .haven-footer__copyright span {
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-contact.haven-consult {
        width: 100% !important;
        margin: 0 !important;
        padding: 44px 16px !important;
        display: block !important;
        background: var(--haven-mist, #e4eef0) !important;
        color: #043034 !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-contact .haven-consult__inner {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 32px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__heading {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    body.haven-home-route #haven-contact .haven-section-label {
        height: 17px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #043034 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: 17px !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-contact .haven-section-label::before {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        transform: none !important;
    }

    body.haven-home-route #haven-contact .haven-section-label img {
        display: none !important;
    }

    body.haven-home-route #haven-contact .haven-section-label > span {
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        text-transform: uppercase !important;
        transform: none !important;
    }

    body.haven-home-route #haven-contact h2 {
        width: min(340px, 100%) !important;
        max-width: 340px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    body.haven-home-route #haven-contact .haven-consult__grid {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 32px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        color: #043034 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside h3 {
        width: 100% !important;
        margin: 0 0 16px !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: normal !important;
        text-align: left !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside > div {
        width: 100% !important;
        margin: 0 !important;
        padding: 16px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        border-bottom: 1px solid #d3dddf !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside > div:last-child {
        border-bottom: 0 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside span {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: rgba(14, 43, 46, 0.8) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-align: left !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside > div span:first-child {
        color: #043034 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside > div:nth-of-type(2) span:first-child {
        font-size: 12px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form {
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 16px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: #fff !important;
        overflow: hidden !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form label {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form label > span {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 2px !important;
        color: #043034 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form i {
        width: 8px !important;
        height: 8px !important;
        flex: 0 0 8px !important;
        margin-top: 0 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form input,
    body.haven-home-route #haven-contact .haven-consult__form select {
        width: 100% !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: flex !important;
        align-items: center !important;
        border: 1px solid #e9e8e8 !important;
        border-radius: 6px !important;
        background-color: #fafafa !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form select {
        border-radius: 4px !important;
        background-position: right 12px center !important;
        background-size: 12px 12px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form input::placeholder,
    body.haven-home-route #haven-contact .haven-consult__form select,
    body.haven-home-route #haven-contact .haven-consult__form select option {
        color: #838383 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form button {
        width: 100% !important;
        height: 39px !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #075056 !important;
        color: #fff !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form button .haven-button-bullet {
        width: 8px !important;
        height: 8px !important;
        flex: 0 0 8px !important;
        border-color: currentColor !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form button,
    body.haven-home-route #haven-contact .haven-consult__form button .haven-button-text,
    body.haven-home-route #haven-contact .haven-consult__form button .haven-button-text::after,
    body.haven-home-route #haven-contact .haven-consult__form button .haven-button-text__inner {
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
        border: 0 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards article {
        width: 100% !important;
        min-height: 176px !important;
        margin: 0 !important;
        padding: 32px 16px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border: 0 !important;
        background: transparent !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards img {
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        display: block !important;
        object-fit: contain !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards h3 {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #043034 !important;
        text-align: center !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards p,
    body.haven-home-route #haven-contact .haven-consult__cards p span {
        margin: 0 !important;
        padding: 0 !important;
        color: rgba(14, 43, 46, 0.8) !important;
        text-align: center !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        white-space: normal !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-contact.haven-consult {
        width: 100% !important;
        margin: 0 !important;
        padding: 44px 16px !important;
        display: block !important;
        background: var(--haven-mist, #e4eef0) !important;
        color: #043034 !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-contact .haven-consult__inner {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 32px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__heading {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    body.haven-home-route #haven-contact .haven-section-label {
        height: 17px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #043034 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: 17px !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-contact .haven-section-label::before {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        transform: none !important;
    }

    body.haven-home-route #haven-contact .haven-section-label img {
        display: none !important;
    }

    body.haven-home-route #haven-contact .haven-section-label > span {
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        text-transform: uppercase !important;
        transform: none !important;
    }

    body.haven-home-route #haven-contact h2 {
        width: min(340px, 100%) !important;
        max-width: 340px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    body.haven-home-route #haven-contact .haven-consult__grid {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 32px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        color: #043034 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside h3 {
        width: 100% !important;
        margin: 0 0 16px !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: normal !important;
        text-align: left !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside > div {
        width: 100% !important;
        margin: 0 !important;
        padding: 16px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        border-bottom: 1px solid #d3dddf !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside > div:last-child {
        border-bottom: 0 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside span {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: rgba(14, 43, 46, 0.8) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-align: left !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside > div span:first-child {
        color: #043034 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__aside > div:nth-of-type(2) span:first-child {
        font-size: 12px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form {
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 16px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: #fff !important;
        overflow: hidden !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form label {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form label > span {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 2px !important;
        color: #043034 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form i {
        width: 8px !important;
        height: 8px !important;
        flex: 0 0 8px !important;
        margin-top: 0 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form input,
    body.haven-home-route #haven-contact .haven-consult__form select {
        width: 100% !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: flex !important;
        align-items: center !important;
        border: 1px solid #e9e8e8 !important;
        border-radius: 6px !important;
        background-color: #fafafa !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form select {
        border-radius: 4px !important;
        background-position: right 12px center !important;
        background-size: 12px 12px !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form input::placeholder,
    body.haven-home-route #haven-contact .haven-consult__form select,
    body.haven-home-route #haven-contact .haven-consult__form select option {
        color: #838383 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form button {
        width: 100% !important;
        height: 39px !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #075056 !important;
        color: #fff !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form button .haven-button-bullet {
        width: 8px !important;
        height: 8px !important;
        flex: 0 0 8px !important;
        border-color: currentColor !important;
    }

    body.haven-home-route #haven-contact .haven-consult__form button,
    body.haven-home-route #haven-contact .haven-consult__form button .haven-button-text,
    body.haven-home-route #haven-contact .haven-consult__form button .haven-button-text::after,
    body.haven-home-route #haven-contact .haven-consult__form button .haven-button-text__inner {
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
        border: 0 !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards article {
        width: 100% !important;
        min-height: 176px !important;
        margin: 0 !important;
        padding: 32px 16px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border: 0 !important;
        background: transparent !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards img {
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        display: block !important;
        object-fit: contain !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards h3 {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #043034 !important;
        text-align: center !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
    }

    body.haven-home-route #haven-contact .haven-consult__cards p,
    body.haven-home-route #haven-contact .haven-consult__cards p span {
        margin: 0 !important;
        padding: 0 !important;
        color: rgba(14, 43, 46, 0.8) !important;
        text-align: center !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        white-space: normal !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-location.haven-location {
        width: 100% !important;
        min-height: 535px !important;
        margin: 0 !important;
        padding: 44px 16px !important;
        display: block !important;
        background: #075056 !important;
        color: #fff !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-location > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    body.haven-home-route #haven-location .haven-location__content,
    body.haven-home-route #haven-location .haven-location__meta {
        display: contents !important;
    }

    body.haven-home-route #haven-location .haven-location__heading {
        width: min(297px, 100%) !important;
        height: auto !important;
        margin: 0 0 16px !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    body.haven-home-route #haven-location .haven-section-label--icon {
        height: 17px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 17px !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-location .haven-section-label--icon::before {
        display: none !important;
    }

    body.haven-home-route #haven-location .haven-section-label--icon img {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        display: block !important;
        object-fit: contain !important;
        filter: none !important;
        transform: none !important;
    }

    body.haven-home-route #haven-location .haven-section-label--icon > span {
        color: inherit !important;
        font: inherit !important;
        letter-spacing: inherit !important;
        line-height: inherit !important;
        text-transform: none !important;
        transform: none !important;
    }

    body.haven-home-route #haven-location .haven-location__title {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.haven-home-route #haven-location h2 {
        width: min(297px, 100%) !important;
        max-width: 297px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    body.haven-home-route #haven-location .haven-location__meta > p:not(.haven-location__address) {
        width: 100% !important;
        height: 19px !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
        color: #e4eef0 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 19px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-location .haven-location__address {
        width: 100% !important;
        height: 15px !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: 15px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
    }

    body.haven-home-route #haven-location .haven-location__address img {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        display: block !important;
        object-fit: contain !important;
        filter: brightness(0) invert(1) !important;
    }

    body.haven-home-route #haven-location .haven-location__address span {
        min-width: 0 !important;
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
        text-transform: none !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.haven-home-route #haven-location .haven-location__map {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 358 / 268 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        align-self: stretch !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #e4eef0 !important;
        overflow: hidden !important;
    }

    body.haven-home-route #haven-location .haven-location__map img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        object-position: center center !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-location.haven-location {
        width: 100% !important;
        min-height: 535px !important;
        margin: 0 !important;
        padding: 44px 16px !important;
        display: block !important;
        background: #075056 !important;
        color: #fff !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-location > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    body.haven-home-route #haven-location .haven-location__content,
    body.haven-home-route #haven-location .haven-location__meta {
        display: contents !important;
    }

    body.haven-home-route #haven-location .haven-location__heading {
        width: min(297px, 100%) !important;
        height: auto !important;
        margin: 0 0 16px !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    body.haven-home-route #haven-location .haven-section-label--icon {
        height: 17px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 17px !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-location .haven-section-label--icon::before {
        display: none !important;
    }

    body.haven-home-route #haven-location .haven-section-label--icon img {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        display: block !important;
        object-fit: contain !important;
        filter: none !important;
        transform: none !important;
    }

    body.haven-home-route #haven-location .haven-section-label--icon > span {
        color: inherit !important;
        font: inherit !important;
        letter-spacing: inherit !important;
        line-height: inherit !important;
        text-transform: none !important;
        transform: none !important;
    }

    body.haven-home-route #haven-location .haven-location__title {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.haven-home-route #haven-location h2 {
        width: min(297px, 100%) !important;
        max-width: 297px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    body.haven-home-route #haven-location .haven-location__meta > p:not(.haven-location__address) {
        width: 100% !important;
        height: 19px !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
        color: #e4eef0 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 19px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-location .haven-location__address {
        width: 100% !important;
        height: 15px !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: 15px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
    }

    body.haven-home-route #haven-location .haven-location__address img {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        display: block !important;
        object-fit: contain !important;
        filter: brightness(0) invert(1) !important;
    }

    body.haven-home-route #haven-location .haven-location__address span {
        min-width: 0 !important;
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
        text-transform: none !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.haven-home-route #haven-location .haven-location__map {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 358 / 268 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        align-self: stretch !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #e4eef0 !important;
        overflow: hidden !important;
    }

    body.haven-home-route #haven-location .haven-location__map img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
        object-position: center center !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-about .haven-benefit {
        gap: 0 !important;
    }

    body.haven-home-route #haven-about .haven-benefit.is-active .haven-benefit__body {
        margin-top: 16px !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-about .haven-benefit {
        gap: 0 !important;
    }

    body.haven-home-route #haven-about .haven-benefit.is-active .haven-benefit__body {
        margin-top: 16px !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-about .haven-benefit {
        gap: 0 !important;
    }

    body.haven-home-route #haven-about .haven-benefit.is-active .haven-benefit__body {
        margin-top: 16px !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-about.haven-about {
        padding: 44px 16px 24px !important;
        background: var(--haven-mist, #e4eef0) !important;
    }

    body.haven-home-route #haven-about > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    body.haven-home-route #haven-about .haven-section-label {
        margin: 0 0 16px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #043034 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    body.haven-home-route #haven-about .haven-section-label::before {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
    }

    body.haven-home-route #haven-about h2 {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    body.haven-home-route #haven-about .haven-about__layout {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }

    body.haven-home-route #haven-about .haven-feature-card {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.haven-home-route #haven-about .haven-feature-card__picture {
        width: 100% !important;
        aspect-ratio: 400 / 496 !important;
        display: block !important;
        overflow: hidden !important;
        border-radius: 0 !important;
    }

    body.haven-home-route #haven-about .haven-feature-card__picture img,
    body.haven-home-route #haven-about .haven-feature-card img {
        width: 106.67% !important;
        max-width: none !important;
        height: 107.46% !important;
        min-height: 107.46% !important;
        display: block !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        object-position: center center !important;
        border-radius: 0 !important;
        transform: translate(-5.29%, -6.25%) !important;
    }

    body.haven-home-route #haven-about .haven-feature-card > div {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    body.haven-home-route #haven-about .haven-feature-card h3 {
        display: none !important;
    }

    body.haven-home-route #haven-about .haven-feature-card p,
    body.haven-home-route #haven-about .haven-benefit__body p {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    body.haven-home-route #haven-about .haven-feature-card .haven-btn,
    body.haven-home-route #haven-about .haven-mini-link {
        width: max-content !important;
        min-width: 0 !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border: 1px solid #075056 !important;
        border-radius: 6px !important;
        background: #075056 !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    body.haven-home-route #haven-about .haven-feature-card .haven-btn .haven-button-bullet,
    body.haven-home-route #haven-about .haven-mini-link .haven-button-bullet {
        width: 8px !important;
        height: 8px !important;
        flex: 0 0 8px !important;
        border-color: currentColor !important;
    }

    body.haven-home-route #haven-about .haven-feature-card .haven-btn,
    body.haven-home-route #haven-about .haven-feature-card .haven-btn .haven-button-text,
    body.haven-home-route #haven-about .haven-feature-card .haven-btn .haven-button-text::after,
    body.haven-home-route #haven-about .haven-feature-card .haven-btn .haven-button-text__inner,
    body.haven-home-route #haven-about .haven-mini-link,
    body.haven-home-route #haven-about .haven-mini-link .haven-button-text,
    body.haven-home-route #haven-about .haven-mini-link .haven-button-text::after,
    body.haven-home-route #haven-about .haven-mini-link .haven-button-text__inner {
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-about .haven-benefits {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    body.haven-home-route #haven-about .haven-benefit {
        width: 100% !important;
        margin: 0 !important;
        padding: 12px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #b6c8cb !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top {
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top > span {
        width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        background: transparent !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top span img {
        width: 24px !important;
        height: 24px !important;
        display: block !important;
        object-fit: contain !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top strong {
        min-width: 0 !important;
        flex: 1 1 auto !important;
        margin: 0 !important;
        padding: 6px 0 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    body.haven-home-route #haven-about .haven-benefit__top i {
        width: 16px !important;
        height: 16px !important;
        flex: 0 0 16px !important;
        display: grid !important;
        place-items: center !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 16px !important;
    }

    body.haven-home-route #haven-about .haven-benefit__body {
        width: 100% !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        overflow: hidden !important;
    }

    body.haven-home-route #haven-about .haven-benefit.is-active .haven-benefit__body {
        max-height: none !important;
        margin-top: 16px !important;
        overflow: visible !important;
    }

    body.haven-home-route #haven-about .haven-benefit__images {
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        align-items: stretch !important;
        gap: 16px !important;
    }

    body.haven-home-route #haven-about .haven-benefit__images a {
        min-width: 0 !important;
        flex: 1 1 0 !important;
        display: block !important;
    }

    body.haven-home-route #haven-about .haven-benefit__images img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        aspect-ratio: 264 / 196 !important;
        object-fit: cover !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 767px) {
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        left: auto !important;
        z-index: 9999 !important;
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(-50%) !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0.16px !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-about-page .haven-stat-image__stats strong,
    .haven-about-page .haven-stat-image__stats strong:first-child,
    .haven-about-page .haven-stat-image__stats strong:nth-child(2),
    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        font-size: 16px !important;
    }

    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .haven-about-page .haven-partners__logos {
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
        overflow: visible !important;
    }

    .haven-about-page .haven-partners__logos-track {
        gap: 48px !important;
    }
}

@media (max-width: 767px) {
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang::before {
        content: attr(data-label);
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        z-index: 10000 !important;
        display: block !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 20px !important;
        letter-spacing: 0.16px !important;
        text-transform: uppercase !important;
    }

    .haven-about-page .haven-stat-image__stats strong,
    .haven-about-page .haven-stat-image__stats strong:first-child,
    .haven-about-page .haven-stat-image__stats strong:nth-child(2),
    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        font-size: 14px !important;
    }
}

@media (max-width: 767px) {
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner::after {
        content: "EN";
        position: fixed !important;
        top: 20px !important;
        right: 16px !important;
        z-index: 10001 !important;
        display: block !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 20px !important;
        letter-spacing: 0.16px !important;
        text-transform: uppercase !important;
        pointer-events: none !important;
    }

    .haven-about-page .haven-stat-image__stats {
        grid-template-columns: 0.9fr 0.9fr 1.25fr !important;
    }

    .haven-about-page .haven-stat-image__stats strong,
    .haven-about-page .haven-stat-image__stats strong:first-child,
    .haven-about-page .haven-stat-image__stats strong:nth-child(2),
    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        font-size: 13px !important;
    }

    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        justify-content: flex-start !important;
        padding-left: 6px !important;
    }
}

.haven-btn .haven-button-text,
.haven-btn .haven-button-text::after,
.haven-btn .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

body.haven-home-route #haven-contact .haven-consult__form label > span {
    color: #043034 !important;
    font-family: var(--haven-caps-font) !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

@media (min-width: 768px) {
    .haven-final-cta--home .haven-final-cta__card,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__card {
        width: min(calc(1448 * var(--hs)), 100%) !important;
        height: calc(406 * var(--hs)) !important;
        min-height: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 0 calc(12 * var(--hs)) calc(12 * var(--hs)) 0 !important;
    }

    .haven-final-cta--home .haven-final-cta__picture,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__picture,
    .haven-final-cta--home .haven-final-cta__bg,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
        overflow: hidden !important;
        border-radius: 0 calc(12 * var(--hs)) calc(12 * var(--hs)) 0 !important;
    }

    .haven-final-cta--home .haven-final-cta__picture::after,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__picture::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        display: block;
        border-radius: 0 calc(12 * var(--hs)) calc(12 * var(--hs)) 0;
        background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6));
        pointer-events: none;
    }

    .haven-final-cta--home .haven-final-cta__bg,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
        inset: auto !important;
        left: calc(-0.532 * var(--hs)) !important;
        top: calc(-313.607 * var(--hs)) !important;
        width: calc(1448.883 * var(--hs)) !important;
        height: calc(815.000 * var(--hs)) !important;
        max-width: none !important;
        object-fit: fill !important;
        transform: none !important;
    }

    .haven-final-cta--home .haven-final-cta__card h2,
    .haven-final-cta--home .haven-final-cta__card a,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__card h2,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__card a {
        z-index: 2 !important;
    }
}

body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text,
body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text::after,
body.haven-home-route .haven-hero__bottom .haven-btn .haven-button-text__inner {
    font-family: var(--haven-caps-font) !important;
    text-transform: uppercase !important;
}

.haven-consult__cards p,
.haven-consult__cards p span,
.haven-request-steps .haven-consult__cards p,
.haven-request-steps .haven-consult__cards p span,
body.haven-home-route #haven-contact .haven-consult__cards p,
body.haven-home-route #haven-contact .haven-consult__cards p span {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.haven-consult__cards p,
.haven-request-steps .haven-consult__cards p,
body.haven-home-route #haven-contact .haven-consult__cards p {
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    margin-inline: auto !important;
}

.haven-consult__cards p span,
.haven-request-steps .haven-consult__cards p span,
body.haven-home-route #haven-contact .haven-consult__cards p span {
    display: block !important;
}

.haven-final-cta--home .haven-final-cta__card,
.haven-final-cta--home .haven-final-cta__picture,
.haven-final-cta--home .haven-final-cta__picture::after,
.haven-final-cta--home .haven-final-cta__bg,
body.haven-home-route .haven-final-cta--home .haven-final-cta__card,
body.haven-home-route .haven-final-cta--home .haven-final-cta__picture,
body.haven-home-route .haven-final-cta--home .haven-final-cta__picture::after,
body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
    border-radius: calc(12 * var(--hs)) !important;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-hero {
        min-height: 100svh !important;
    }

    body.haven-home-route .haven-hero__content {
        min-height: 100svh !important;
        padding-top: clamp(84px, 14svh, 120px) !important;
        padding-bottom: clamp(20px, 5svh, 48px) !important;
        justify-content: flex-start !important;
        gap: 0 !important;
    }

    body.haven-home-route .haven-hero__bottom {
        margin: clamp(64px, 18svh, 150px) 0 0 0 !important;
    }
}

@supports (height: 100dvh) {
    @media (max-width: 767px) {
        body.haven-home-route .haven-hero,
        body.haven-home-route .haven-hero__content {
            min-height: 100dvh !important;
        }
    }
}

@media (max-width: 767px) and (max-height: 720px) {
    body.haven-home-route .haven-hero h1 {
        font-size: clamp(76px, 22vw, 88px) !important;
        line-height: 0.98 !important;
    }

    body.haven-home-route .haven-hero__bottom {
        margin-top: clamp(44px, 14svh, 96px) !important;
        gap: 18px !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route .haven-final-cta--home {
        padding: 24px 8px 0 !important;
        background: var(--haven-mist, #e4eef0) !important;
    }

    body.haven-home-route .haven-final-cta--home > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.haven-home-route .haven-final-cta--home .haven-final-cta__card {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 374 / 276 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: 0 !important;
    }

    body.haven-home-route .haven-final-cta--home .haven-final-cta__picture,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__picture::after,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
        border-radius: 0 !important;
    }

    body.haven-home-route .haven-final-cta--home .haven-final-cta__picture,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center bottom !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    .haven-footer .haven-footer__social-mobile,
    body.haven-home-route .haven-footer .haven-footer__social-mobile {
        gap: 16px !important;
    }

    .haven-footer .haven-footer__social-mobile a,
    body.haven-home-route .haven-footer .haven-footer__social-mobile a {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
    }

    .haven-footer .haven-footer__social-mobile a::before,
    body.haven-home-route .haven-footer .haven-footer__social-mobile a::before {
        content: "" !important;
        display: none !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(1),
    body.haven-home-route .haven-footer .haven-footer__social-mobile a:nth-child(1) {
        background-image: url("/images/figma/menu-facebook.svg") !important;
        background-size: 12px 20px !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(2),
    body.haven-home-route .haven-footer .haven-footer__social-mobile a:nth-child(2) {
        background-image: url("/images/figma/menu-instagram.svg") !important;
        background-size: 20px 20px !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(3),
    body.haven-home-route .haven-footer .haven-footer__social-mobile a:nth-child(3) {
        background-image: url("/images/figma/menu-linkedin.svg") !important;
        background-size: 16px 16px !important;
    }
}

@media (max-width: 767px) {
    .haven-consult__cards,
    .haven-request-steps .haven-consult__cards,
    body.haven-home-route #haven-contact .haven-consult__cards {
        width: min(358px, calc(100vw - 32px)) !important;
        max-width: 358px !important;
        min-height: 528px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        border: 0 !important;
        background: var(--haven-mist, #e4eef0) !important;
        overflow: visible !important;
    }

    .haven-consult__cards article,
    .haven-request-steps .haven-consult__cards article,
    body.haven-home-route #haven-contact .haven-consult__cards article {
        position: relative !important;
        width: 100% !important;
        height: 176px !important;
        min-height: 176px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        flex: 0 0 176px !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .haven-consult__cards img,
    .haven-request-steps .haven-consult__cards img,
    body.haven-home-route #haven-contact .haven-consult__cards img {
        position: absolute !important;
        top: 32px !important;
        left: 50% !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        display: block !important;
        object-fit: contain !important;
        transform: translateX(-50%) !important;
    }

    .haven-consult__cards h3,
    .haven-request-steps .haven-consult__cards h3,
    body.haven-home-route #haven-contact .haven-consult__cards h3 {
        position: absolute !important;
        top: 75px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #043034 !important;
        text-align: center !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: 17px !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    .haven-consult__cards p,
    .haven-consult__cards p span,
    .haven-request-steps .haven-consult__cards p,
    .haven-request-steps .haven-consult__cards p span,
    body.haven-home-route #haven-contact .haven-consult__cards p,
    body.haven-home-route #haven-contact .haven-consult__cards p span {
        margin: 0 !important;
        padding: 0 !important;
        color: rgba(14, 43, 46, 0.8) !important;
        text-align: center !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 22px !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .haven-consult__cards p,
    .haven-request-steps .haven-consult__cards p,
    body.haven-home-route #haven-contact .haven-consult__cards p {
        position: absolute !important;
        top: 105px !important;
        left: 50% !important;
        display: block !important;
        width: 100% !important;
        transform: translateX(-50%) !important;
    }

    .haven-consult__cards p span,
    .haven-request-steps .haven-consult__cards p span,
    body.haven-home-route #haven-contact .haven-consult__cards p span {
        display: inline !important;
        font: inherit !important;
    }

    .haven-consult__cards article:nth-child(1) p,
    .haven-request-steps .haven-consult__cards article:nth-child(1) p,
    body.haven-home-route #haven-contact .haven-consult__cards article:nth-child(1) p {
        max-width: 170px !important;
    }

    .haven-consult__cards article:nth-child(2) p,
    .haven-request-steps .haven-consult__cards article:nth-child(2) p,
    body.haven-home-route #haven-contact .haven-consult__cards article:nth-child(2) p {
        max-width: 236px !important;
    }

    .haven-consult__cards article:nth-child(3) p,
    .haven-request-steps .haven-consult__cards article:nth-child(3) p,
    body.haven-home-route #haven-contact .haven-consult__cards article:nth-child(3) p {
        max-width: 218px !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route #haven-about h2 {
        width: min(351px, calc(100vw - 32px)) !important;
        max-width: 351px !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 21px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 32px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.haven-home-route #haven-about .haven-about-title__desktop-space {
        display: none !important;
    }

    body.haven-home-route #haven-about .haven-about-title__mobile-break {
        display: inline !important;
    }
}

@media (min-width: 768px) {
    body.haven-home-route #haven-about .haven-about-title__desktop-space {
        display: inline !important;
    }

    body.haven-home-route #haven-about .haven-about-title__mobile-break {
        display: none !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route .haven-intro p:not(.haven-intro__label):not(.haven-section-label) {
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: none !important;
        min-height: 176px !important;
        margin: 0 !important;
        padding: 37px 16px 36px !important;
        box-sizing: border-box !important;
        display: block !important;
        border-left: 0 !important;
        border-bottom: 1px solid #b6c8cb !important;
        background: #e4eef0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 22.4px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
}

@media (max-width: 767px) {
    .haven-header.is-menu-open,
    body.haven-home-route .haven-header.is-menu-open {
        position: fixed !important;
        inset: 0 !important;
        z-index: 9999 !important;
        width: 100vw !important;
        height: 100svh !important;
        min-height: 100svh !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #075056 !important;
    }

    .haven-header.is-menu-open::before,
    body.haven-home-route .haven-header.is-menu-open::before {
        display: none !important;
        content: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__inner {
        width: 100vw !important;
        height: 100svh !important;
        min-height: 100svh !important;
        border: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .haven-header.is-menu-open .haven-header__brand,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand {
        top: calc(76px + env(safe-area-inset-top, 0px)) !important;
        left: 8px !important;
        margin: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    .haven-header.is-menu-open .haven-header__close {
        top: calc(76px + env(safe-area-inset-top, 0px)) !important;
        right: 24px !important;
    }

    .haven-header.is-menu-open .haven-header__nav {
        top: calc(303px + env(safe-area-inset-top, 0px)) !important;
        left: 24px !important;
        right: 24px !important;
    }

    .haven-header.is-menu-open .haven-header__nav > a,
    .haven-header.is-menu-open .haven-header__cta,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text::after,
    .haven-header.is-menu-open .haven-header__cta .haven-button-text__inner {
        font-size: 24px !important;
        line-height: 48px !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta {
        left: 24px !important;
        right: 24px !important;
        bottom: max(21px, calc(env(safe-area-inset-bottom, 0px) + 16px)) !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom {
        min-height: 20px !important;
        padding-bottom: 0 !important;
    }
}

@supports (height: 100dvh) {
    @media (max-width: 767px) {
        .haven-header.is-menu-open,
        body.haven-home-route .haven-header.is-menu-open,
        .haven-header.is-menu-open .haven-header__inner,
        body.haven-home-route .haven-header.is-menu-open .haven-header__inner,
        body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__inner {
            height: 100dvh !important;
            min-height: 100dvh !important;
        }
    }
}

@media (max-width: 767px) {
    .haven-header:not(.is-menu-open) .haven-header__actions .haven-header__lang,
    .haven-header:not(.is-menu-open) .haven-header__lang,
    .haven-header--sticky:not(.is-menu-open) .haven-header__lang,
    .haven-header--inner:not(.is-menu-open) .haven-header__lang,
    .haven-header--request:not(.is-menu-open) .haven-header__lang,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__lang,
    body.haven-home-route .haven-header--sticky:not(.is-menu-open) .haven-header__lang,
    .haven-header.is-menu-open .haven-header__mobile-lang,
    .haven-header.is-menu-open .haven-header__lang {
        display: none !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--sticky:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--request:not(.is-menu-open) .haven-header__mobile-lang,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__mobile-lang,
    body.haven-home-route .haven-header--sticky:not(.is-menu-open) .haven-header__mobile-lang {
        display: block !important;
        width: auto !important;
        height: auto !important;
        min-width: max-content !important;
        font-size: 16px !important;
        line-height: 20px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__mobile-lang::before,
    .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang::before,
    .haven-header:not(.is-menu-open) .haven-header__inner::after,
    .haven-header--inner:not(.is-menu-open) .haven-header__inner::after,
    .haven-header.is-menu-open .haven-header__mobile-lang::before,
    .haven-header.is-menu-open .haven-header__inner::after {
        display: none !important;
        content: none !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        display: block !important;
        width: auto !important;
        min-width: max-content !important;
        height: 20px !important;
        color: #043034 !important;
        font-size: 16px !important;
        line-height: 20px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang::before,
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner::after {
        display: none !important;
        content: none !important;
    }
}

@media (max-width: 767px) {
    .haven-footer {
        width: 100% !important;
        margin-top: -138px !important;
        padding: 138px 24px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        background: #075056 !important;
        color: #fff !important;
        box-sizing: border-box !important;
    }

    .haven-footer .haven-footer__grid {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    .haven-footer .haven-footer__brand {
        display: contents !important;
        width: auto !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .haven-footer .haven-footer__brand-main {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 24px 0 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px !important;
        border: 0 !important;
    }

    .haven-footer .haven-footer__brand-main a,
    .haven-footer .haven-footer__brand-main img {
        width: 124px !important;
        height: 44px !important;
        max-width: none !important;
        display: block !important;
        flex: 0 0 44px !important;
        line-height: 0 !important;
        object-fit: contain !important;
        filter: none !important;
    }

    .haven-footer .haven-footer__brand-main p {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .haven-footer .haven-footer__social-mobile {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 20px 0 24px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 16px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
    }

    .haven-footer .haven-footer__social-mobile a {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        display: block !important;
        overflow: hidden !important;
        background-color: transparent !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__social-mobile a::before {
        display: none !important;
        content: "" !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(1) {
        background-image: url("/images/figma/menu-facebook.svg") !important;
        background-size: 12px 20px !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(2) {
        background-image: url("/images/figma/menu-instagram.svg") !important;
        background-size: 20px 20px !important;
    }

    .haven-footer .haven-footer__social-mobile a:nth-child(3) {
        background-image: url("/images/figma/menu-linkedin.svg") !important;
        background-size: 16px 16px !important;
    }

    .haven-footer .haven-footer__links {
        order: 3 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 32px 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: flex-start !important;
        gap: 44px 64px !important;
        border: 0 !important;
    }

    .haven-footer .haven-footer__col {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 12px !important;
    }

    .haven-footer .haven-footer__col--language {
        display: flex !important;
    }

    .haven-footer .haven-footer__col--contact {
        grid-column: 1 / -1 !important;
    }

    .haven-footer .haven-footer__col--social {
        display: none !important;
    }

    .haven-footer h3 {
        margin: 0 0 4px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #fff !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-footer h3 > span[aria-hidden="true"] {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 12px !important;
        display: block !important;
        background: #e4eef0 !important;
        border-radius: 0 !important;
        transform: none !important;
    }

    .haven-footer h3 .haven-footer__heading-text {
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        text-transform: inherit !important;
        transform: translateY(2px) !important;
    }

    .haven-footer a,
    .haven-footer span {
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        color: #e4eef0 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__copyright {
        order: 4 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 24px 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-end !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.3) !important;
        color: #fff !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__copyright-icon {
        width: 10px !important;
        height: 10px !important;
        flex: 0 0 10px !important;
        display: block !important;
        object-fit: contain !important;
        transform: translateY(-1px) !important;
    }

    .haven-footer .haven-footer__copyright strong {
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-footer .haven-footer__copyright span {
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile,
    .haven-final-cta--about-page + .haven-footer .haven-footer__social-mobile,
    .haven-final-cta--projects-page + .haven-footer .haven-footer__social-mobile,
    .haven-final-cta--project-detail-page + .haven-footer .haven-footer__social-mobile {
        gap: 16px !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a:nth-child(1),
    .haven-final-cta--about-page + .haven-footer .haven-footer__social-mobile a:nth-child(1),
    .haven-final-cta--projects-page + .haven-footer .haven-footer__social-mobile a:nth-child(1),
    .haven-final-cta--project-detail-page + .haven-footer .haven-footer__social-mobile a:nth-child(1) {
        background-size: 12px 20px !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a:nth-child(2),
    .haven-final-cta--about-page + .haven-footer .haven-footer__social-mobile a:nth-child(2),
    .haven-final-cta--projects-page + .haven-footer .haven-footer__social-mobile a:nth-child(2),
    .haven-final-cta--project-detail-page + .haven-footer .haven-footer__social-mobile a:nth-child(2) {
        background-size: 20px 20px !important;
    }

    .haven-final-cta--request + .haven-footer .haven-footer__social-mobile a:nth-child(3),
    .haven-final-cta--about-page + .haven-footer .haven-footer__social-mobile a:nth-child(3),
    .haven-final-cta--projects-page + .haven-footer .haven-footer__social-mobile a:nth-child(3),
    .haven-final-cta--project-detail-page + .haven-footer .haven-footer__social-mobile a:nth-child(3) {
        background-size: 16px 16px !important;
    }
}

@media (max-width: 767px) {
    .haven-final-cta--about-page {
        margin: 0 !important;
        padding: 80px 0 0 !important;
    }

    .haven-final-cta--about-page > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

@media (max-width: 767px) {
    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open),
    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open)::before {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60px !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open)::before,
    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        background: #e4eef0 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open)::before {
        border-bottom: 1px solid #b6c8cb !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60px !important;
        min-height: 60px !important;
        padding: 16px !important;
        border: 0 !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__menu span {
        width: 23px !important;
        height: 2px !important;
        background: #043034 !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand {
        width: 78.909px !important;
        height: 28px !important;
        flex: 0 0 78.909px !important;
        margin: 0 0 0 16px !important;
        display: block !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        filter: brightness(0) saturate(100%) invert(20%) sepia(33%) saturate(1093%) hue-rotate(141deg) brightness(91%) contrast(96%) !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        left: auto !important;
        z-index: 9999 !important;
        display: block !important;
        width: auto !important;
        min-width: max-content !important;
        height: 20px !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(-50%) !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 20px !important;
        letter-spacing: 0.16px !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang::before,
    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner::after {
        display: none !important;
        content: none !important;
    }
}

@media (max-width: 767px) {
    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open),
    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open)::before {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60px !important;
    }

    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open)::before,
    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        background: #e4eef0 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open)::before {
        border-bottom: 1px solid #b6c8cb !important;
    }

    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60px !important;
        min-height: 60px !important;
        padding: 16px !important;
        border: 0 !important;
    }

    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) .haven-header__menu span {
        width: 23px !important;
        height: 2px !important;
        background: #043034 !important;
    }

    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand {
        width: 78.909px !important;
        height: 28px !important;
        flex: 0 0 78.909px !important;
        margin: 0 0 0 16px !important;
        display: block !important;
    }

    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        filter: brightness(0) saturate(100%) invert(20%) sepia(33%) saturate(1093%) hue-rotate(141deg) brightness(91%) contrast(96%) !important;
    }

    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        left: auto !important;
        z-index: 9999 !important;
        display: block !important;
        width: auto !important;
        min-width: max-content !important;
        height: 20px !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(-50%) !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 20px !important;
        letter-spacing: 0.16px !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang::before,
    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) .haven-header__inner::after {
        display: none !important;
        content: none !important;
    }
}

@media (max-width: 767px) {
    .haven-header--inner:not(.is-menu-open),
    .haven-header--request:not(.is-menu-open),
    .haven-header--inner:not(.is-menu-open)::before,
    .haven-header--request:not(.is-menu-open)::before {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60px !important;
        min-height: 60px !important;
    }

    .haven-header--inner:not(.is-menu-open)::before,
    .haven-header--request:not(.is-menu-open)::before,
    .haven-header--inner:not(.is-menu-open) .haven-header__inner,
    .haven-header--request:not(.is-menu-open) .haven-header__inner {
        background: #e4eef0 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .haven-header--inner:not(.is-menu-open)::before,
    .haven-header--request:not(.is-menu-open)::before {
        border-bottom: 1px solid #b6c8cb !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__inner,
    .haven-header--request:not(.is-menu-open) .haven-header__inner {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60px !important;
        min-height: 60px !important;
        margin: 0 !important;
        padding: 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        border: 0 !important;
        box-sizing: border-box !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__menu,
    .haven-header--request:not(.is-menu-open) .haven-header__menu {
        width: 28px !important;
        height: 28px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        display: flex !important;
        flex: 0 0 28px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4.667px !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__menu span,
    .haven-header--request:not(.is-menu-open) .haven-header__menu span {
        width: 23.333px !important;
        height: 2.333px !important;
        display: block !important;
        flex: 0 0 2.333px !important;
        border-radius: 0 !important;
        background: #043034 !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__brand,
    .haven-header--request:not(.is-menu-open) .haven-header__brand {
        width: 78.909px !important;
        height: 28px !important;
        margin: 0 0 0 16px !important;
        padding: 0 !important;
        display: block !important;
        flex: 0 0 78.909px !important;
        line-height: 0 !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__brand img,
    .haven-header--request:not(.is-menu-open) .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        max-width: none !important;
        display: block !important;
        object-fit: contain !important;
        filter: brightness(0) saturate(100%) invert(20%) sepia(33%) saturate(1093%) hue-rotate(141deg) brightness(91%) contrast(96%) !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--request:not(.is-menu-open) .haven-header__mobile-lang {
        position: fixed !important;
        top: 30px !important;
        right: 16px !important;
        left: auto !important;
        z-index: 9999 !important;
        display: block !important;
        width: auto !important;
        min-width: max-content !important;
        height: 20px !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(-50%) !important;
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: 20px !important;
        letter-spacing: 0.16px !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__actions,
    .haven-header--request:not(.is-menu-open) .haven-header__actions,
    .haven-header--inner:not(.is-menu-open) .haven-header__nav,
    .haven-header--request:not(.is-menu-open) .haven-header__nav {
        display: none !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang::before,
    .haven-header--request:not(.is-menu-open) .haven-header__mobile-lang::before,
    .haven-header--inner:not(.is-menu-open) .haven-header__inner::after,
    .haven-header--request:not(.is-menu-open) .haven-header__inner::after {
        display: none !important;
        content: none !important;
    }
}

@media (max-width: 767px) {
    .haven-final-cta--home {
        margin: 0 !important;
        padding: 80px 0 0 !important;
        background: #075056 !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--home > .haven-container {
        width: 100vw !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .haven-final-cta--home .haven-final-cta__card {
        position: relative !important;
        width: 100vw !important;
        max-width: none !important;
        height: 276px !important;
        min-height: 276px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
        border-radius: 0 !important;
        color: #fff !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--home .haven-final-cta__picture {
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        overflow: hidden !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--home .haven-final-cta__picture::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        display: block !important;
        background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)) !important;
        border-radius: 0 !important;
        pointer-events: none !important;
    }

    .haven-final-cta--home .haven-final-cta__bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        display: block !important;
        object-fit: cover !important;
        object-position: center center !important;
        transform: none !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--home .haven-final-cta__card h2 {
        position: absolute !important;
        top: 74px !important;
        right: 16px !important;
        left: 16px !important;
        z-index: 2 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
    }

    .haven-final-cta--home .haven-final-cta__card .haven-btn {
        position: absolute !important;
        top: auto !important;
        right: auto !important;
        bottom: 32px !important;
        left: 16px !important;
        z-index: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 40px !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #075056 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }

    .haven-final-cta--home .haven-final-cta__card .haven-button-bullet {
        width: 10px !important;
        height: 10px !important;
        flex: 0 0 10px !important;
        border: 1px solid #075056 !important;
        border-radius: 999px !important;
        background: transparent !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
    }

    .haven-final-cta--home .haven-final-cta__card .haven-btn .haven-button-text,
    .haven-final-cta--home .haven-final-cta__card .haven-btn .haven-button-text__inner,
    .haven-final-cta--home .haven-final-cta__card .haven-btn .haven-button-text::after {
        color: #075056 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    .haven-final-cta--home + .haven-footer {
        margin-top: 0 !important;
        padding: 0 24px 0 !important;
        background: #075056 !important;
    }
}

.haven-header__nav-link--call {
    display: none;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-final-cta--home {
        padding: 24px 0px 0 !important;
        background: var(--haven-mist, #e4eef0) !important;
    }

    .haven-header.is-menu-open .haven-header__nav {
        top: calc(303px + env(safe-area-inset-top, 0px)) !important;
        left: 24px !important;
        right: 24px !important;
        width: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .haven-header.is-menu-open .haven-header__nav > a,
    .haven-header.is-menu-open .haven-header__nav-link--call {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: normal !important;
        word-break: break-word !important;
    }

    .haven-header.is-menu-open .haven-header__actions {
        display: contents !important;
    }

    .haven-header.is-menu-open .haven-header__close {
        position: fixed !important;
        top: calc(76px + env(safe-area-inset-top, 0px)) !important;
        right: 24px !important;
        z-index: 4 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 12px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #075056 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    .haven-header.is-menu-open .haven-header__cta {
        display: none !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route .haven-hero__bottom {
        margin: clamp(230px, 30svh, 270px) 0 0 0 !important;
    }
}

@media (max-width: 767px) and (max-height: 720px) {
    body.haven-home-route .haven-hero__bottom {
        margin-top: clamp(150px, 26svh, 190px) !important;
    }
}

/* Uploaded page/project photos should render uncropped on the frontend. */
.haven-page img[src*="/images/haven-content/"],
.haven-page img[src*="/assets/images/haven-content/"],
body.haven-home-route img[src*="/images/haven-content/"],
body.haven-home-route img[src*="/assets/images/haven-content/"] {
    object-fit: contain !important;
    object-position: center center !important;
}

.haven-project-list-page .haven-house-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.haven-project-list-page .haven-house-card__image img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.haven-project-page .haven-plan-stage,
.haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="3d"].active),
.haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="2d"].active) {
    width: 100% !important;
    max-width: calc(680 * var(--hs)) !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}

.haven-project-page .haven-plan-image,
.haven-project-page .haven-plan-image[data-plan="3d"],
.haven-project-page .haven-plan-image[data-plan="2d"] {
    position: static !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: calc(620 * var(--hs)) !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
}

.haven-project-page .haven-plan-image.active {
    display: block !important;
}

.haven-project-page .haven-plan-image:not(.active) {
    display: none !important;
}

/* Final responsive fixes from design QA. */
body.haven-home-route .haven-hero {
    min-height: clamp(680px, 100svh, calc(921 * var(--hs))) !important;
}

body.haven-home-route .haven-hero__picture,
body.haven-home-route .haven-hero__shade {
    min-height: inherit !important;
}

body.haven-home-route .haven-hero__bg {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    object-fit: cover !important;
    object-position: center bottom !important;
}

body.haven-home-route .haven-hero__content {
    min-height: inherit !important;
    padding-top: clamp(96px, calc(80 * var(--hs)), 140px) !important;
    padding-bottom: clamp(42px, calc(52 * var(--hs)), 72px) !important;
    justify-content: space-between !important;
    gap: clamp(32px, 7svh, 96px) !important;
}

body.haven-home-route .haven-hero h1 {
    margin: 0 !important;
    max-width: 100% !important;
    font-size: clamp(72px, 12vw, calc(182 * var(--hs))) !important;
    line-height: 0.92 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
}

body.haven-home-route .haven-hero__title-wrap {
    padding: clamp(16px, calc(32 * var(--hs)), 40px) 0 0 !important;
}

body.haven-home-route .haven-hero__meta {
    gap: 24px !important;
    margin-top: clamp(8px, calc(12 * var(--hs)), 18px) !important;
    font-size: clamp(14px, calc(18 * var(--hs)), 18px) !important;
}

body.haven-home-route .haven-hero__meta > span,
body.haven-home-route .haven-hero__meta strong {
    min-width: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
}

body.haven-home-route .haven-hero__bottom {
    width: min(100%, calc(920 * var(--hs))) !important;
    gap: clamp(20px, calc(36 * var(--hs)), 36px) !important;
}

body.haven-home-route .haven-hero__bottom div,
body.haven-home-route .haven-hero__bottom strong {
    font-size: clamp(34px, 4.25vw, 64px) !important;
    line-height: 1.03 !important;
}

body.haven-home-route .haven-hero__bottom .haven-btn {
    margin-top: 36px !important;
}

.haven-header__nav-link[href$="/about"] {
    color: var(--Background-secondary, #E4EEF0) !important;
}

.haven-header--sticky .haven-header__nav-link[href$="/about"],
body.haven-home-route .haven-header--sticky .haven-header__nav-link[href$="/about"] {
    color: var(--haven-green) !important;
}

@media (max-width: 900px) {
    body.haven-home-route .haven-hero h1 {
        font-size: clamp(56px, 13vw, 104px) !important;
    }

    body.haven-home-route .haven-hero__meta {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 6px !important;
    }

    body.haven-home-route .haven-hero__meta strong {
        text-align: left !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route .haven-hero {
        min-height: 100svh !important;
    }

    body.haven-home-route .haven-hero__content {
        min-height: 100svh !important;
        padding: clamp(84px, 13svh, 120px) 16px clamp(24px, 5svh, 48px) !important;
        justify-content: flex-start !important;
        gap: 0 !important;
    }

    body.haven-home-route .haven-hero h1 {
        width: min(100%, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
        font-size: clamp(52px, 19vw, 88px) !important;
        line-height: 0.96 !important;
        white-space: normal !important;
        word-break: keep-all !important;
    }

    body.haven-home-route .haven-hero__meta {
        width: min(100%, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
    }

    body.haven-home-route .haven-hero__bottom {
        margin-top: clamp(72px, 18svh, 150px) !important;
        gap: clamp(18px, 4svh, 28px) !important;
    }

    body.haven-home-route .haven-hero__bottom div,
    body.haven-home-route .haven-hero__bottom strong {
        font-size: clamp(32px, 9vw, 46px) !important;
    }
}

@media (min-width: 768px) {
    .haven-final-cta--home .haven-final-cta__bg,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
        inset: auto !important;
        left: calc(-0.532 * var(--hs)) !important;
        top: calc(-318.607 * var(--hs)) !important;
        width: calc(1448.883 * var(--hs)) !important;
        height: calc(815 * var(--hs)) !important;
        max-width: none !important;
        object-fit: fill !important;
        transform: none !important;
    }

    .haven-final-cta__card .haven-btn,
    body.haven-home-route .haven-final-cta__card .haven-btn {
        margin-top: 36px !important;
    }

    .haven-footer__copyright span {
        display: block !important;
        color: var(--Text-inverted-inverted, #FFF) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: calc(16 * var(--hs)) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: nowrap !important;
        margin-top: 4px !important;
    }
}

.haven-about-features__list {
    display: flex !important;
    flex: 0 0 calc(760 * var(--hs)) !important;
    width: calc(760 * var(--hs)) !important;
    height: calc(655 * var(--hs)) !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: calc(12 * var(--hs)) !important;
    padding-top: 50px !important;
}

.haven-request-hero__bg {
    object-fit: cover !important;
    object-position: center bottom !important;
}

.haven-project-map__card p strong {
    align-items: flex-start !important;
}

.haven-project-map__card sup {
    display: block !important;
    margin: 0 !important;
    top: -.3em !important;
    font-family: var(--haven-helvetica-font) !important;
    font-size: calc(10 * var(--project-map-scale)) !important;
    font-weight: 700 !important;
    line-height: calc(16 * var(--project-map-scale)) !important;
}

.haven-project-list-page .haven-project-marker span {
    width: calc(0 * var(--project-map-scale)) !important;
    height: calc(0 * var(--project-map-scale)) !important;
    padding: 0 !important;
    font-family: "Dachi The Lynx" !important;
    font-size: calc(20 * var(--project-map-scale)) !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-align: center !important;
    transform: translateY(calc(3 * var(--hs))) !important;
}

/* Hero/header responsive lock: desktop, tablet, and mobile stay proportional. */
body.haven-home-route .haven-hero {
    min-height: 100svh !important;
}

body.haven-home-route .haven-hero__content {
    width: 100% !important;
    max-width: calc(1512 * var(--hs)) !important;
    min-height: 100svh !important;
    padding: clamp(78px, 5.3vw, 92px) clamp(32px, 3.45vw, 52px) clamp(42px, 3.45vw, 58px) !important;
}

body.haven-home-route .haven-hero__title-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: clamp(24px, 2.1vw, 32px) 0 0 !important;
    align-items: stretch !important;
}

body.haven-home-route .haven-hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(118px, 12vw, 182px) !important;
    line-height: 0.92 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-align: left !important;
    transform: none !important;
}

body.haven-home-route .haven-hero__meta {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: clamp(18px, 1.5vw, 26px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(16px, 2vw, 32px) !important;
}

body.haven-home-route .haven-hero__meta > span,
body.haven-home-route .haven-hero__meta strong {
    padding: 0 !important;
    font-size: clamp(15px, 1.2vw, 18px) !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

body.haven-home-route .haven-hero__bottom {
    width: min(100%, 920px) !important;
    margin: 0 !important;
    gap: clamp(24px, 2.4vw, 36px) !important;
}

body.haven-home-route .haven-hero__bottom div,
body.haven-home-route .haven-hero__bottom strong {
    font-size: clamp(42px, 4.25vw, 64px) !important;
    line-height: 1.04 !important;
}

@media (max-width: 1024px) {
    .haven-header:not(.is-menu-open),
    .haven-header:not(.is-menu-open)::before {
        width: 100% !important;
        height: 60px !important;
        min-height: 60px !important;
        --haven-header-height: 60px !important;
    }

    .haven-header:not(.is-menu-open)::before {
        background: transparent !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
    }

    .haven-header--inner:not(.is-menu-open)::before,
    .haven-header--request:not(.is-menu-open)::before {
        background: #e4eef0 !important;
        border-bottom-color: #b6c8cb !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__inner,
    .haven-header--sticky:not(.is-menu-open) .haven-header__inner,
    .haven-header--inner:not(.is-menu-open) .haven-header__inner,
    .haven-header--request:not(.is-menu-open) .haven-header__inner,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__inner {
        width: 100% !important;
        max-width: none !important;
        height: 60px !important;
        min-height: 60px !important;
        margin: 0 !important;
        padding: 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__inner,
    .haven-header--request:not(.is-menu-open) .haven-header__inner {
        background: #e4eef0 !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__menu,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__menu {
        width: 28px !important;
        height: 28px !important;
        padding: 0 !important;
        border: 0 !important;
        display: flex !important;
        flex: 0 0 28px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        order: 0 !important;
        background: transparent !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__menu span,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__menu span {
        width: 23px !important;
        height: 2px !important;
        display: block !important;
        flex: 0 0 2px !important;
        border-radius: 999px !important;
        background: #fff !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__menu span,
    .haven-header--request:not(.is-menu-open) .haven-header__menu span {
        background: #043034 !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__brand,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__brand {
        width: 78.909px !important;
        height: 28px !important;
        margin: 0 0 0 16px !important;
        padding: 0 !important;
        flex: 0 0 78.909px !important;
        display: block !important;
        border: 0 !important;
        line-height: 0 !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__brand img,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        max-width: none !important;
        display: block !important;
        object-fit: contain !important;
        filter: brightness(0) invert(1) !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__brand img,
    .haven-header--request:not(.is-menu-open) .haven-header__brand img {
        filter: brightness(0) saturate(100%) invert(20%) sepia(33%) saturate(1093%) hue-rotate(141deg) brightness(91%) contrast(96%) !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__nav,
    .haven-header:not(.is-menu-open) .haven-header__actions,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__nav,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__actions {
        display: none !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__mobile-lang,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__mobile-lang {
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;
        z-index: 4 !important;
        display: block !important;
        transform: translateY(-50%) !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 20px !important;
        letter-spacing: 0.16px !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--request:not(.is-menu-open) .haven-header__mobile-lang {
        color: #043034 !important;
    }

    body.haven-home-route .haven-hero {
        min-height: 100svh !important;
    }

    body.haven-home-route .haven-hero__content {
        min-height: 100svh !important;
        padding: clamp(84px, 11svh, 112px) 16px clamp(24px, 5svh, 44px) !important;
        justify-content: flex-start !important;
        gap: 0 !important;
    }

    body.haven-home-route .haven-hero__title-wrap {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        align-items: flex-start !important;
    }

    body.haven-home-route .haven-hero h1 {
        width: min(100%, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
        font-size: clamp(74px, 13vw, 118px) !important;
        line-height: 0.96 !important;
        white-space: normal !important;
        text-align: left !important;
    }

    body.haven-home-route .haven-hero__meta {
        width: min(100%, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
        margin-top: 10px !important;
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 6px !important;
    }

    body.haven-home-route .haven-hero__meta > span,
    body.haven-home-route .haven-hero__meta strong {
        font-size: clamp(12px, 1.9vw, 16px) !important;
        white-space: normal !important;
        text-align: left !important;
    }

    body.haven-home-route .haven-hero__bottom {
        width: min(100%, calc(100vw - 32px)) !important;
        margin-top: clamp(72px, 18svh, 150px) !important;
        gap: clamp(18px, 4svh, 28px) !important;
    }

    body.haven-home-route .haven-hero__bottom div,
    body.haven-home-route .haven-hero__bottom strong {
        font-size: clamp(34px, 7vw, 54px) !important;
        line-height: 1.06 !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route .haven-hero h1 {
        font-size: clamp(52px, 19vw, 88px) !important;
    }

    body.haven-home-route .haven-hero__bottom div,
    body.haven-home-route .haven-hero__bottom strong {
        font-size: clamp(32px, 9vw, 46px) !important;
    }
}

/* Align hero copy with the header logo column on tablet and mobile. */
@media (max-width: 1024px) {
    body.haven-home-route {
        --haven-hero-copy-x: 60px;
        --haven-hero-copy-edge: 16px;
    }

    body.haven-home-route .haven-hero__content {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: var(--haven-hero-copy-x) !important;
        padding-right: var(--haven-hero-copy-edge) !important;
    }

    body.haven-home-route .haven-hero__title-wrap,
    body.haven-home-route .haven-hero h1,
    body.haven-home-route .haven-hero__meta,
    body.haven-home-route .haven-hero__bottom {
        width: calc(100vw - var(--haven-hero-copy-x) - var(--haven-hero-copy-edge)) !important;
        max-width: calc(100vw - var(--haven-hero-copy-x) - var(--haven-hero-copy-edge)) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.haven-home-route .haven-hero__meta {
        padding: 0 !important;
    }
}

@media (max-width: 767px) {
    body.haven-home-route {
        --haven-hero-copy-x: 60px;
    }

    body.haven-home-route .haven-hero h1 {
        font-size: clamp(48px, 18vw, 82px) !important;
    }
}

body.haven-home-route .haven-hero__shade {
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)) !important;
}

.haven-header--request .haven-header__nav > a,
.haven-header--request .haven-header__nav-link,
.haven-header--request .haven-header__nav-link[href$="/about"] {
    color: var(--Text-primary, #043034) !important;
}

.haven-selector__cta,
.haven-selector__cta .haven-button-text,
.haven-selector__cta .haven-button-text::after,
.haven-selector__cta .haven-button-text__inner {
    font-family: var(--haven-helvetica-font) !important;
    font-size: calc(16 * var(--hs)) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: calc(0.16 * var(--hs)) !important;
    text-transform: uppercase !important;
}

.haven-request-hero__picture {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: calc(620 * var(--hs)) !important;
    min-height: 620px !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.haven-request-hero__bg {
    position: absolute !important;
    top: -116.28% !important;
    left: 0.03% !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: none !important;
    object-fit: fill !important;
    object-position: center center !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .haven-request-hero__picture {
        height: 445px !important;
        min-height: 0 !important;
    }

    .haven-request-hero__bg {
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
        object-position: center top !important;
    }
}

/* Projects map: open the master image at viewport height while preserving map geometry. */
.haven-project-list-page {
    overflow-x: clip !important;
}

.haven-project-map {
    --project-map-header-space: calc(82 * var(--hs));
    --project-map-height: calc((100svh * var(--site-scale-inverse, 1)) - var(--project-map-header-space));
    --project-map-width: calc(var(--project-map-height) * 1694 / 953);
    --project-map-scale: calc(var(--project-map-width) / 1694);
    left: 50% !important;
    width: max(100%, var(--project-map-width)) !important;
    max-width: none !important;
    height: var(--project-map-height) !important;
    min-height: var(--project-map-height) !important;
    aspect-ratio: 1694 / 953 !important;
    transform: translateX(-50%) !important;
}

.haven-project-map::before,
.haven-project-map::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 4 !important;
    width: min(8vw, 120px) !important;
    pointer-events: none !important;
}

.haven-project-map::before {
    left: 0 !important;
    background: linear-gradient(90deg, rgba(228, 238, 240, 0.28), rgba(228, 238, 240, 0)) !important;
}

.haven-project-map::after {
    right: 0 !important;
    background: linear-gradient(270deg, rgba(228, 238, 240, 0.28), rgba(228, 238, 240, 0)) !important;
}

@media (max-width: 1024px) {
    .haven-project-list-page {
        padding-top: 60px !important;
    }

    .haven-project-map {
        --project-map-header-space: 60px;
        --project-map-height: calc(100svh - var(--project-map-header-space));
        --project-map-width: calc(var(--project-map-height) * 1694 / 953);
    }
}

@media (max-width: 767px) {
    .haven-project-map {
        --project-map-width: 100vw;
        --project-map-height: calc(100vw * 953 / 1694);
        left: auto !important;
        width: 100vw !important;
        height: var(--project-map-height) !important;
        min-height: 0 !important;
        transform: none !important;
    }
}

/* Projects map Figma lock: keep number markers in the 1694x953 design coordinate space. */
@media (min-width: 1025px) {
    .haven-project-list-page {
        padding-top: calc(82px * var(--site-scale-inverse, 1)) !important;
        overflow-x: clip !important;
    }

    .haven-project-map {
        --project-map-scale: calc(1px * var(--site-scale-inverse, 1)) !important;
        left: calc((12.5vw - 45px) * var(--site-scale-inverse, 1)) !important;
        width: calc(1694px * var(--site-scale-inverse, 1)) !important;
        max-width: none !important;
        height: calc(953px * var(--site-scale-inverse, 1)) !important;
        min-height: calc(953px * var(--site-scale-inverse, 1)) !important;
        aspect-ratio: 1694 / 953 !important;
        transform: none !important;
    }

    .haven-project-map__art,
    .haven-project-map__markers,
    .haven-project-map__overlay {
        width: 100% !important;
        height: 100% !important;
    }

    .haven-project-map__art img {
        width: 100% !important;
        height: 100% !important;
        object-fit: fill !important;
        object-position: center center !important;
    }
}

@media (min-width: 1025px) {
    .haven-header:not(.is-menu-open) .haven-header__nav-link--call {
        display: none !important;
    }
}

/* Projects mobile Figma lock: nodes 9:2783 and 9:2857. */
@media (max-width: 767px) {
    .haven-project-list-page {
        width: 100% !important;
        margin: 0 !important;
        padding-top: 60px !important;
        overflow-x: hidden !important;
        background: #e4eef0 !important;
    }

    .haven-project-map {
        --project-map-width: 100vw !important;
        --project-map-height: calc(100vw * 249 / 390) !important;
        --project-map-scale: calc(var(--project-map-width) / 1694) !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        height: var(--project-map-height) !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        aspect-ratio: auto !important;
        overflow: hidden !important;
        transform: none !important;
        background: #e4eef0 !important;
    }

    .haven-project-map::before,
    .haven-project-map::after,
    .haven-project-map__card {
        display: none !important;
    }

    .haven-project-map__art,
    .haven-project-map__markers,
    .haven-project-map__overlay {
        width: 100% !important;
        height: 100% !important;
    }

    .haven-project-map__art img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        display: block !important;
        object-fit: fill !important;
        object-position: center center !important;
    }

    .haven-project-list-page .haven-project-marker,
    .haven-project-list-page .haven-project-marker span {
        width: calc(32 * var(--project-map-scale)) !important;
        height: calc(32 * var(--project-map-scale)) !important;
        min-width: calc(32 * var(--project-map-scale)) !important;
        min-height: calc(32 * var(--project-map-scale)) !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 999px !important;
        background: #fff !important;
        color: #043034 !important;
        font-family: "Dachi The Lynx" !important;
        font-size: calc(18 * var(--project-map-scale)) !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        text-align: center !important;
        transform: none !important;
    }

    .haven-project-list {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 32px 0 64px !important;
        background: #e4eef0 !important;
    }

    .haven-project-list > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 16px !important;
        box-sizing: border-box !important;
    }

    .haven-project-list h1 {
        width: 100% !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 32px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .haven-project-list__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-project-list.has-mobile-selection .haven-house-card,
    .haven-project-list.has-mobile-selection .haven-house-card.is-selected,
    .haven-house-card {
        display: block !important;
    }

    .haven-house-card {
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 16px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #fff !important;
        box-shadow: none !important;
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
        box-sizing: border-box !important;
        scroll-margin-top: 76px !important;
    }

    .haven-house-card.is-selected {
        outline: 1px solid rgba(7, 80, 86, 0.32) !important;
        outline-offset: 0 !important;
    }

    .haven-house-card__image {
        width: 100% !important;
        height: calc((100vw - 64px) * 225 / 326) !important;
        max-height: 225px !important;
        min-height: 0 !important;
        margin: 0 0 16px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 4px !important;
        background: #f2f7f7 !important;
        overflow: hidden !important;
    }

    .haven-house-card__image img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        aspect-ratio: auto !important;
        display: block !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    .haven-house-card__body h2 {
        margin: 0 0 8px !important;
        color: #043034 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: 20px !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    .haven-house-card__price {
        margin: 0 0 14px !important;
        display: flex !important;
        align-items: baseline !important;
        gap: 6px !important;
        color: #043034 !important;
    }

    .haven-house-card__price span,
    .haven-house-card__price strong {
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 28px !important;
        font-style: normal !important;
        font-weight: 800 !important;
        line-height: 34px !important;
        letter-spacing: 0 !important;
    }

    .haven-house-card__metrics {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
        width: 100% !important;
        margin: 0 0 18px !important;
        padding: 14px 0 0 !important;
        border-top: 1px solid #c7d4d6 !important;
    }

    .haven-house-card__metrics span {
        margin: 0 0 3px !important;
        color: #043034 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 15px !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: normal !important;
    }

    .haven-house-card__metrics strong {
        color: #043034 !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 15px !important;
        font-style: normal !important;
        font-weight: 800 !important;
        line-height: 18px !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    .haven-house-card__link {
        width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border: 1px solid #075056 !important;
        border-radius: 4px !important;
        background: #fff !important;
        color: #075056 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        box-sizing: border-box !important;
    }

    .haven-house-card__link span {
        color: #075056 !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }
}

.haven-project-map__card [data-map-card-title] .haven-map-title-hash {
    font-family: var(--haven-helvetica-font), Arial, sans-serif !important;
    font-weight: 400 !important;
    line-height: inherit !important;
    text-transform: none !important;
}

.haven-house-card__body h2 .haven-house-title-hash {
    font-family: var(--haven-helvetica-font), Arial, sans-serif !important;
    font-weight: 400 !important;
    line-height: inherit !important;
    text-transform: none !important;
}

.haven-house-card__body h2 .haven-house-title-number {
    margin-left: 3px !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 0 !important;
    font-family: var(--haven-helvetica-font), Arial, sans-serif !important;
    font-weight: 500 !important;
    line-height: inherit !important;
    text-transform: none !important;
}

@media (max-width: 767px) {
    .haven-project-list-page .haven-house-card__body h2 {
        display: flex !important;
        align-items: baseline !important;
        gap: 2px !important;
        font-size: 17px !important;
        line-height: 21px !important;
    }

    .haven-project-list-page .haven-house-card__body h2 .haven-house-title-number {
        margin-left: 0 !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        line-height: 21px !important;
    }
}

/* Mobile footer CTA parity: keep the same card treatment on every Haven page. */
@media (max-width: 767px) {
    .haven-final-cta--home,
    .haven-final-cta--home.haven-final-cta--about-page,
    .haven-final-cta--home.haven-final-cta--projects-page,
    .haven-final-cta--home.haven-final-cta--request,
    .haven-final-cta--home.haven-final-cta--project-detail-page,
    body.haven-home-route .haven-final-cta--home {
        width: 100% !important;
        margin: 0 !important;
        padding: 24px 16px 0 !important;
        background: var(--haven-mist, #e4eef0) !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--home > .haven-container,
    body.haven-home-route .haven-final-cta--home > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .haven-final-cta--home .haven-final-cta__card,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__card {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 374 / 276 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
        border-radius: 12px !important;
        color: #fff !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--home .haven-final-cta__picture,
    .haven-final-cta--home .haven-final-cta__picture::after,
    .haven-final-cta--home .haven-final-cta__bg,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__picture,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__picture::after,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
        border-radius: 12px !important;
    }
}

/* Projects mobile card exact sizing: Figma node 9:2858. */
@media (max-width: 767px) {
    .haven-project-list-page .haven-house-card {
        position: relative !important;
        width: 100% !important;
        height: 441px !important;
        min-height: 441px !important;
        max-height: 441px !important;
        padding: 16px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .haven-project-list-page .haven-house-card__image {
        position: absolute !important;
        top: 16px !important;
        left: 16px !important;
        width: calc(100% - 32px) !important;
        height: 225px !important;
        max-height: 225px !important;
        margin: 0 !important;
    }

    .haven-project-list-page .haven-house-card__image img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    .haven-project-list-page .haven-house-card__body {
        position: absolute !important;
        top: 257px !important;
        right: 16px !important;
        bottom: 16px !important;
        left: 16px !important;
        display: block !important;
    }

    .haven-project-list-page .haven-house-card__body h2 {
        height: 22px !important;
        margin: 0 0 3px !important;
        overflow: hidden !important;
    }

    .haven-project-list-page .haven-house-card__price {
        height: 34px !important;
        margin: 0 0 10px !important;
    }

    .haven-project-list-page .haven-house-card__metrics {
        height: 44px !important;
        margin: 0 0 18px !important;
        padding: 8px 0 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .haven-project-list-page .haven-house-card__metrics > div {
        min-width: 0 !important;
    }

    .haven-project-list-page .haven-house-card__link {
        height: 38px !important;
        min-height: 38px !important;
    }
}

.haven-project-list-page .haven-project-marker {
    width: calc(40 * var(--project-map-scale)) !important;
    height: calc(40 * var(--project-map-scale)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.haven-project-list-page .haven-project-marker span {
    width: calc(40 * var(--project-map-scale)) !important;
    height: calc(40 * var(--project-map-scale)) !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: var(--Background-white, #FFF) !important;
    color: var(--Text-primary, #043034) !important;
    font-family: "Dachi The Lynx" !important;
    font-size: calc(22 * var(--project-map-scale)) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: none !important;
    padding-top: 6px !important;
}

/* Mobile homepage Figma lock: node 9:1924, adjusted for the browser viewport. */
@media (max-width: 767px) {
    body.haven-home-route {
        background: #e4eef0 !important;
        --haven-mobile-home-width: min(390px, 100vw);
    }

    body.haven-home-route .haven-header:not(.is-menu-open),
    body.haven-home-route .haven-header:not(.is-menu-open)::before {
        top: 0 !important;
        width: 100% !important;
        height: 60px !important;
        min-height: 60px !important;
        --haven-header-height: 60px !important;
    }

    body.haven-home-route .haven-header:not(.is-menu-open)::before {
        background: transparent !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
    }

    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__inner {
        width: 100% !important;
        height: 60px !important;
        min-height: 60px !important;
        padding: 16px !important;
    }

    body.haven-home-route .haven-hero {
        height: 794px !important;
        min-height: 794px !important;
        max-height: none !important;
        overflow: hidden !important;
        background: #043034 !important;
    }

    body.haven-home-route .haven-hero__picture {
        position: absolute !important;
        inset: auto !important;
        top: 3px !important;
        left: 50% !important;
        width: 1417px !important;
        max-width: none !important;
        height: 794px !important;
        min-height: 794px !important;
        transform: translateX(-50%) !important;
        overflow: hidden !important;
    }

    body.haven-home-route .haven-hero__bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: fill !important;
        object-position: center center !important;
        transform: none !important;
    }

    body.haven-home-route .haven-hero__shade {
        position: absolute !important;
        inset: auto 0 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 794px !important;
        min-height: 794px !important;
        background:
            linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)),
            linear-gradient(180deg, rgba(0, 0, 0, 0) 54.534%, rgba(0, 0, 0, 0.8) 100%) !important;
        transform: none !important;
    }

    body.haven-home-route .haven-hero__content {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        height: 794px !important;
        min-height: 794px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        transform: none !important;
    }

    body.haven-home-route .haven-hero__title-wrap {
        position: absolute !important;
        top: 68px !important;
        left: 15px !important;
        width: 360px !important;
        max-width: calc(100vw - 30px) !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        transform: none !important;
    }

    body.haven-home-route .haven-hero h1 {
        width: 360px !important;
        max-width: calc(100vw - 30px) !important;
        margin: 0 !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 96px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: 100px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: uppercase !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        transform: none !important;
    }

    body.haven-home-route .haven-hero__meta {
        width: 360px !important;
        max-width: calc(100vw - 30px) !important;
        margin: 0 !important;
        padding: 0 8px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        color: #fff !important;
        font-size: 12px !important;
        line-height: normal !important;
        letter-spacing: 0.12px !important;
        white-space: nowrap !important;
    }

    body.haven-home-route .haven-hero__meta > span,
    body.haven-home-route .haven-hero__meta strong {
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        font-size: 12px !important;
        line-height: normal !important;
        letter-spacing: 0.12px !important;
        white-space: nowrap !important;
    }

    body.haven-home-route .haven-hero__meta > span {
        flex: 1 1 auto !important;
        font-family: var(--haven-helvetica-font) !important;
        font-weight: 400 !important;
        text-align: left !important;
    }

    body.haven-home-route .haven-hero__meta strong {
        flex: 0 0 auto !important;
        font-family: var(--haven-montserrat-font) !important;
        font-weight: 500 !important;
        text-align: right !important;
        text-transform: none !important;
    }

    body.haven-home-route .haven-hero__bottom {
        position: absolute !important;
        top: 536px !important;
        left: 50% !important;
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 24px !important;
        transform: translateX(-50%) !important;
    }

    body.haven-home-route .haven-hero__bottom > div {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 28px !important;
        font-style: normal !important;
        font-weight: 300 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    body.haven-home-route .haven-hero__bottom > div span,
    body.haven-home-route .haven-hero__bottom > div strong {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
        color: inherit !important;
        font: inherit !important;
        letter-spacing: inherit !important;
        text-align: inherit !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-btn {
        width: 100% !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 6px !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-btn--light {
        border: 1px solid #fff !important;
        background: #fff !important;
        color: #075056 !important;
    }

    body.haven-home-route .haven-hero__bottom > a.haven-hero__mobile-call {
        margin-top: -12px !important;
        border: 1px solid #fff !important;
        background: transparent !important;
        color: #fff !important;
    }

    body.haven-home-route .haven-intro {
        height: 347px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #e4eef0 !important;
    }

    body.haven-home-route .haven-intro__grid {
        width: 100% !important;
        max-width: none !important;
        height: 347px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    body.haven-home-route .haven-logos {
        width: 100% !important;
        height: 171px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 44px 0 !important;
        gap: 40px !important;
        border-bottom: 1px solid #b6c8cb !important;
    }

    body.haven-home-route .haven-intro p:not(.haven-intro__label):not(.haven-section-label) {
        width: 100% !important;
        height: 176px !important;
        margin: 0 !important;
        padding: 37px 16px 44px !important;
        border-bottom: 1px solid #b6c8cb !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route #haven-about.haven-about {
        margin: 0 !important;
        padding: 44px 16px 24px !important;
        background: #e4eef0 !important;
    }

    body.haven-home-route #haven-about > .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.haven-home-route #haven-about .haven-section-label {
        margin: 0 0 16px !important;
    }

    body.haven-home-route #haven-about h2 {
        margin: 0 0 24px !important;
        font-size: 22px !important;
        line-height: normal !important;
        text-align: center !important;
    }
}

@media (max-width: 389px) {
    body.haven-home-route .haven-hero {
        height: 203.589743vw !important;
        min-height: 203.589743vw !important;
    }

    body.haven-home-route .haven-hero__picture {
        top: 0.769231vw !important;
        width: 363.333333vw !important;
        height: 203.589743vw !important;
        min-height: 203.589743vw !important;
    }

    body.haven-home-route .haven-hero__shade,
    body.haven-home-route .haven-hero__content {
        height: 203.589743vw !important;
        min-height: 203.589743vw !important;
    }

    body.haven-home-route .haven-hero__title-wrap {
        top: 17.435897vw !important;
        left: 3.846154vw !important;
        width: 92.307692vw !important;
        max-width: 92.307692vw !important;
    }

    body.haven-home-route .haven-hero h1 {
        width: 92.307692vw !important;
        max-width: 92.307692vw !important;
        font-size: 24.615385vw !important;
        line-height: 25.641026vw !important;
    }

    body.haven-home-route .haven-hero__meta {
        width: 92.307692vw !important;
        max-width: 92.307692vw !important;
        padding-right: 2.051282vw !important;
        padding-left: 2.051282vw !important;
    }

    body.haven-home-route .haven-hero__bottom {
        top: 137.435897vw !important;
        width: 91.794872vw !important;
        max-width: 91.794872vw !important;
        gap: 6.153846vw !important;
    }

    body.haven-home-route .haven-hero__bottom > div {
        font-size: 7.179487vw !important;
    }

    body.haven-home-route .haven-intro,
    body.haven-home-route .haven-intro__grid {
        height: 88.974359vw !important;
    }

    body.haven-home-route .haven-logos {
        height: 43.846154vw !important;
        padding-top: 11.282051vw !important;
        padding-bottom: 11.282051vw !important;
        gap: 10.25641vw !important;
    }

    body.haven-home-route .haven-intro p:not(.haven-intro__label):not(.haven-section-label) {
        height: 45.128205vw !important;
        padding-top: 9.487179vw !important;
        padding-bottom: 11.282051vw !important;
    }
}

/* Mobile menu Figma lock: node 9:2257, without drawing the native iPhone status bar. */
@media (max-width: 767px) {
    body.haven-menu-open {
        overflow: hidden !important;
        background: #075056 !important;
    }

    .haven-header.is-menu-open,
    body.haven-home-route .haven-header.is-menu-open {
        position: fixed !important;
        inset: 0 !important;
        z-index: 9999 !important;
        width: 100vw !important;
        height: 100svh !important;
        min-height: 100svh !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #075056 !important;
        color: #fff !important;
    }

    .haven-header.is-menu-open::before,
    body.haven-home-route .haven-header.is-menu-open::before {
        display: none !important;
        content: none !important;
    }

    .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open .haven-header__inner,
    body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__inner {
        position: static !important;
        width: 100vw !important;
        height: 100svh !important;
        min-height: 100svh !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .haven-header.is-menu-open .haven-header__menu,
    .haven-header.is-menu-open .haven-header__mobile-lang,
    .haven-header.is-menu-open .haven-header__lang,
    .haven-header.is-menu-open .haven-header__cta {
        display: none !important;
    }

    .haven-header.is-menu-open .haven-header__brand,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand {
        position: fixed !important;
        top: calc(24px + env(safe-area-inset-top, 0px)) !important;
        left: 24px !important;
        z-index: 4 !important;
        width: 78.909px !important;
        height: 28px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        transform: none !important;
    }

    .haven-header.is-menu-open .haven-header__brand img,
    body.haven-home-route .haven-header.is-menu-open .haven-header__brand img,
    body.haven-home-route .haven-header.is-menu-open.haven-header--sticky .haven-header__brand img {
        width: 78.909px !important;
        height: 28px !important;
        max-width: none !important;
        display: block !important;
        object-fit: contain !important;
        filter: brightness(0) invert(1) !important;
    }

    .haven-header.is-menu-open .haven-header__actions {
        display: contents !important;
    }

    .haven-header.is-menu-open .haven-header__close {
        position: fixed !important;
        top: calc(24px + env(safe-area-inset-top, 0px)) !important;
        right: 24px !important;
        z-index: 4 !important;
        width: auto !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: uppercase !important;
    }

    .haven-header.is-menu-open .haven-header__nav {
        position: fixed !important;
        top: calc(251px + env(safe-area-inset-top, 0px)) !important;
        left: 24px !important;
        right: 24px !important;
        bottom: auto !important;
        z-index: 3 !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .haven-header.is-menu-open .haven-header__nav > a,
    .haven-header.is-menu-open .haven-header__nav-link--call {
        width: 100% !important;
        min-height: 0 !important;
        height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        border: 0 !important;
        background: transparent !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta {
        position: fixed !important;
        top: calc(586px + env(safe-area-inset-top, 0px)) !important;
        left: 24px !important;
        right: 24px !important;
        bottom: auto !important;
        z-index: 3 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 24px !important;
        color: #fff !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta > div:first-child {
        width: 100% !important;
        min-height: 151px !important;
        margin: 0 !important;
        padding: 24px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
        color: #fff !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta strong {
        margin: 0 !important;
        color: #d9d9d9 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta span,
    .haven-header.is-menu-open .haven-mobile-menu__meta a {
        margin: 0 !important;
        color: #fff !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        letter-spacing: 0 !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom {
        width: 100% !important;
        height: 20px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        border: 0 !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a {
        width: 16px !important;
        height: 16px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        flex: 0 0 16px !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        color: #fff !important;
        font-size: 0 !important;
        line-height: 1 !important;
        background: center / contain no-repeat transparent !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(1) {
        background-image: url("/images/figma/menu-facebook.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(2) {
        background-image: url("/images/figma/menu-instagram.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(3) {
        background-image: url("/images/figma/menu-linkedin.svg") !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(4) {
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        margin-left: auto !important;
        display: block !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
        color: #fff !important;
        font-family: var(--haven-montserrat-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        line-height: normal !important;
        letter-spacing: 0.14px !important;
        white-space: nowrap !important;
        background-image: none !important;
    }
}

@media (max-width: 767px) and (max-height: 760px) {
    .haven-header.is-menu-open .haven-header__nav {
        top: 200px !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__meta {
        top: auto !important;
        bottom: max(20px, env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* Home about title Figma lock: node 9:1971. */
@media (max-width: 767px) {
    body.haven-home-route #haven-about h2 {
        display: block !important;
        width: min(351px, calc(100vw - 32px)) !important;
        max-width: 351px !important;
        min-height: 96px !important;
        margin: 0 0 24px !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 21px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 32px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.haven-home-route #haven-about .haven-about-title__desktop-space {
        display: none !important;
    }

    body.haven-home-route #haven-about .haven-about-title__mobile-break {
        display: inline !important;
    }
}

/* Home consultation title Figma lock: node 9:2095. */
@media (max-width: 767px) {
    body.haven-home-route #haven-contact .haven-consult__heading h2 {
        display: block !important;
        width: min(340px, calc(100vw - 32px)) !important;
        max-width: 340px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 21px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 32px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.haven-home-route #haven-contact .haven-consult-title__desktop-space {
        display: none !important;
    }

    body.haven-home-route #haven-contact .haven-consult-title__mobile-break {
        display: inline !important;
    }
}

@media (min-width: 768px) {
    body.haven-home-route #haven-contact .haven-consult-title__desktop-space {
        display: inline !important;
    }

    body.haven-home-route #haven-contact .haven-consult-title__mobile-break {
        display: none !important;
    }
}

/* Home location title Figma lock: node 9:2062. */
@media (max-width: 767px) {
    body.haven-home-route #haven-location .haven-location__title {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.haven-home-route #haven-location .haven-location__title h2 {
        display: block !important;
        width: min(297px, calc(100vw - 32px)) !important;
        max-width: 297px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
        font-family: var(--haven-display-font) !important;
        font-size: 21px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 32px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        text-transform: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    body.haven-home-route #haven-location .haven-location-title__desktop-space {
        display: none !important;
    }

    body.haven-home-route #haven-location .haven-location-title__mobile-break {
        display: inline !important;
    }
}

@media (min-width: 768px) {
    body.haven-home-route #haven-location .haven-location-title__desktop-space {
        display: inline !important;
    }

    body.haven-home-route #haven-location .haven-location-title__mobile-break {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .haven-button-bullet,
    body.haven-home-route .haven-button-bullet {
        color: #fff !important;
        border-color: #fff !important;
    }
}

/* Projects map viewport fit: show the full master image without vertical scrolling. */
@media (min-width: 1025px) {
    .haven-project-list-page {
        padding-top: calc(56px * var(--site-scale-inverse, 1)) !important;
        overflow-x: clip !important;
    }

    .haven-project-map {
        --project-map-header-space: calc(56px * var(--site-scale-inverse, 1));
        --project-map-height: calc((100svh * var(--site-scale-inverse, 1)) - var(--project-map-header-space));
        --project-map-width: calc(var(--project-map-height) * 1694 / 953);
        --project-map-scale: calc(var(--project-map-width) / 1694) !important;
        left: 50% !important;
        width: var(--project-map-width) !important;
        max-width: none !important;
        height: var(--project-map-height) !important;
        min-height: 0 !important;
        aspect-ratio: 1694 / 953 !important;
        transform: translateX(-50%) !important;
    }

    .haven-project-map__art,
    .haven-project-map__markers,
    .haven-project-map__overlay {
        width: 100% !important;
        height: 100% !important;
    }

    .haven-project-map__art img {
        width: 100% !important;
        height: 100% !important;
        object-fit: fill !important;
        object-position: center center !important;
    }
}

/* Request-call mobile page lock: Figma node 9:2289. */
@media (max-width: 767px) {
    .haven-header--request:not(.is-menu-open),
    .haven-header--request:not(.is-menu-open)::before {
        width: 100% !important;
        height: 60px !important;
        min-height: 60px !important;
        background: transparent !important;
        border-bottom-color: rgba(255, 255, 255, 0.3) !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .haven-header--request:not(.is-menu-open) .haven-header__inner {
        height: 60px !important;
        min-height: 60px !important;
        padding: 16px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .haven-request-page {
        background: #e4eef0 !important;
        color: #043034 !important;
        overflow: hidden !important;
    }

    .haven-request-hero {
        min-height: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .haven-request-hero__picture {
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 445px !important;
        min-height: 445px !important;
    }

    .haven-request-hero__bg {
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
        transform: none !important;
    }

    .haven-request-hero .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 15px !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    .haven-request-hero__content {
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 !important;
        padding-top: 104px !important;
        gap: 8px !important;
    }

    .haven-request-hero h1 {
        width: 100% !important;
        max-width: 360px !important;
        min-height: 64px !important;
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 22px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 32px !important;
        letter-spacing: 0 !important;
        text-align: center !important;
    }

    .haven-request-hero p {
        width: 246px !important;
        max-width: 246px !important;
        min-height: 66px !important;
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: center !important;
    }

    .haven-request-form,
    .haven-request-success {
        width: 100% !important;
        max-width: 360px !important;
        margin: 44px auto 0 !important;
        box-sizing: border-box !important;
    }

    .haven-request-form {
        min-height: 469px !important;
        padding: 16px !important;
        gap: 16px !important;
        border-radius: 8px !important;
        background: #fff !important;
    }

    .haven-request-form label {
        min-height: 64px !important;
        gap: 8px !important;
    }

    .haven-request-form label > span {
        min-height: 14px !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 14px !important;
        text-transform: none !important;
    }

    .haven-request-form input,
    .haven-request-form select {
        height: 42px !important;
        min-height: 42px !important;
        padding: 14px 12px !important;
        border: 1px solid #e9e8e8 !important;
        border-radius: 6px !important;
        background-color: #fafafa !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: normal !important;
    }

    .haven-request-form button {
        height: 39px !important;
        min-height: 39px !important;
        padding: 12px !important;
        border-radius: 6px !important;
        background: #075056 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-request-steps {
        padding: 0 15px 70px !important;
        background: #e4eef0 !important;
        box-sizing: border-box !important;
    }

    .haven-request-steps .haven-consult__cards {
        width: 100% !important;
        max-width: 360px !important;
        min-height: 528px !important;
        margin: 0 auto !important;
        background: transparent !important;
    }

    .haven-request-steps .haven-consult__cards article {
        width: 100% !important;
        min-height: 176px !important;
        padding: 32px 16px !important;
        gap: 8px !important;
        opacity: 1 !important;
        transform: none !important;
        background: transparent !important;
    }

    .haven-request-steps .haven-consult__cards img {
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        opacity: 1 !important;
    }

    .haven-request-steps .haven-consult__cards h3,
    .haven-request-steps .haven-consult__cards p,
    .haven-request-steps .haven-consult__cards p span {
        opacity: 1 !important;
        transform: none !important;
    }

    .haven-final-cta--home.haven-final-cta--request {
        width: 100% !important;
        height: 276px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #e4eef0 !important;
        overflow: visible !important;
    }

    .haven-final-cta--home.haven-final-cta--request > .haven-container {
        width: 374px !important;
        max-width: calc(100vw - 16px) !important;
        height: 276px !important;
        margin: 0 16px 0 0 !important;
        padding: 0 !important;
    }

    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__card {
        width: 100% !important;
        height: 276px !important;
        min-height: 276px !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__picture,
    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__picture::after,
    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        width: min(342px, calc(100vw - 48px)) !important;
        max-width: min(342px, calc(100vw - 48px)) !important;
        font-size: 22px !important;
        line-height: 32px !important;
    }

    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__card .haven-btn {
        left: 16px !important;
        bottom: 37px !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 12px !important;
    }

    .haven-final-cta--request + .haven-footer {
        margin-top: -138px !important;
        padding: 138px 24px 0 !important;
        background: #075056 !important;
    }
}

@media (max-width: 767px) {
    .haven-request-hero {
        padding-bottom: 12px !important;
    }

    .haven-request-form {
        height: 469px !important;
        min-height: 469px !important;
        max-height: 469px !important;
    }

    .haven-request-form label:last-of-type {
        height: 62px !important;
        min-height: 62px !important;
        max-height: 62px !important;
    }

    .haven-request-steps {
        padding-bottom: 61px !important;
    }

    .haven-request-steps .haven-consult__cards article {
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .haven-request-steps .haven-consult__cards p {
        position: absolute !important;
        top: 100px !important;
        right: auto !important;
        bottom: auto !important;
        left: 50% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        color: rgba(14, 43, 46, 0.80) !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        white-space: normal !important;
        transform: translateX(-50%) !important;
    }

    .haven-request-steps .haven-consult__cards img {
        position: absolute !important;
        top: 32px !important;
        right: auto !important;
        bottom: auto !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    .haven-request-steps .haven-consult__cards h3 {
        position: absolute !important;
        top: 72px !important;
        right: auto !important;
        bottom: auto !important;
        left: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        text-align: center !important;
        transform: none !important;
    }

    .haven-request-steps .haven-consult__cards article:nth-child(1) p {
        width: 170px !important;
        max-width: 170px !important;
    }

    .haven-request-steps .haven-consult__cards article:nth-child(2) p {
        width: 234px !important;
        max-width: 234px !important;
    }

    .haven-request-steps .haven-consult__cards article:nth-child(3) p {
        width: 217px !important;
        max-width: 217px !important;
    }

    .haven-request-steps .haven-consult__cards p span {
        display: block !important;
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        text-align: inherit !important;
        white-space: inherit !important;
    }
}

/* About mobile page lock: Figma node 9:3034. */
@media (max-width: 767px) {
    .haven-about-page,
    .haven-about-page .haven-reveal-section,
    .haven-about-page .haven-reveal,
    .haven-about-page [data-haven-motion] {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }

    .haven-about-page {
        background: #e4eef0 !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-container,
    .haven-about-hero .haven-container,
    .haven-about-master .haven-container,
    .haven-story .haven-container,
    .haven-about-features .haven-container,
    .haven-partners .haven-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .haven-about-page .haven-about-hero {
        height: 334px !important;
        min-height: 334px !important;
        margin: 0 !important;
        padding: 92px 16px 0 !important;
        box-sizing: border-box !important;
    }

    .haven-about-page .haven-about-hero__grid {
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
        height: 218px !important;
        min-height: 218px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    .haven-about-page .haven-about-hero h1 {
        width: 216px !important;
        max-width: 216px !important;
        min-height: 92px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 32px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 46px !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .haven-about-page .haven-about-hero p {
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
        min-height: 110px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        text-align: left !important;
    }

    .haven-about-page .haven-about-master {
        height: 264px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-about-page .haven-stat-image,
    .haven-about-page .haven-stat-image img {
        width: 100% !important;
        height: 264px !important;
        max-width: none !important;
        aspect-ratio: auto !important;
        border-radius: 0 !important;
    }

    .haven-about-page .haven-stat-image img {
        object-fit: cover !important;
        object-position: center center !important;
    }

    .haven-about-page .haven-stat-image__stats strong,
    .haven-about-page .haven-stat-image__stats strong:first-child,
    .haven-about-page .haven-stat-image__stats strong:nth-child(2),
    .haven-about-page .haven-stat-image__stats strong:nth-child(3) {
        min-height: 58px !important;
        padding: 0 3px 12px !important;
        font-family: var(--haven-display-font) !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: normal !important;
        white-space: nowrap !important;
    }

    .haven-about-page .haven-story {
        height: 440px !important;
        min-height: 440px !important;
        margin: 40px 0 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-story__grid {
        position: relative !important;
        width: 100% !important;
        height: 440px !important;
        min-height: 440px !important;
        margin: 0 !important;
        padding: 0 16px !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    .haven-about-page .haven-story .haven-section-label {
        position: absolute !important;
        top: 0 !important;
        left: 16px !important;
        width: 358px !important;
        height: 17px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 17px !important;
        text-transform: none !important;
    }

    .haven-about-page .haven-story h2 {
        position: absolute !important;
        top: 33px !important;
        left: 16px !important;
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 20px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 32px !important;
        letter-spacing: 0 !important;
    }

    .haven-about-page .haven-about-story-title__default {
        display: none !important;
    }

    .haven-about-page .haven-about-story-title__mobile {
        display: block !important;
    }

    .haven-about-page .haven-story__copy {
        position: absolute !important;
        top: 113px !important;
        left: 16px !important;
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .haven-about-page .haven-story__copy p {
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
        margin: 0 0 22px !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 160% !important;
    }

    .haven-about-page .haven-story__copy p:nth-of-type(n+2) {
        display: block !important;
    }

    .haven-about-page .haven-story__copy .haven-btn {
        position: absolute !important;
        top: 288px !important;
        left: 0 !important;
        width: 358px !important;
        height: 39px !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 12px !important;
        border-radius: 6px !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }

    .haven-about-page .haven-about-gallery {
        height: 200px !important;
        margin: 35px 0 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-about-gallery__track {
        width: max-content !important;
        height: 200px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        gap: 16px !important;
        transform: translateX(-61px) !important;
    }

    .haven-about-page .haven-about-gallery__item,
    .haven-about-page .haven-about-gallery img,
    .haven-about-page .haven-about-gallery img:nth-child(n+4) {
        width: 160px !important;
        height: 200px !important;
        flex: 0 0 160px !important;
        margin: 0 !important;
        object-fit: cover !important;
        transform: none !important;
    }

    .haven-about-page .haven-about-features {
        height: 768px !important;
        min-height: 768px !important;
        margin: 44px 0 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-about-features__grid {
        height: 768px !important;
        min-height: 768px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .haven-about-page .haven-about-features__image {
        width: 100% !important;
        height: 300px !important;
        margin: 0 0 28px !important;
        display: block !important;
        object-fit: cover !important;
        object-position: center 42% !important;
    }

    .haven-about-page .haven-about-features__list {
        width: 100% !important;
        height: 440px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .haven-about-page .haven-about-features article {
        position: relative !important;
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
        margin: 0 auto !important;
        padding: 16px 0 !important;
        display: block !important;
        border-bottom: 1px solid #b6c8cb !important;
        background: transparent !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-about-features article:nth-child(1),
    .haven-about-page .haven-about-features article:nth-child(3) {
        height: 153px !important;
        min-height: 153px !important;
    }

    .haven-about-page .haven-about-features article:nth-child(2) {
        height: 134px !important;
        min-height: 134px !important;
    }

    .haven-about-page .haven-about-features article img {
        position: absolute !important;
        top: 18px !important;
        left: 0 !important;
        width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    .haven-about-page .haven-about-features article > div {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-about-page .haven-about-features h3 {
        position: absolute !important;
        top: 16px !important;
        left: 32px !important;
        width: 326px !important;
        height: 29px !important;
        margin: 0 !important;
        color: #043034 !important;
        font-family: var(--haven-display-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 29px !important;
        letter-spacing: 0 !important;
    }

    .haven-about-page .haven-about-features p {
        position: absolute !important;
        top: 61px !important;
        left: 0 !important;
        width: 358px !important;
        max-width: 100% !important;
        margin: 0 !important;
        color: #0e2b2e !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 12px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 160% !important;
        letter-spacing: 0 !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-about-features article:nth-child(1) p,
    .haven-about-page .haven-about-features article:nth-child(3) p {
        max-height: 76px !important;
    }

    .haven-about-page .haven-about-features article:nth-child(2) p {
        max-height: 57px !important;
    }

    .haven-about-page .haven-partners {
        height: 127px !important;
        min-height: 127px !important;
        margin: -40px 0 0 !important;
        padding: 20px 0 0 !important;
        background: rgba(255, 255, 255, 0.5) !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-partners__grid {
        width: 100% !important;
        height: 95px !important;
        min-height: 95px !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 32px !important;
    }

    .haven-about-page .haven-partners__grid > .haven-section-label {
        width: 390px !important;
        height: 17px !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: center !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font) !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 17px !important;
        text-transform: none !important;
    }

    .haven-about-page .haven-partners__logos {
        width: 400px !important;
        max-width: none !important;
        height: 26px !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-partners__logos-track {
        width: max-content !important;
        height: 26px !important;
        gap: 74px !important;
        animation: none !important;
        transform: none !important;
    }

    .haven-about-page .haven-partners__logos-track img:nth-child(n+3) {
        display: none !important;
    }

    .haven-about-page .haven-partners img:nth-child(3n + 1) {
        width: 170px !important;
        height: auto !important;
    }

    .haven-about-page .haven-partners img:nth-child(3n + 2) {
        width: 91px !important;
        height: auto !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page {
        width: 100% !important;
        height: 276px !important;
        margin: 64px 0 0 !important;
        padding: 0 !important;
        background: #e4eef0 !important;
        overflow: visible !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page > .haven-container {
        width: 374px !important;
        max-width: calc(100vw - 16px) !important;
        height: 276px !important;
        margin: 0 16px 0 0 !important;
        padding: 0 !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card {
        width: 100% !important;
        height: 276px !important;
        min-height: 276px !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__picture,
    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__picture::after,
    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        width: min(342px, calc(100vw - 48px)) !important;
        max-width: min(342px, calc(100vw - 48px)) !important;
        font-size: 22px !important;
        line-height: 32px !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card .haven-btn {
        left: 16px !important;
        bottom: 37px !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 12px !important;
    }

    .haven-final-cta--about-page + .haven-footer {
        margin-top: -138px !important;
        padding: 138px 24px 0 !important;
        background: #075056 !important;
        min-height: 786px !important;
    }
}

@media (min-width: 768px) {
    .haven-about-story-title__default {
        display: inline !important;
    }

    .haven-about-story-title__mobile {
        display: none !important;
    }
}

/* Mobile final CTA full-width lock: remove side fade/gutters on every Haven page. */
@media (max-width: 767px) {
    .haven-final-cta--home,
    .haven-final-cta--home.haven-final-cta--about-page,
    .haven-final-cta--home.haven-final-cta--projects-page,
    .haven-final-cta--home.haven-final-cta--request,
    .haven-final-cta--home.haven-final-cta--project-detail-page,
    body.haven-home-route .haven-final-cta--home {
        width: 100% !important;
        height: 276px !important;
        min-height: 276px !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #e4eef0 !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--home > .haven-container,
    body.haven-home-route .haven-final-cta--home > .haven-container {
        width: 100% !important;
        max-width: none !important;
        height: 276px !important;
        min-height: 276px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .haven-final-cta--home .haven-final-cta__card,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__card {
        width: 100% !important;
        height: 276px !important;
        min-height: 276px !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    .haven-final-cta--home .haven-final-cta__picture,
    .haven-final-cta--home .haven-final-cta__picture::after,
    .haven-final-cta--home .haven-final-cta__bg,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__picture,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__picture::after,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--home .haven-final-cta__bg,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__bg {
        object-fit: cover !important;
        object-position: center center !important;
    }

    .haven-final-cta--home .haven-final-cta__card h2,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        right: auto !important;
        width: min(342px, calc(100vw - 32px)) !important;
        max-width: min(342px, calc(100vw - 32px)) !important;
        font-size: 22px !important;
        line-height: 32px !important;
        text-align: left !important;
    }

    .haven-final-cta--home .haven-final-cta__card .haven-btn,
    body.haven-home-route .haven-final-cta--home .haven-final-cta__card .haven-btn {
        top: 162px !important;
        right: auto !important;
        bottom: auto !important;
        left: 16px !important;
        height: 39px !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 12px !important;
        border-radius: 6px !important;
    }

    .haven-final-cta--home + .haven-footer {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page > .haven-container,
    .haven-final-cta--home.haven-final-cta--projects-page > .haven-container,
    .haven-final-cta--home.haven-final-cta--request > .haven-container,
    .haven-final-cta--home.haven-final-cta--project-detail-page > .haven-container {
        width: 100% !important;
        max-width: none !important;
        height: 276px !important;
        min-height: 276px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card,
    .haven-final-cta--home.haven-final-cta--projects-page .haven-final-cta__card,
    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__card,
    .haven-final-cta--home.haven-final-cta--project-detail-page .haven-final-cta__card {
        width: 100% !important;
        max-width: none !important;
        height: 276px !important;
        min-height: 276px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__picture,
    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__picture::after,
    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__bg,
    .haven-final-cta--home.haven-final-cta--projects-page .haven-final-cta__picture,
    .haven-final-cta--home.haven-final-cta--projects-page .haven-final-cta__picture::after,
    .haven-final-cta--home.haven-final-cta--projects-page .haven-final-cta__bg,
    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__picture,
    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__picture::after,
    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__bg,
    .haven-final-cta--home.haven-final-cta--project-detail-page .haven-final-cta__picture,
    .haven-final-cta--home.haven-final-cta--project-detail-page .haven-final-cta__picture::after,
    .haven-final-cta--home.haven-final-cta--project-detail-page .haven-final-cta__bg {
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card h2,
    .haven-final-cta--home.haven-final-cta--projects-page .haven-final-cta__card h2,
    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__card h2,
    .haven-final-cta--home.haven-final-cta--project-detail-page .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        right: auto !important;
        width: min(342px, calc(100vw - 32px)) !important;
        max-width: min(342px, calc(100vw - 32px)) !important;
        text-align: left !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card .haven-btn,
    .haven-final-cta--home.haven-final-cta--projects-page .haven-final-cta__card .haven-btn,
    .haven-final-cta--home.haven-final-cta--request .haven-final-cta__card .haven-btn,
    .haven-final-cta--home.haven-final-cta--project-detail-page .haven-final-cta__card .haven-btn {
        top: 162px !important;
        right: auto !important;
        bottom: auto !important;
        left: 16px !important;
        height: 39px !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 12px !important;
        border-radius: 6px !important;
    }
}

/* Project detail mobile lock: Figma node 9:2455. */
@media (max-width: 767px) {
    .haven-project-page .haven-selector {
        padding: 92px 16px 68px !important;
    }

    .haven-project-page .haven-selector__card {
        width: 358px !important;
        max-width: calc(100vw - 32px) !important;
        height: 1177px !important;
        min-height: 1177px !important;
        max-height: 1177px !important;
        margin: 0 auto !important;
        padding: 16px !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector__content {
        height: 968px !important;
        min-height: 968px !important;
        max-height: 968px !important;
    }

    .haven-project-page .haven-selector__visual {
        width: 326px !important;
        height: 331px !important;
        min-height: 331px !important;
        max-height: 331px !important;
        overflow: visible !important;
    }

    .haven-project-page .haven-plan-stage,
    .haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="3d"].active),
    .haven-project-page .haven-plan-stage:has(.haven-plan-image[data-plan="2d"].active) {
        width: 294px !important;
        max-width: 294px !important;
        height: 279px !important;
        min-height: 279px !important;
        max-height: 279px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        background: transparent !important;
    }

    .haven-project-page .haven-plan-image,
    .haven-project-page .haven-plan-image[data-plan="3d"],
    .haven-project-page .haven-plan-image[data-plan="2d"] {
        position: static !important;
        width: 294px !important;
        max-width: 294px !important;
        height: 279px !important;
        max-height: 279px !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    .haven-project-page .haven-plan-image.active {
        display: block !important;
    }

    .haven-project-page .haven-plan-image:not(.active) {
        display: none !important;
    }

    .haven-project-page .haven-plan-switch {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        width: 94px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 12px auto 0 !important;
        padding: 4px !important;
        gap: 0 !important;
        overflow: visible !important;
        border-radius: 6px !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    .haven-project-page .haven-plan-switch button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 43px !important;
        width: 43px !important;
        height: 32px !important;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 4px !important;
        line-height: 1 !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    .haven-project-page .haven-plan-switch button.active {
        border-radius: 4px !important;
    }

    .haven-project-page .haven-selector__mobile-details .haven-selector__cta {
        margin-top: 24px !important;
    }

    .haven-project-page .haven-selector__mobile-details .haven-project-specs {
        height: 268px !important;
        min-height: 268px !important;
        max-height: 268px !important;
        margin-top: 28px !important;
        gap: 12px !important;
    }

    .haven-project-page .haven-project-specs div {
        min-height: 28px !important;
        grid-template-columns: 28px 1fr auto !important;
        gap: 12px !important;
    }

    .haven-project-page .haven-project-specs img {
        width: 28px !important;
        height: 28px !important;
    }
}

/* Mobile/tablet header should scroll away instead of sticking. */
@media (max-width: 1024px) {
    .haven-header:not(.is-menu-open),
    .haven-header--inner:not(.is-menu-open),
    .haven-header--request:not(.is-menu-open),
    body.haven-home-route .haven-header:not(.is-menu-open),
    body.haven-home-route .haven-header--sticky:not(.is-menu-open),
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open),
    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open),
    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        bottom: auto !important;
        transform: none !important;
        opacity: 1 !important;
        animation: none !important;
    }

    .haven-header:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang,
    .haven-header--request:not(.is-menu-open) .haven-header__mobile-lang,
    body.haven-home-route .haven-header:not(.is-menu-open) .haven-header__mobile-lang,
    html:has(.haven-about-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang,
    html:has(.haven-project-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang,
    html:has(.haven-project-list-page) .haven-header--inner:not(.is-menu-open) .haven-header__mobile-lang {
        position: absolute !important;
    }

    .haven-header.is-menu-open,
    body.haven-home-route .haven-header.is-menu-open {
        position: fixed !important;
    }
}

/* Consultation CTA and mobile menu bottom polish. */
@media (max-width: 767px) {
    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card h2,
    .haven-final-cta--home.haven-final-cta--project-detail-page .haven-final-cta__card h2 {
        display: block !important;
        height: 64px !important;
        min-height: 64px !important;
        max-height: 64px !important;
        line-height: 32px !important;
        gap: 0 !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card h2 span,
    .haven-final-cta--home.haven-final-cta--project-detail-page .haven-final-cta__card h2 span {
        display: block !important;
        height: 32px !important;
        line-height: 32px !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card .haven-btn,
    .haven-final-cta--home.haven-final-cta--project-detail-page .haven-final-cta__card .haven-btn {
        top: 174px !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom {
        width: 100% !important;
        height: auto !important;
        min-height: 28px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 20px !important;
        overflow: visible !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        flex: 0 0 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        background-size: 20px 20px !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        transform: none !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(4) {
        width: auto !important;
        height: 24px !important;
        min-width: 0 !important;
        min-height: 24px !important;
        margin-left: auto !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        color: #fff !important;
        font-size: 14px !important;
        line-height: 24px !important;
        background: none !important;
    }
}

/* Keep uploaded hero photos clean: no edge vignette or corner fading. */
body.haven-home-route .haven-hero__shade {
    background: rgba(0, 0, 0, 0.46) !important;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-hero__shade {
        background: rgba(0, 0, 0, 0.46) !important;
    }
}

/* About page consultation CTA: match request-page mobile spacing without text overlap. */
@media (max-width: 767px) {
    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card h2 {
        top: 74px !important;
        left: 16px !important;
        right: auto !important;
        width: min(342px, calc(100vw - 32px)) !important;
        max-width: min(342px, calc(100vw - 32px)) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 2px !important;
        font-size: 22px !important;
        line-height: 1.28 !important;
        text-align: left !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card h2 span {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        line-height: 1.28 !important;
    }

    .haven-final-cta--home.haven-final-cta--about-page .haven-final-cta__card .haven-btn {
        top: auto !important;
        right: auto !important;
        bottom: 37px !important;
        left: 16px !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 12px !important;
    }
}

/* Partners strip: keep labels branded and logos moving continuously. */
.haven-partners__grid .haven-section-label > span,
.haven-logos .haven-section-label > span,
.haven-intro p.haven-section-label.haven-intro__label > span {
    font-family: var(--haven-display-font) !important;
    text-transform: uppercase !important;
}

.haven-logos {
    overflow: hidden !important;
}

.haven-logos__track {
    width: max-content !important;
    min-width: max-content !important;
    display: flex !important;
    align-items: center !important;
    gap: calc(44 * var(--hs)) !important;
    animation: havenIntroLogosScroll 16s linear infinite !important;
    will-change: transform !important;
}

.haven-logos:hover .haven-logos__track {
    animation-play-state: running !important;
}

@keyframes havenIntroLogosScroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - calc(22 * var(--hs))));
    }
}

.haven-partners__logos {
    overflow: hidden !important;
}

.haven-partners__logos-track {
    width: max-content !important;
    min-width: max-content !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: calc(63 * var(--hs)) !important;
    animation: havenPartnersLogosScroll 16s linear infinite !important;
    will-change: transform !important;
}

.haven-partners:hover .haven-partners__logos-track {
    animation-play-state: running !important;
}

@keyframes havenPartnersLogosScroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - calc(31.5 * var(--hs))));
    }
}

@media (min-width: 768px) {
    .haven-about-page .haven-partners__logos-track {
        animation: havenPartnersLogosScroll 16s linear infinite !important;
    }
}

/* Production hero photo must cover the full desktop viewport, not the 1512px content width. */
@media (min-width: 768px) {
    body.haven-home-route .haven-hero {
        width: 100% !important;
        max-width: none !important;
        overflow: hidden !important;
    }

    body.haven-home-route .haven-hero__picture,
    body.haven-home-route .haven-hero__shade {
        position: absolute !important;
        inset: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 100% !important;
        transform: none !important;
    }

    body.haven-home-route .haven-hero__bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 100% !important;
        object-fit: cover !important;
        object-position: center bottom !important;
        transform: none !important;
    }
}

/* Final full-bleed guard: uploaded hero images must reach the viewport edges. */
@media (min-width: 768px) {
    body.haven-home-route main,
    body.haven-home-route .haven-home {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body.haven-home-route .haven-hero {
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    html.site-scale-80 body.haven-home-route .haven-hero {
        left: 50% !important;
        width: 125vw !important;
        margin-left: -62.5vw !important;
        margin-right: 0 !important;
    }

    body.haven-home-route .haven-hero__picture,
    body.haven-home-route .haven-hero__shade {
        width: 100% !important;
        max-width: none !important;
        right: auto !important;
        left: 0 !important;
    }

    body.haven-home-route .haven-hero__bg {
        width: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}

body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label > span {
    color: var(--Text-primary, #043034) !important;
    font-family: var(--haven-caps-font) !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
}

@media (max-width: 767px) {
    body.haven-home-route .haven-intro p.haven-section-label.haven-intro__label > span {
        color: var(--Text-primary, #043034) !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: normal !important;
        text-transform: uppercase !important;
    }
}

/* Uploaded home hero: paint the real image as a viewport-wide layer. */
@media (min-width: 768px) {
    body.haven-home-route .haven-hero {
        overflow: visible !important;
        background: transparent !important;
    }

    body.haven-home-route .haven-hero::before {
        content: "" !important;
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 50% !important;
        z-index: 0 !important;
        width: 100vw !important;
        margin-left: -50vw !important;
        background-image: var(--haven-hero-image) !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        pointer-events: none !important;
    }

    html.site-scale-80 body.haven-home-route .haven-hero::before {
        width: 125vw !important;
        margin-left: -62.5vw !important;
    }

    body.haven-home-route .haven-hero__picture {
        opacity: 0 !important;
    }

    body.haven-home-route .haven-hero__shade,
    body.haven-home-route .haven-hero__content {
        z-index: 1 !important;
    }

    body.haven-home-route .haven-hero__content {
        z-index: 2 !important;
    }
}

/* Projects mobile titles: keep house numbers on one clean baseline. */
@media (max-width: 767px) {
    .haven-project-list-page .haven-house-card__body h2 {
        display: block !important;
        height: 24px !important;
        margin: 0 0 2px !important;
        overflow: hidden !important;
        color: #043034 !important;
        font-family: var(--haven-caps-font) !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 24px !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .haven-project-list-page .haven-house-card__body h2 .haven-house-title-number {
        display: inline-block !important;
        margin-left: 1px !important;
        color: #043034 !important;
        font-family: var(--haven-helvetica-font), Arial, sans-serif !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        line-height: 24px !important;
        vertical-align: baseline !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    .haven-project-list-page .haven-house-card__body h2 .haven-house-title-hash {
        display: inline !important;
        font-family: inherit !important;
        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;
        vertical-align: baseline !important;
    }
}

/* Projects mobile map markers: keep numbers optically centered inside circles. */
@media (max-width: 767px) {
    .haven-project-list-page .haven-project-marker {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
    }

    .haven-project-list-page .haven-project-marker span {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        line-height: 1 !important;
        transform: translateY(0) !important;
    }
}

/* Deleted admin images should disappear on the public site, not render as blank boxes. */
.haven-home img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="],
.haven-page img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="],
.haven-request-page img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="],
.haven-final-cta img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="],
.haven-footer img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="] {
    display: none !important;
}

.haven-benefit__images img,
body.haven-home-route #haven-about .haven-benefit__images img {
    object-position: center 62% !important;
}

.haven-hero__bottom > .haven-hero__bottom-text,
body.haven-home-route .haven-hero__bottom > .haven-hero__bottom-text {
    align-self: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--Text-inverted-inverted, #FFF) !important;
    font-family: "Helvetica Neue", var(--haven-helvetica-font), Arial, sans-serif !important;
    font-size: 64px !important;
    font-style: normal !important;
    font-weight: 300 !important;
    line-height: normal !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

@media (max-width: 767px) {
    .haven-hero__bottom > .haven-hero__bottom-text,
    body.haven-home-route .haven-hero__bottom > .haven-hero__bottom-text {
        width: 100% !important;
        font-size: 28px !important;
    }
}

@media (max-width: 767px) {
    .haven-header.is-menu-open .haven-mobile-menu__bottom a {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        flex: 0 0 24px !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        transform: none !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(1) {
        background-size: 11px 22px !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(2),
    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(3) {
        background-size: 20px 20px !important;
    }

    .haven-header.is-menu-open .haven-mobile-menu__bottom a:nth-child(4) {
        width: auto !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
    }
}

.haven-home picture:has(img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="]),
.haven-page picture:has(img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="]),
.haven-request-page picture:has(img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="]),
.haven-final-cta picture:has(img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="]),
.haven-benefit__images a:has(img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="]),
.haven-about-gallery__item:has(img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="]),
.haven-masterplan a:has(> img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="]),
.haven-location__map:has(> img[src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="]) {
    display: none !important;
}

/* Final alignment fixes for project detail and about mobile views. */
@media (min-width: 768px) {
    .haven-project-page .haven-selector > .haven-container {
        display: flex !important;
        justify-content: center !important;
    }

    .haven-project-page .haven-selector__card {
        margin-inline: auto !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector__content {
        justify-content: center !important;
        padding-left: calc(24 * var(--hs)) !important;
        padding-right: calc(24 * var(--hs)) !important;
        box-sizing: border-box !important;
    }
}

.haven-project-page .haven-project-metrics strong,
.haven-project-page [data-project-field="price_per_m2"] {
    font-family: Arial, var(--haven-helvetica-font), sans-serif !important;
    font-variant-numeric: tabular-nums !important;
    font-feature-settings: "tnum" 1 !important;
}

.haven-about-page .haven-stat-image img,
.haven-about-page .haven-about-features__image {
    object-fit: contain !important;
    object-position: center center !important;
    background: #e4eef0 !important;
}

.haven-about-page .haven-story__copy .haven-btn {
    align-self: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.haven-project-page .haven-selector__cta .haven-button-text {
    height: 1.25em !important;
    line-height: 1.25 !important;
    top: 0 !important;
    overflow: hidden !important;
}

.haven-project-page .haven-selector__cta .haven-button-text__inner,
.haven-project-page .haven-selector__cta .haven-button-text::after {
    line-height: 1.25 !important;
}

@media (max-width: 767px) {
    .haven-header.is-menu-open .haven-header__close {
        top: calc(34px + env(safe-area-inset-top, 0px)) !important;
    }

    .haven-project-page .haven-selector__card,
    .haven-project-page .haven-selector__content,
    .haven-project-page .haven-selector__visual,
    .haven-project-page .haven-selector__info {
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .haven-project-page .haven-selector__content,
    .haven-project-page .haven-selector__visual {
        align-items: center !important;
    }

    .haven-about-page .haven-story__copy .haven-btn {
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    .haven-about-page .haven-partners {
        height: auto !important;
        min-height: 0 !important;
        margin: 32px 0 0 !important;
        padding: 24px 16px !important;
        overflow: visible !important;
        background: rgba(255, 255, 255, 0.5) !important;
        box-sizing: border-box !important;
    }

    .haven-about-page .haven-partners__grid {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 20px !important;
    }

    .haven-about-page .haven-partners__grid > .haven-section-label,
    .haven-about-page .haven-partners__grid > .haven-section-label > span {
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: center !important;
        color: #043034 !important;
        opacity: 1 !important;
        visibility: visible !important;
        text-align: center !important;
    }

    .haven-about-page .haven-partners__logos {
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .haven-about-page .haven-partners__logos-track {
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 36px !important;
        transform: none !important;
        animation: none !important;
    }

    .haven-project-list-page .haven-house-card__link .haven-button-bullet {
        color: #075056 !important;
        border-color: #075056 !important;
        background: transparent !important;
    }

    .haven-project-list-page .haven-house-card__link:hover .haven-button-bullet {
        border-color: #fff !important;
        background: #fff !important;
    }
}

/* Mobile home hero: keep the title/meta block centered with equal side gutters. */
@media (max-width: 767px) {
    body.haven-home-route .haven-hero__title-wrap {
        width: 100% !important;
        max-width: calc(100vw - 32px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    body.haven-home-route .haven-hero h1 {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    body.haven-home-route .haven-hero__meta {
        width: 358px !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        justify-content: space-between !important;
        box-sizing: border-box !important;
    }
}
