.card--team .card__image,.card--team .card__minus,.card--team .card__text,.tooltip,.tooltip__animation {
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(.7,0,.3,1)
}

.tooltip--feature,.tooltip--pin {
    --fos: -0.11em;
    --foe: -0.19em;
    --lh: var(--xxxl,1.28571em) var(--n-xxxl,var(--xxl,1.27273em) var(--n-xxl,1.33333em));
    font-family: TT Norms Pro,Helvetica,Arial,sans-serif;
    font-size: var(--xxxl,calc(var(--scale-text-rem) * 1.4)) var(--n-xxxl,var(--xxl,calc(var(--scale-text-rem) * 1.1)) var(--n-xxl,calc(var(--scale-text-rem) * .9)));
    font-weight: 450;
    letter-spacing: .04em;
    line-height: var(--lh);
    text-transform: uppercase
}

.is-win .tooltip--feature,.is-win .tooltip--pin {
    --fos: -0.11em;
    --foe: -0.19em
}

.sticky {
    --sticky-under-previous-distance: 100svh;
    --sticky-under-next-distance: 100svh;
    --sticky-min-height: 100svh;
    display: grid;
    grid-auto-rows: 1fr;
    grid-template-areas: "sticky_content";
    grid-template-columns: 1fr;
    grid-template-rows: auto
}

.sticky__layer {
    align-self: start;
    grid-area: sticky_content;
    min-width: 0;
    position: relative
}

.sticky__layer:has(>.row:only-child) {
    pointer-events: none
}

.sticky__layer:has(>.row:only-child)>.row>.col {
    pointer-events: all
}

.sticky__layer--top {
    position: relative;
    z-index: 1
}

.sticky__layer--sticky {
    contain: content;
    position: sticky;
    top: 0
}

.has-scroll-smooth .sticky__layer--sticky {
    contain: unset;
    position: relative
}

.sticky__spacer {
    height: 100svh
}

.sticky--under-previous {
    margin-top: calc(var(--sticky-under-previous-distance) * -1);
    position: relative
}

.sticky--under-previous .sticky__layer:where(:not(.sticky__layer--sticky)) {
    margin-bottom: calc(var(--sticky-under-previous-distance) * -1);
    padding-top: var(--sticky-under-previous-distance)
}

.sticky--under-previous:after {
    content: "";
    display: block;
    height: calc(var(--sticky-min-height) - 100svh + var(--sticky-under-previous-distance))
}

.sticky--under-next {
    margin-bottom: calc(var(--sticky-under-next-distance) * -1);
    position: relative
}

.sticky--under-next .sticky__layer:where(:not(.sticky__layer--sticky)) {
    margin-bottom: calc(var(--sticky-under-next-distance) * -1)
}

.sticky--under-next:after {
    content: "";
    display: block;
    height: calc(var(--sticky-min-height) - 100svh + var(--sticky-under-next-distance))
}

.sticky--under-previous.sticky--under-next .sticky__layer--sticky {
    max-height: 200svh
}

.sticky--under-previous.sticky--under-next:after {
    height: calc(var(--sticky-min-height) - 100svh + var(--sticky-under-previous-distance) + var(--sticky-under-next-distance))
}

.sticky--under-next+.sticky--under-previous {
    clip-path: inset(100svh 0 0);
    margin-top: calc(var(--sticky-under-previous-distance) * -1 + var(--sticky-under-next-distance) * -1)
}

.sticky--under-next+.sticky--under-previous,.sticky--under-next+.sticky--under-previous _::-webkit-full-page-media,.sticky--under-next+.sticky--under-previous _:future {
    transform: translateZ(1px)
}

.sticky--full-height,.sticky--full-height .sticky__layer {
    min-height: 100svh
}

.sticky--full-height .sticky__layer--sticky {
    height: 100svh
}

.sticky--full-height--scroll-through {
    --sticky-min-height: 133svh
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .sticky\:md-up {
        display:block
    }

    .sticky\:md-up .sticky__layer--sticky {
        position: relative
    }

    .sticky\:md-up:where(.sticky--full-height),.sticky\:md-up:where(.sticky--full-height) .sticky__layer {
        min-height: 0
    }

    .sticky\:md-up:where(.sticky--full-height) .sticky__layer--sticky {
        height: auto
    }

    :where(.sticky--under-next)+.sticky\:md-up.sticky--under-previous {
        clip-path: none;
        margin-top: 0;
        transform: none
    }

    .sticky\:md-up:where(.sticky--under-previous) {
        margin-top: 0
    }

    .sticky\:md-up:where(.sticky--under-previous) .sticky__layer:where(:not(.sticky__layer--sticky)) {
        margin-bottom: 0;
        padding-top: 0
    }

    .sticky\:md-up:where(.sticky--under-previous):after {
        display: none
    }

    .sticky\:md-up:where(.sticky--under-next) {
        margin-bottom: 0
    }

    .sticky\:md-up:where(.sticky--under-next) .sticky__layer:where(:not(.sticky__layer--sticky)) {
        margin-bottom: 0
    }

    .sticky\:md-up:where(.sticky--under-next):after {
        display: none
    }

    .sticky\:md-up:where(.sticky--under-previous.sticky--under-next) .sticky__layer--sticky {
        max-height: none
    }
}

.parallax-image-move {
    overflow: hidden
}

.parallax-image-move img {
    display: block;
    margin-bottom: -16.66667%;
    -o-object-fit: cover;
    object-fit: cover;
    position: relative
}

.parallax-image-move.background--cover img {
    height: 120%;
    margin-bottom: 0
}

.parallax-image-move.background--top-cover img {
    height: var(--md,120%) var(--n-md,auto);
    margin-bottom: 0
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .sticky-slider .parallax-image-move img {
        height:auto;
        margin-bottom: 0;
        margin-right: var(--md,-16.66667%) var(--n-md,0);
        width: 120%
    }

    .sticky-slider .parallax-image-move.background--cover img,.sticky-slider .parallax-image-move.background--top-cover img {
        height: auto;
        width: 120%
    }
}

.background {
    left: 0;
    overflow: hidden;
    overflow: clip;
    position: absolute;
    top: 0
}

.background iframe {
    pointer-events: none
}

.background _::-webkit-full-page-media,.background _:future,.background:has(iframe):after {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.background img,img.background {
    display: block;
    height: auto;
    width: 100%
}

.background--top {
    width: 100%
}

.background--bottom {
    bottom: 0;
    top: auto;
    width: 100%
}

.background--cover {
    --iframe-width: 100vw;
    --iframe-height: 100svh;
    height: 100%;
    width: 100%
}

.background--cover img,.background--cover video,img.background--cover,video.background--cover {
    aspect-ratio: unset;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%
}

.background--cover iframe {
    aspect-ratio: unset;
    height: max(100%,calc(var(--iframe-width) / var(--ratio)));
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: max(100%,calc(var(--iframe-height) * var(--ratio)))
}

.background--cover.background--scroll-through,.sticky--full-height--scroll-through .sticky__layer--sticky>.background--cover {
    --iframe-height: 105.7143svh;
    height: 105.7143%
}

.background--cover.background--scroll-through .background--cover,.sticky--full-height--scroll-through .sticky__layer--sticky>.background--cover .background--cover {
    --iframe-height: 105.7143svh
}

.sticky--full-height--scroll-through:where(.sticky--under-previous) .sticky__layer--sticky>.background--cover {
    top: -5.7143%
}

.sticky--full-height--scroll-through:where(.sticky--under-previous.sticky--under-next) .sticky__layer--sticky>.background--cover {
    top: -2.85715%
}

.content-animation {
    position: relative;
    z-index: 0
}

.content-animation [data-content-animation-item] {
    left: 0;
    position: relative;
    top: 0
}

.content-animation [data-content-animation-item]:not(.col) {
    min-width: 100%
}

.content-animation .mobile-scrollable__item[data-content-animation-item]:not(.col) {
    min-width: var(--md,100%) var(--n-md,unset)
}

.group>.content-animation {
    flex-grow: 1
}

.content-animation.content-animation--ready [data-content-animation-item] {
    position: absolute
}

.content-animation.content-animation--ready [data-content-animation-top] {
    position: relative
}

.content-animation.content-animation--ready [data-content-animation-top]~[data-content-animation-top] {
    position: absolute
}

.content-animation--bottom {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}

.content-animation--bottom [data-content-animation-item] {
    bottom: 0;
    top: auto
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .content-animation--bottom\:md {
        align-items:stretch;
        display: flex;
        flex-direction: column;
        justify-content: flex-end
    }

    .content-animation--bottom\:md [data-content-animation-item] {
        bottom: 0;
        top: auto
    }
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .content-animation--bottom\:xs {
        align-items:stretch;
        display: flex;
        flex-direction: column;
        justify-content: flex-end
    }

    .content-animation--bottom\:xs [data-content-animation-item] {
        bottom: 0;
        top: auto
    }
}

.content-animation--center {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.content-animation--center [data-content-animation-item] {
    top: auto
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .content-animation--center\:md {
        align-items:stretch;
        display: flex;
        flex-direction: column;
        justify-content: center
    }

    .content-animation--center\:md [data-content-animation-item] {
        top: auto
    }
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .content-animation--center\:xs {
        align-items:stretch;
        display: flex;
        flex-direction: column;
        justify-content: center
    }

    .content-animation--center\:xs [data-content-animation-item] {
        top: auto
    }
}

.content-animation--cover {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.content-animation--cover [data-content-animation-item] {
    height: 100%;
    width: 100%
}

.content-animation--no-overflow {
    overflow: hidden
}

.content-animation--no-overflow.mobile-scrollable {
    overflow-x: var(--md,hidden) var(--n-md,scroll)
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .mobile-scrollable {
        --scrollable-item-width:calc(100vw - var(--spacing) * 6);
        --scrollable-item-gap: calc(var(--spacing));
        --scrollable-side-gap: 0px;
        --_side-offset: calc(50vw - var(--container-content-width) / 2);
        display: flex;
        flex-wrap: nowrap;
        gap: var(--scrollable-item-gap)!important;
        margin: 0 calc(var(--_side-offset) * -1);
        overflow-x: scroll;
        overflow-y: hidden;
        padding: 0 0 0 calc(var(--scrollable-side-gap) + var(--_side-offset));
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        width: 100vw
    }

    .mobile-scrollable::-webkit-scrollbar {
        display: none
    }

    .mobile-scrollable:after {
        content: "";
        display: block;
        flex: 0 0 calc(var(--scrollable-side-gap) + var(--_side-offset));
        height: 1px;
        margin-left: calc(var(--scrollable-item-gap) * -1);
        position: relative;
        width: calc(var(--scrollable-side-gap) + var(--_side-offset))
    }

    .mobile-scrollable .mobile-scrollable__item {
        flex: 0 0 var(--scrollable-item-width);
        scroll-snap-align: center;
        width: var(--scrollable-item-width)
    }

    .mobile-scrollable .mobile-scrollable__item[data-content-animation-item].is-hidden {
        display: block!important
    }

    .mobile-scrollable.mobile-scrollable--center {
        --scrollable-side-gap: calc((100vw - var(--scrollable-item-width)) / 2)
    }

    .mobile-scrollable.mobile-scrollable--auto {
        --scrollable-item-width: auto
    }

    .mobile-scrollable.mobile-scrollable--auto .mobile-scrollable__item {
        scroll-snap-align: unset
    }
}

.carousel {
    --item-spacing: var(--spacing);
    position: relative
}

.carousel__list__inner {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    cursor: grab;
    display: flex;
    position: relative;
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.carousel__list__inner:before {
    content: "";
    height: 100%;
    left: -1000px;
    position: absolute;
    right: -1000px
}

.carousel__list__inner[data-keen-slider-moves] {
    cursor: grabbing
}

.carousel__list__inner[data-keen-slider-moves] * {
    pointer-events: none
}

.carousel__list__item {
    max-width: 100%;
    min-width: 100%;
    position: relative;
    width: 100%
}

.no-js .carousel__nav {
    opacity: 0;
    pointer-events: none
}

.carousel__counter {
    bottom: var(--spacing);
    left: 50%;
    position: absolute;
    transform: translateX(-50%)
}

.carousel:not(.carousel--md-up) .carousel__list__inner {
    margin-left: calc(var(--item-spacing) * -1)
}

.carousel:not(.carousel--md-up) .carousel__list__item {
    margin-left: 0;
    padding-left: var(--item-spacing)
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .carousel--md-up .carousel__list__inner {
        touch-action:auto
    }

    .carousel--md-up .carousel__list__inner:before {
        display: none
    }

    .carousel--md-up .carousel__list__item {
        min-width: 0
    }
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .carousel--md-up .carousel__list__inner {
        margin-left:calc(var(--item-spacing) * -1)
    }

    .carousel--md-up .carousel__list__item {
        margin-left: 0;
        padding-left: var(--item-spacing)
    }
}

.carousel--no-spacing:not(.carousel--md-up) .carousel__list__inner {
    margin-left: 0
}

.carousel--no-spacing:not(.carousel--md-up) .carousel__list__item {
    padding-left: 0
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .carousel--no-spacing.carousel--md-up .carousel__list__inner {
        margin-left:0
    }

    .carousel--no-spacing.carousel--md-up .carousel__list__item {
        padding-left: 0
    }

    .carousel--no-overflow.carousel--md-up .carousel__list {
        overflow: hidden
    }
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
}

.carousel--not-ready:not(.carousel--md-up) .is-hidden--not-ready {
    display: none!important
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .carousel--not-ready.carousel--md-up .is-hidden--not-ready {
        display:none!important
    }
}

.carousel--fade .carousel__list__item+.carousel__list__item {
    margin-left: -100%
}

.tooltip {
    --tooltip-direction-x: 0;
    --tooltip-direction-y: -1;
    bottom: 100%;
    left: 50%;
    margin-bottom: var(--tooltip-distance);
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    width: -moz-max-content;
    width: max-content
}

.tooltip__content {
    background: var(--tooltip-background);
    border-radius: var(--tooltip-border-radius);
    box-shadow: var(--tooltip-shadow);
    color: var(--tooltip-color);
    padding: var(--tooltip-padding);
    position: relative
}

.tooltip__triangle {
    border-color: var(--tooltip-arrow-background) transparent transparent transparent;
    border-style: solid;
    border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) / 2) 0 calc(var(--tooltip-arrow-width) / 2);
    height: 0;
    left: 50%;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
    transform-origin: 50% 0;
    width: 0;
    z-index: 1
}

.tooltip[data-side] {
    bottom: auto;
    left: 0;
    margin-top: calc(var(--tooltip-distance) * -1);
    top: 0;
    transform: none
}

.tooltip[data-side] .tooltip__triangle {
    left: auto;
    top: auto;
    transform: none
}

.tooltip[data-side=bottom] {
    --tooltip-direction-y: 1;
    margin-top: var(--tooltip-distance)
}

.tooltip[data-side=left] {
    --tooltip-direction-y: 0;
    --tooltip-direction-x: -1;
    margin-left: calc(var(--tooltip-distance) * -1);
    margin-top: 0
}

.tooltip[data-side=right] {
    --tooltip-direction-y: 0;
    --tooltip-direction-x: 1;
    margin-left: calc(var(--tooltip-distance));
    margin-top: 0
}

.tooltip--interactive {
    pointer-events: unset
}

.tooltip--interactive:before {
    content: "";
    inset: calc(var(--tooltip-distance) * -1);
    position: absolute
}

.tooltip {
    opacity: 0;
    transition-property: visibility,opacity;
    visibility: hidden
}

.tooltip__animation {
    transform: translate(calc(var(--tooltip-animation-distance) * var(--tooltip-direction-x)),calc(var(--tooltip-animation-distance) * var(--tooltip-direction-y)));
    transition-property: transform
}

.has-hover [data-plugin~=tooltip]:hover .tooltip:not([data-side]),.has-hover [data-plugin~=tooltip]:hover+.tooltip:not([data-side]),.tooltip--interactive.tooltip--visible:hover,.tooltip--visible,[data-plugin~=tooltip]:focus-visible .tooltip:not([data-side]),[data-plugin~=tooltip]:focus-visible+.tooltip:not([data-side]) {
    opacity: 1;
    visibility: visible
}

.has-hover [data-plugin~=tooltip]:hover .tooltip:not([data-side]) .tooltip__animation,.has-hover [data-plugin~=tooltip]:hover+.tooltip:not([data-side]) .tooltip__animation,.tooltip--interactive.tooltip--visible:hover .tooltip__animation,.tooltip--visible .tooltip__animation,[data-plugin~=tooltip]:focus-visible .tooltip:not([data-side]) .tooltip__animation,[data-plugin~=tooltip]:focus-visible+.tooltip:not([data-side]) .tooltip__animation {
    transform: translate(0)
}

.tooltip {
    --tooltip-background: var(--t-background);
    --tooltip-color: var(--t-heading);
    --tooltip-arrow-width: calc(var(--scale-px) * 10);
    --tooltip-arrow-height: calc(var(--scale-px) * 5);
    --tooltip-arrow-background: var(--tooltip-background);
    --tooltip-distance: calc(var(--scale-px) * 10);
    --tooltip-animation-distance: calc(var(--scale-px) * 10);
    --tooltip-padding: calc(var(--scale-px) * 10);
    --tooltip-border-radius: calc(var(--scale-px) * 5);
    --tooltip-shadow: 0 4px 40px 0 rgba(0,0,0,.14)
}

.tooltip--pin {
    --tooltip-distance: calc(var(--scale-px) * 15);
    --tooltip-padding: calc(var(--spacing-layout) / 2);
    --tooltip-border-radius: 0
}

.tooltip--feature {
    --tooltip-distance: calc(var(--scale-px) * 15);
    --tooltip-padding: var(--md,calc(var(--spacing) * 0.2) calc(var(--spacing) * 0.375)) var(--n-md,calc(var(--spacing) * 0.375) calc(var(--spacing) * 0.5));
    --tooltip-border-radius: 0;
    z-index: 2
}

.tooltip--share {
    --tooltip-distance: calc(var(--scale-px) * 15);
    --tooltip-padding: var(--spacing-layout);
    --tooltip-border-radius: 0;
    width: var(--md,calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--grid-col-custom) * 12 + var(--grid-gutter) * 11));
    z-index: 2
}

.tooltip--visual-floor-disabled {
    --tooltip-arrow-width: calc(var(--scale-px) * 11);
    --tooltip-arrow-height: calc(var(--scale-px) * 6);
    --tooltip-arrow-background: var(--t-line);
    --tooltip-distance: calc(var(--scale-px) * 20);
    --tooltip-padding: calc(var(--scale-px) * 8) calc(var(--scale-px) * 12);
    --tooltip-border-radius: 0;
    --tooltip-shadow: none
}

.tooltip--visual-floor-disabled .tooltip__animation {
    padding-top: calc(var(--scale-px) * 7)
}

.tooltip--visual-floor-disabled .tooltip__triangle:before {
    border-color: var(--tooltip-background) transparent transparent transparent;
    border-style: solid;
    border-width: calc(var(--tooltip-arrow-height) - 1px) calc((var(--tooltip-arrow-width) - 2px) / 2) 0 calc((var(--tooltip-arrow-width) - 2px) / 2);
    content: "";
    height: 0;
    left: calc(var(--tooltip-arrow-width) / -2 + 1px);
    position: absolute;
    top: calc(var(--tooltip-arrow-height) * -1);
    width: 0;
    z-index: 1
}

.tooltip--visual-floor-disabled .tooltip__content {
    --fos: -0.11em;
    --foe: -0.19em;
    --lh: 1.33333em;
    border: 1px solid var(--t-line);
    font-family: TT Norms Pro,Helvetica,Arial,sans-serif;
    font-size: calc(var(--scale-text-rem) * .9);
    font-weight: 450;
    letter-spacing: .04em;
    line-height: var(--lh);
    text-transform: uppercase
}

.is-win .tooltip--visual-floor-disabled .tooltip__content {
    --fos: -0.11em;
    --foe: -0.19em
}

.tooltip--visual-floor-disabled .tooltip__content:before {
    background: var(--tooltip-background);
    border: 1px solid var(--t-line);
    border-bottom: none;
    bottom: 100%;
    content: "";
    height: calc(var(--scale-px) * 8);
    position: absolute;
    right: -1px;
    width: 46%
}

.tooltip--visual-floor-office-disabled {
    --tooltip-distance: 0;
    --tooltip-padding: calc(var(--scale-px) * 12) calc(var(--scale-px) * 13);
    --tooltip-border-radius: 0;
    --tooltip-shadow: none
}

.tooltip--visual-floor-office-disabled .tooltip__animation {
    padding-top: calc(var(--scale-px) * 7)
}

.tooltip--visual-floor-office-disabled .tooltip__content {
    --fos: -0.11em;
    --foe: -0.19em;
    --lh: 1.33333em;
    font-family: TT Norms Pro,Helvetica,Arial,sans-serif;
    font-size: calc(var(--scale-text-rem) * .9);
    font-weight: 450;
    letter-spacing: .04em;
    line-height: var(--lh);
    text-transform: uppercase
}

.is-win .tooltip--visual-floor-office-disabled .tooltip__content {
    --fos: -0.11em;
    --foe: -0.19em
}

.tooltip--visual-floor-office-disabled .tooltip__content:before {
    background: var(--tooltip-background);
    border-bottom: none;
    bottom: 100%;
    content: "";
    height: calc(var(--scale-px) * 7);
    position: absolute;
    right: 0;
    width: 45.83333%
}

.tooltip--visual-floor {
    --tooltip-distance: 0;
    --tooltip-animation-distance: 0;
    --tooltip-padding: 0;
    --tooltip-border-radius: 0;
    --tooltip-shadow: none;
    --header-height: var(--xxxl,calc(var(--scale-px) * 70)) var(--n-xxxl,var(--md,calc(var(--scale-px) * 50)) var(--n-md,calc(var(--scale-px) * 40)));
    height: var(--xxxl,calc(100% - var(--header-height) - var(--spacing) * 2.5 - var(--spacing-layout) - (var(--scale-px) * 60))) var(--n-xxxl,calc(100% - var(--header-height) - var(--spacing) * 2.5 - var(--spacing-layout) - (var(--scale-px) * 40)));
    width: calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 4)
}

.tooltip--visual-floor .tooltip__animation,.tooltip--visual-floor .tooltip__content {
    height: 100%
}

.tooltip--visual-floor .card--office {
    aspect-ratio: unset;
    height: 100%;
    min-height: 475px
}

.tooltip--visual-floor .card--office:after {
    border-right: 1px solid rgba(var(--t-heading-rgb),.3);
    bottom: var(--card-spacing-v);
    content: "";
    position: absolute;
    right: 0;
    top: var(--card-spacing-v)
}

.tooltip--visual-floor .card--office .card__plan {
    height: auto;
    width: 54.16667%
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .tooltip--visual-floor .card--office .card__plan {
        height:100%;
        max-height: 100%;
        padding-bottom: calc(var(--scale-px) * 90);
        padding-top: calc(var(--scale-px) * 90)
    }

    .tooltip--visual-floor .card--office .card__plan img,.tooltip--visual-floor .card--office .card__plan picture {
        display: block;
        height: 100%
    }
}

.tooltip--visual-building {
    --tooltip-distance: 0;
    --tooltip-animation-distance: 0;
    --tooltip-padding: 0;
    --tooltip-border-radius: 0;
    --tooltip-shadow: none;
    width: calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 2)
}

.tooltip--parking {
    --tooltip-distance: calc(var(--scale-px) * 10);
    --tooltip-animation-distance: 0;
    --tooltip-padding: 0;
    --tooltip-border-radius: 0;
    --tooltip-shadow: none;
    width: calc(var(--grid-col-custom) * 3 + var(--grid-gutter))
}

.tooltip--parking .tooltip__content {
    background: none
}

.tooltip--parking .tooltip__close {
    box-shadow: 5px 5px 32px 0 rgba(0,0,0,.2);
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%,-50%);
    z-index: 1
}

html.no-hover .tooltip--parking {
    --tooltip-distance: 0;
    bottom: var(--spacing-layout)!important;
    left: var(--spacing-layout)!important;
    position: fixed!important;
    right: var(--spacing-layout)!important;
    top: auto!important;
    transform: none!important;
    width: auto;
    z-index: 11
}

.with-cookie-consent html.no-hover .tooltip--parking {
    bottom: calc(var(--spacing-layout) + 50px)!important
}

.tooltip--parking-simple {
    --tooltip-distance: calc(var(--scale-px) * 10);
    --tooltip-animation-distance: 0;
    --tooltip-padding: calc(var(--scale-px) * 10) calc(var(--scale-px) * 15);
    --tooltip-border-radius: 0;
    --tooltip-shadow: none;
    width: auto
}

.tooltip--parking-simple .tooltip__content {
    background: var(--t-background)
}

.tooltip--parking-simple .tooltip__close {
    box-shadow: 5px 5px 32px 0 rgba(0,0,0,.2);
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%,-50%);
    z-index: 1
}

html.no-hover .tooltip--parking-simple {
    --tooltip-distance: 0;
    bottom: var(--spacing-layout)!important;
    left: var(--spacing-layout)!important;
    position: fixed!important;
    right: var(--spacing-layout)!important;
    top: auto!important;
    transform: none!important;
    width: auto;
    z-index: 11
}

.with-cookie-consent html.no-hover .tooltip--parking-simple {
    bottom: calc(var(--spacing-layout) + 50px)!important
}

html.no-hover .tooltip--parking-simple .tooltip__content {
    background: transparent;
    padding: 0
}

html.no-hover .tooltip--parking-simple .tooltip__content-inner {
    align-items: center;
    background: red;
    background: var(--t-background);
    clip-path: polygon(0 0,calc(100% - 30px) 0,calc(100% - 30px) 30px,100% 30px,100% 100%,0 100%);
    display: flex;
    min-height: 120px;
    position: relative
}

html.no-hover .tooltip--parking-simple .tooltip__content-inner p {
    width: 100%
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .tooltip--parking-simple {
        pointer-events:none
    }

    html.no-hover .tooltip--parking--mobile {
        left: auto!important;
        width: calc(var(--scale-px) * 340)!important
    }

    html.no-hover .tooltip--parking--mobile .card--parking {
        aspect-ratio: auto;
        clip-path: polygon(0 0,calc(100% - 30px) 0,calc(100% - 30px) 40px,100% 40px,100% 100%,0 100%);
        min-height: calc(var(--scale-px) * 230)
    }

    html.no-hover .tooltip--parking--mobile .card--parking .card__price-old {
        justify-content: flex-start
    }

    html.no-hover .tooltip--parking--mobile .card--parking .card__area {
        right: calc(var(--scale-px) * 50);
        text-align: right
    }
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
}

.tooltip--parking--desktop {
    pointer-events: none
}

.card {
    --card-spacing-h: var(--spacing-layout);
    --card-spacing-v: var(--spacing-layout);
    --card-ratio: var(--md,2.13333) var(--n-md,1.66667);
    align-items: center;
    aspect-ratio: var(--card-ratio);
    display: flex;
    justify-content: center;
    position: relative
}

.card__b,.card__lb,.card__lt,.card__rb,.card__rt,.card__t {
    max-width: calc(100% - var(--card-spacing-h) * 2);
    position: absolute
}

.card__lt,.card__t {
    left: var(--card-spacing-h)
}

.card__lt,.card__rt,.card__t {
    right: var(--card-spacing-h);
    top: var(--card-spacing-v)
}

.card__rt {
    text-align: right
}

.card__rb {
    bottom: var(--card-spacing-v);
    right: var(--card-spacing-h)
}

.card__b,.card__lb {
    bottom: var(--card-spacing-v);
    left: var(--card-spacing-h)
}

.card__b,.card__t {
    width: calc(100% - var(--card-spacing-h) * 2)
}

.card__center {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%)
}

.card__link {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.card--square {
    --card-ratio: 1/1
}

.card[role=button],a.card {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none
}

.card--team {
    --card-ratio: var(--md,0.95833) var(--n-md,0.7619);
    --card-head: var(--xxxxl,calc(var(--scale-px) * 100)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 80)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 60)) var(--n-xxl,var(--md,calc(var(--scale-px) * 50)) var(--n-md,calc(var(--scale-px) * 30)))));
    --fos: -0.11em;
    --foe: -0.19em;
    --lh: var(--xxxxl,1.25em) var(--n-xxxxl,var(--xxxl,1.28571em) var(--n-xxxl,var(--xxl,1.27273em) var(--n-xxl,var(--md,1.33333em) var(--n-md,1.27273em))));
    cursor: default;
    font-family: TT Norms Pro,Helvetica,Arial,sans-serif;
    font-size: var(--xxxxl,calc(var(--scale-text-rem) * 1.6)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-text-rem) * 1.4)) var(--n-xxxl,var(--xxl,calc(var(--scale-text-rem) * 1.1)) var(--n-xxl,var(--md,calc(var(--scale-text-rem) * .9)) var(--n-md,calc(var(--scale-text-rem) * 1.1)))));
    font-weight: 450;
    letter-spacing: .04em;
    line-height: var(--lh);
    text-transform: uppercase
}

.is-win .card--team {
    --fos: -0.11em;
    --foe: -0.19em
}

.card--team .card__title {
    max-width: var(--md,calc(var(--grid-col-custom) * 2 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5))
}

.card--team .card__text {
    align-self: flex-start;
    backface-visibility: hidden;
    margin-top: var(--md,10.9589vw) var(--n-md,auto);
    min-height: var(--md,0) var(--n-md,calc(var(--scale-px) * 240));
    opacity: 0;
    padding-left: var(--card-spacing-h);
    padding-right: var(--card-spacing-h);
    transition-property: opacity,visibility;
    visibility: hidden
}

.card--team .card__text-block {
    padding-right: var(--md,calc(var(--card-head) * 2 - var(--card-spacing-h))) var(--n-md,0)
}

.card--team .card__image {
    transition-property: opacity,visibility;
    width: var(--md,calc(var(--grid-col-custom) * 2 + var(--grid-gutter))) var(--n-md,calc(var(--grid-col-custom) * 7.5 + var(--grid-gutter) * 7))
}

.card--team .card__minus {
    opacity: 0;
    transition-property: opacity,visibility;
    visibility: hidden;
    z-index: 1
}

.card--team.is-active .card__minus,.card--team.is-active .card__text {
    opacity: 1;
    visibility: visible
}

.card--team.is-active .card__image {
    opacity: 0;
    visibility: hidden
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .card--team {
        padding-top:var(--card-head)
    }

    .card--team:after {
        background: var(--t-text);
        content: "";
        height: var(--card-head);
        position: absolute;
        right: -1px;
        top: -1px;
        transform: scaleX(0);
        transform-origin: 100% 0;
        transition-duration: .5s;
        transition-property: transform;
        transition-timing-function: cubic-bezier(.7,0,.3,1);
        width: calc(var(--card-head) * 2)
    }

    .card--team.is-active:after {
        transform: scaleX(1)
    }
}

.card--comfort {
    --card-ratio: var(--md,auto) var(--n-md,1);
    --card-head: var(--xxxxl,calc(var(--scale-px) * 150)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 130)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 100)) var(--n-xxl,var(--md,calc(var(--scale-px) * 90)) var(--n-md,calc(var(--scale-px) * 60)))));
    padding-bottom: var(--md,0) var(--n-md,calc(var(--scale-px) * 30));
    padding-top: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.card--comfort:before {
    background: var(--t-text);
    content: "";
    height: var(--card-head);
    position: absolute;
    width: var(--md,calc(var(--grid-col-custom) * 2 + var(--grid-gutter) * 1)) var(--n-md,var(--card-head))
}

.card--comfort .card__title {
    max-width: var(--xxxl,calc(var(--spacing) * 6)) var(--n-xxxl,var(--xxl,calc(var(--spacing) * 7)) var(--n-xxl,var(--md,calc(var(--spacing) * 6)) var(--n-md,calc(var(--scale-px) * 220))))
}

.card--comfort .card__icon svg {
    height: auto;
    width: var(--md,calc(var(--spacing) * 4)) var(--n-md,calc(var(--spacing) * 5))
}

.card--comfort .card__text {
    max-width: var(--xxxxl,calc(var(--scale-px) * 620)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 530)) var(--n-xxxl,var(--md,calc(var(--grid-col-custom) * 4.5 + var(--grid-gutter) * 3.5)) var(--n-md,calc(100% - var(--card-spacing-h) * 2))))
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .card--comfort {
        --header-padding:var(--xxxl,calc(var(--scale-px) * 70)) var(--n-xxxl,var(--md,calc(var(--scale-px) * 50)) var(--n-md,calc(var(--scale-px) * 80)));
        height: 43.75vw;
        max-height: calc(100svh - var(--header-padding) - var(--spacing-layout) * 4)
    }
}

.card--comfort--1:before {
    right: -1px;
    top: -1px
}

.card--comfort--2:before {
    display: var(--md,block) var(--n-md,none);
    left: -1px;
    top: -1px
}

.card--engineering {
    --card-ratio: var(--md,1.45833) var(--n-md,1)
}

.card--engineering .card__icon svg {
    height: auto;
    width: var(--md,calc(var(--spacing) * 4)) var(--n-md,calc(var(--spacing) * 5))
}

.card--engineering .card__text,.card--engineering .card__text--2 {
    max-width: calc(var(--scale-px) * 170)
}

.card--engineering .card__text--3 {
    max-width: calc(var(--scale-px) * 200)
}

.card--engineering .card__text--4 {
    max-width: calc(var(--scale-px) * 160)
}

.card--engineering .card__text--5 {
    max-width: calc(var(--scale-px) * 220)
}

.card--engineering .card__text--6 {
    max-width: calc(var(--scale-px) * 230)
}

.card--engineering .card__text--7 {
    max-width: calc(var(--scale-px) * 160)
}

.card--engineering .card__text--8 {
    max-width: calc(var(--scale-px) * 250)
}

.card--engineering .card__rb .card__text {
    margin-left: auto
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .card--engineering .card__text {
        max-width:calc(var(--grid-col-custom) * 2.25 + var(--grid-gutter) * 2)
    }

    .card--engineering .card__text--2 {
        max-width: calc(var(--grid-col-custom) * 2.8 + var(--grid-gutter) * 2)
    }

    .card--engineering .card__text--3 {
        max-width: calc(var(--grid-col-custom) * 2.6 + var(--grid-gutter) * 2)
    }

    .card--engineering .card__text--4 {
        max-width: calc(var(--grid-col-custom) * 2.8 + var(--grid-gutter) * 2)
    }

    .card--engineering .card__text--5 {
        max-width: var(--xxxxl,calc(var(--scale-px) * 680)) var(--n-xxxxl,var(--xxxl,calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)) var(--n-xxxl,calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 2)))
    }

    .card--engineering .card__text--6 {
        max-width: calc(var(--grid-col-custom) * 2.6 + var(--grid-gutter) * 2)
    }

    .card--engineering .card__text--7,.card--engineering .card__text--8 {
        max-width: calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 2)
    }
}

.card--infrastructure {
    --card-ratio: var(--md,1.04545) var(--n-md,1.02632);
    --card-head: var(--xxxxl,calc(var(--scale-px) * 100)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 80)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 60)) var(--n-xxl,var(--md,calc(var(--scale-px) * 50)) var(--n-md,calc(var(--scale-px) * 60)))))
}

.card--infrastructure .card__icon svg {
    height: auto;
    width: var(--md,calc(var(--spacing) * 4)) var(--n-md,calc(var(--spacing) * 5))
}

.card--infrastructure--1,.card--infrastructure--5 {
    clip-path: polygon(0 0,100% 0,100% calc(100% - var(--card-head)),calc(100% - var(--card-head) * 2) calc(100% - var(--card-head)),calc(100% - var(--card-head) * 2) 100%,0 100%);
    padding-bottom: var(--spacing)
}

.card--infrastructure--2,.card--infrastructure--6 {
    clip-path: polygon(0 var(--card-head),calc(var(--card-head) * 2) var(--card-head),calc(var(--card-head) * 2) 0,100% 0,100% 100%,0 100%);
    padding-top: var(--spacing)
}

.card--infrastructure--3,.card--infrastructure--7 {
    clip-path: polygon(0 0,calc(100% - var(--card-head) * 2) 0,calc(100% - var(--card-head) * 2) var(--card-head),100% var(--card-head),100% 100%,0 100%);
    padding-top: var(--spacing)
}

.card--infrastructure--4,.card--infrastructure--8 {
    clip-path: polygon(0 0,100% 0,100% 100%,calc(var(--card-head) * 2) 100%,calc(var(--card-head) * 2) calc(100% - var(--card-head)),0 calc(100% - var(--card-head)));
    padding-bottom: var(--spacing)
}

.card--infrastructure-mobile {
    --card-ratio: 1.25806;
    --card-head: calc(var(--scale-px) * 60);
    --card-width: calc(var(--scale-px) * 80);
    clip-path: polygon(0 0,100% 0,100% calc(100% - var(--card-head)),calc(100% - var(--card-width)) calc(100% - var(--card-head)),calc(100% - var(--card-width)) 100%,0 100%);
    margin-bottom: calc(var(--card-head) * -1);
    padding-bottom: var(--card-head);
    position: relative;
    z-index: 1
}

.card--infrastructure-mobile .card__icon svg {
    height: auto;
    width: calc(var(--spacing) * 5)
}

.card--location-mobile {
    --card-head: calc(var(--scale-px) * 60);
    --card-width: calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 4 + var(--spacing-layout));
    aspect-ratio: auto;
    clip-path: polygon(0 0,calc(100% - var(--card-width)) 0,calc(100% - var(--card-width)) var(--card-head),100% var(--card-head),100% 100%,0 100%);
    height: calc(var(--slider-height));
    padding-bottom: 100px;
    position: relative;
    z-index: 1
}

.card--location-mobile .card__lb {
    bottom: 100px
}

.card--location-mobile .card__icon svg {
    height: auto;
    width: calc(var(--spacing) * 5)
}

.with-cookie-consent .card--location-mobile {
    padding-bottom: 150px
}

.with-cookie-consent .card--location-mobile .card__lb {
    bottom: 150px
}

.card--accessibility-mobile {
    --card-head: calc(var(--scale-px) * 30);
    --card-width: calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5 + var(--spacing-layout));
    aspect-ratio: auto;
    clip-path: polygon(0 0,var(--card-width) 0,var(--card-width) var(--card-head),100% var(--card-head),100% 100%,0 100%);
    flex-shrink: 0;
    height: var(--map-content-height);
    margin-top: -40px;
    padding-bottom: calc(var(--scale-px) * 100);
    position: relative;
    z-index: 1
}

.card--accessibility-mobile .card__lb {
    bottom: calc(var(--scale-px) * 100)
}

.card--accessibility-mobile .card__type {
    margin-top: var(--card-head)
}

.card--accessibility-mobile .card__text {
    width: calc(var(--grid-col-custom) * 9 + var(--grid-gutter) * 8)
}

.with-cookie-consent .card--accessibility-mobile {
    padding-bottom: calc(var(--scale-px) * 150)
}

.with-cookie-consent .card--accessibility-mobile .card__lb {
    bottom: calc(var(--scale-px) * 150)
}

.plan-modal {
    --corner-width: var(--md,calc(var(--grid-col-custom) * 1 + var(--grid-gutter) * 1)) var(--n-md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 6 + var(--spacing-layout)));
    --corner-height: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 30)))));
    pointer-events: none
}

.plan-modal .modal__background {
    display: none
}

.plan-modal .modal__content,.plan-modal .modal__content:before {
    background: none
}

.plan-modal .modal__close {
    pointer-events: all;
    right: var(--spacing-layout);
    top: var(--spacing-layout)
}

.plan-modal__container {
    min-height: 100svh;
    padding: var(--md,calc(var(--spacing) * 3) var(--spacing-layout) var(--spacing-layout)) var(--n-md,calc(var(--scale-px) * 297) 0 0)
}

.plan-modal__content {
    clip-path: var(--md,polygon(0 0,100% 0,100% calc(100svh - (var(--spacing) * 3) - var(--spacing-layout)),0 calc(100svh - (var(--spacing) * 3) - var(--spacing-layout)))) var(--n-md,none);
    margin-left: auto;
    max-width: none;
    overflow: hidden;
    pointer-events: all;
    position: relative;
    width: var(--md,calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)) var(--n-md,100%)
}

.plan-modal__content-scroll {
    clip-path: polygon(var(--corner-width) 0,100% 0,100% 100%,0 100%,0 var(--corner-height),var(--corner-width) var(--corner-height));
    display: flex;
    flex-direction: column;
    min-height: var(--md,calc(100svh - (var(--spacing) * 3) - var(--spacing-layout))) var(--n-md,calc(100svh - (var(--scale-px) * 297)));
    padding: var(--md,var(--corner-height) var(--spacing-layout) calc(var(--spacing-layout) * 3 + var(--spacing))) var(--n-md,var(--corner-height) var(--spacing-layout) calc(var(--scale-px) * 82))
}

.plan-modal__icon {
    margin-bottom: auto;
    margin-top: auto;
    text-align: center
}

.plan-modal__icon svg {
    height: auto;
    width: var(--md,calc(var(--spacing) * 4)) var(--n-md,calc(var(--spacing) * 5))
}

.plan-modal__label {
    max-width: var(--md,calc(var(--grid-col-custom) * 2.55 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--scale-px) * 200))
}

.plan-modal__arrow {
    padding-top: 1px
}

.plan-modal__arrow:after {
    border: 1px solid var(--t-line)
}

.plan-modal__features {
    display: flex;
    flex-wrap: wrap
}

.plan-modal__features-item {
    border-top: 1px solid var(--t-line);
    width: 50%
}

.plan-modal__features-item:nth-child(2n) {
    border-left: 1px solid var(--t-line);
    padding-left: calc(var(--scale-px) * 15)
}

.plan-modal__features-value {
    --fos: -0.11em;
    --foe: -0.19em;
    --lh: var(--xxxxl,1.0625em) var(--n-xxxxl,var(--xxxl,1.07692em) var(--n-xxxl,var(--xxl,1.1em) var(--n-xxl,var(--md,1.11111em) var(--n-md,1.07407em))));
    font-family: TT Norms Pro,Helvetica,Arial,sans-serif;
    font-size: var(--xxxxl,calc(var(--scale-text-rem) * 8)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-text-rem) * 6.5)) var(--n-xxxl,var(--xxl,calc(var(--scale-text-rem) * 5)) var(--n-xxl,var(--md,calc(var(--scale-text-rem) * 4.5)) var(--n-md,calc(var(--scale-text-rem) * 2.7)))));
    font-weight: var(--md,450) var(--n-md,400);
    letter-spacing: var(--md,-.02em) var(--n-md,-.01em);
    line-height: var(--lh);
    text-transform: uppercase
}

.is-win .plan-modal__features-value {
    --fos: -0.11em;
    --foe: -0.19em
}

.plan-modal__button {
    display: flex;
    left: var(--md,var(--spacing-layout)) var(--n-md,auto);
    pointer-events: all;
    position: var(--md,fixed) var(--n-md,absolute);
    right: var(--md,auto) var(--n-md,var(--spacing-layout));
    top: var(--md,calc(100svh - var(--spacing-layout))) var(--n-md,var(--spacing-layout));
    z-index: 3
}

.plan-modal__button .btn {
    margin-top: var(--md,calc(var(--btn-height) * -1)) var(--n-md,0);
    min-width: var(--md,calc(var(--scale-px) * 220)) var(--n-md,calc(var(--scale-px) * 160))
}

.plan-modal__nav {
    background: var(--t-background);
    bottom: var(--spacing-layout);
    left: calc(var(--spacing-layout) + var(--grid-col-custom) * 8 + var(--grid-gutter) * 8);
    padding: 0 var(--spacing-layout) var(--spacing-layout);
    position: fixed;
    right: var(--spacing-layout);
    z-index: 1
}

.plan-modal.animation--modal-in {
    z-index: 12
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .plan-modal {
        --progress:1;
        clip-path: polygon(0 calc(98% - var(--progress) * 100%),100% calc(98% - var(--progress) * 100%),100% 100%,0 100%);
        pointer-events: all
    }

    .plan-modal__nav {
        bottom: 0;
        left: 0;
        right: 0
    }
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .no-scroll-smooth .plan-modal .modal__close {
        position:fixed;
        right: calc(var(--spacing-layout) * 2);
        top: calc(var(--spacing) * 3 + var(--spacing-layout))
    }

    .no-scroll-smooth .plan-modal__content {
        -ms-overflow-style: none;
        height: calc(100svh - (var(--spacing) * 3) - var(--spacing-layout));
        overflow: auto;
        scrollbar-width: none
    }

    .no-scroll-smooth .plan-modal__content::-webkit-scrollbar {
        display: none
    }

    .plan-modal .modal__animation,.plan-modal.animation--modal-in .modal__animation,.plan-modal.animation--modal-in--inactive .modal__animation,.plan-modal.animation--modal-out .modal__animation,.plan-modal.animation--modal-out--active .modal__animation {
        clip-path: none
    }
}

.js-modal:has(.plan-modal.animation--modal-in) .plan-modal.animation--modal-out .modal__animation,.js-modal:has(.plan-modal.animation--modal-in) .plan-modal.animation--modal-out .modal__background,.js-modal:has(.plan-modal.animation--modal-in) .plan-modal.animation--modal-out .modal__content>* {
    transition-delay: 1s
}

.architect-modal {
    --architect-head-height: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))));
    --architect-head-width: var(--md,calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--grid-col-custom) * 10 + var(--grid-gutter) * 9 + var(--spacing-layout)));
    --architect-width: var(--md,calc(var(--grid-col-custom) * 5 + var(--grid-gutter) * 4)) var(--n-md,100vw);
    --architect-height: var(--xxxxl,calc(var(--scale-px) * 960)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 720)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 640)) var(--n-xxl,var(--md,calc(var(--scale-px) * 520)) var(--n-md,calc(var(--scale-px) * 380)))))
}

.architect-modal .modal__content-wrapper {
    padding: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.architect-modal .modal__background {
    display: none
}

.architect-modal .modal__content {
    border-radius: 0;
    margin: 0;
    max-width: none;
    min-height: var(--md,calc(100svh - var(--spacing-layout) * 2)) var(--n-md,calc(100svh + 30px))
}

.no-scroll-smooth .architect-modal .modal__content {
    min-height: var(--md,calc(100svh + 1px - var(--spacing-layout) * 2)) var(--n-md,calc(100svh + 30px))
}

.architect-modal__text-top {
    width: var(--md,calc(var(--grid-col-custom) * 1.9 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--grid-col-custom) * 8.1 + var(--grid-gutter) * 6))
}

.architect-modal__text-top-fake {
    left: var(--spacing-layout);
    opacity: 0;
    position: absolute;
    top: var(--spacing-layout)
}

.architect-modal__cite {
    position: relative;
    z-index: 1
}

.architect-modal__cite .text-offset {
    margin-left: calc(var(--spacing-layout) * -1)
}

.architect-modal__cite-quote {
    left: 0;
    position: absolute;
    top: 0
}

.architect-modal__image {
    margin-left: auto;
    margin-right: auto;
    margin-top: var(--md,-.4em) var(--n-md,-1.47em);
    width: var(--md,calc(var(--grid-col-custom) * 2 + var(--grid-gutter) * 3)) var(--n-md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5))
}

.architect-modal__button-fake {
    align-items: center;
    display: flex;
    gap: var(--md,calc(var(--scale-px) * 20)) var(--n-md,calc(var(--scale-px) * 10));
    opacity: 0;
    position: absolute;
    right: var(--spacing-layout);
    text-align: right;
    top: 100svh;
    transform: translateY(-100%)
}

.architect-modal.animation--modal-in,.architect-modal.animation--modal-out {
    transition-duration: 2s
}

.architect-modal.animation--modal-in .architect-modal__button-fake,.architect-modal.animation--modal-in .architect-modal__cite,.architect-modal.animation--modal-in .architect-modal__image,.architect-modal.animation--modal-in .architect-modal__text,.architect-modal.animation--modal-in .architect-modal__text-top,.architect-modal.animation--modal-in .architect-modal__text-top-fake,.architect-modal.animation--modal-in .modal__content,.architect-modal.animation--modal-out .architect-modal__button-fake,.architect-modal.animation--modal-out .architect-modal__cite,.architect-modal.animation--modal-out .architect-modal__image,.architect-modal.animation--modal-out .architect-modal__text,.architect-modal.animation--modal-out .architect-modal__text-top,.architect-modal.animation--modal-out .architect-modal__text-top-fake,.architect-modal.animation--modal-out .modal__content {
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(.7,0,.3,1)
}

.architect-modal.animation--modal-in .modal__content,.architect-modal.animation--modal-out .modal__content {
    clip-path: polygon(0 calc((100svh - var(--architect-height)) * 0),var(--architect-head-width) calc((100svh - var(--architect-height)) * 0),var(--architect-head-width) calc((100svh - var(--architect-height) + var(--architect-head-height)) * 0),calc(100% * 1 + var(--architect-width) * 0) calc((100svh - var(--architect-height) + var(--architect-head-height)) * 0),calc(100% * 1 + var(--architect-width) * 0) 100%,0 100%);
    transition-property: clip-path
}

.architect-modal.animation--modal-in .architect-modal__cite,.architect-modal.animation--modal-in .architect-modal__text,.architect-modal.animation--modal-out .architect-modal__cite,.architect-modal.animation--modal-out .architect-modal__text {
    transition-delay: 1s;
    transition-property: opacity
}

.architect-modal.animation--modal-in .architect-modal__text-top,.architect-modal.animation--modal-in .architect-modal__text-top-fake,.architect-modal.animation--modal-out .architect-modal__text-top,.architect-modal.animation--modal-out .architect-modal__text-top-fake {
    transition-property: opacity,transform
}

.architect-modal.animation--modal-in .architect-modal__image,.architect-modal.animation--modal-out .architect-modal__image {
    transition-property: transform
}

.architect-modal.animation--modal-in .architect-modal__button-fake,.architect-modal.animation--modal-out .architect-modal__button-fake {
    transition-property: opacity,transform
}

.architect-modal.animation--modal-in--inactive .modal__content,.architect-modal.animation--modal-out--active .modal__content {
    clip-path: polygon(0 calc((100svh - var(--architect-height)) * 1),var(--architect-head-width) calc((100svh - var(--architect-height)) * 1),var(--architect-head-width) calc((100svh - var(--architect-height) + var(--architect-head-height)) * 1),calc(100% * 0 + var(--architect-width) * 1) calc((100svh - var(--architect-height) + var(--architect-head-height)) * 1),calc(100% * 0 + var(--architect-width) * 1) 100%,0 100%)
}

.architect-modal.animation--modal-in--inactive .architect-modal__cite,.architect-modal.animation--modal-in--inactive .architect-modal__text,.architect-modal.animation--modal-in--inactive .architect-modal__text-top,.architect-modal.animation--modal-out--active .architect-modal__cite,.architect-modal.animation--modal-out--active .architect-modal__text,.architect-modal.animation--modal-out--active .architect-modal__text-top {
    opacity: 0
}

.architect-modal.animation--modal-in--inactive .architect-modal__text-top-fake,.architect-modal.animation--modal-out--active .architect-modal__text-top-fake {
    opacity: 1
}

.architect-modal.animation--modal-in--inactive .architect-modal__text-top,.architect-modal.animation--modal-in--inactive .architect-modal__text-top-fake,.architect-modal.animation--modal-out--active .architect-modal__text-top,.architect-modal.animation--modal-out--active .architect-modal__text-top-fake {
    transform: translateY(calc(100svh - var(--architect-height)))
}

.architect-modal.animation--modal-in--inactive .architect-modal__image,.architect-modal.animation--modal-out--active .architect-modal__image {
    transform: translate(calc(50% - 50vw + var(--architect-width) / 2 - 50%),calc(var(--image-offset-top) * -1px + 100svh - var(--architect-height) - var(--spacing-layout) + var(--architect-head-height) + ((var(--architect-height) - var(--architect-head-height)) / 2) - 50%)) scale(.64706)
}

.architect-modal.animation--modal-in--inactive .architect-modal__button-fake,.architect-modal.animation--modal-out--active .architect-modal__button-fake {
    opacity: 1;
    transform: translateY(calc(-100% - var(--spacing-layout)))
}

.architect-modal.animation--modal-out .modal__content {
    transition-delay: 1s
}

.architect-modal.animation--modal-out .architect-modal__cite,.architect-modal.animation--modal-out .architect-modal__text {
    transition-delay: 0s
}

.architect-modal.animation--modal-out .architect-modal__button-fake,.architect-modal.animation--modal-out .architect-modal__image,.architect-modal.animation--modal-out .architect-modal__text-top,.architect-modal.animation--modal-out .architect-modal__text-top-fake {
    transition-delay: 1s
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .architect-modal.animation--modal-in .modal__content,.architect-modal.animation--modal-out .modal__content {
        clip-path:polygon(0 calc((100svh - var(--architect-height) - var(--spacing-layout) * 2) * 0),var(--architect-head-width) calc((100svh - var(--architect-height) - var(--spacing-layout) * 2) * 0),var(--architect-head-width) calc((100svh - var(--architect-height) - var(--spacing-layout) * 2 + var(--architect-head-height)) * 0),calc(100% * 1 + var(--architect-width) * 0) calc((100svh - var(--architect-height) - var(--spacing-layout) * 2 + var(--architect-head-height)) * 0),calc(100% * 1 + var(--architect-width) * 0) calc(100% * 1 + (100svh - var(--spacing-layout) * 2) * 0),0 calc(100% * 1 + (100svh - var(--spacing-layout) * 2) * 0))
    }

    .architect-modal.animation--modal-in--inactive .modal__content,.architect-modal.animation--modal-out--active .modal__content {
        clip-path: polygon(0 calc((100svh - var(--architect-height) - var(--spacing-layout) * 2) * 1),var(--architect-head-width) calc((100svh - var(--architect-height) - var(--spacing-layout) * 2) * 1),var(--architect-head-width) calc((100svh - var(--architect-height) - var(--spacing-layout) * 2 + var(--architect-head-height)) * 1),calc(100% * 0 + var(--architect-width) * 1) calc((100svh - var(--architect-height) - var(--spacing-layout) * 2 + var(--architect-head-height)) * 1),calc(100% * 0 + var(--architect-width) * 1) calc(100% * 0 + (100svh - var(--spacing-layout) * 2) * 1),0 calc(100% * 0 + (100svh - var(--spacing-layout) * 2) * 1))
    }

    .architect-modal.animation--modal-in--inactive .architect-modal__text-top,.architect-modal.animation--modal-in--inactive .architect-modal__text-top-fake,.architect-modal.animation--modal-out--active .architect-modal__text-top,.architect-modal.animation--modal-out--active .architect-modal__text-top-fake {
        transform: translateY(calc(100svh - var(--architect-height) - var(--spacing-layout) * 2))
    }

    .architect-modal.animation--modal-in--inactive .architect-modal__image,.architect-modal.animation--modal-out--active .architect-modal__image {
        transform: translate(calc(50% - 50vw + var(--spacing-layout) + var(--architect-width) / 2 - 50%),calc(var(--image-offset-top) * -1px + 100svh - var(--architect-height) - var(--spacing-layout) + var(--architect-head-height) + ((var(--architect-height) - var(--architect-head-height) - var(--spacing)) / 2) - 50%)) scale(.69231)
    }

    .architect-modal.animation--modal-in--inactive .architect-modal__button-fake,.architect-modal.animation--modal-out--active .architect-modal__button-fake {
        transform: translate(calc(-100vw + var(--architect-width) + var(--spacing-layout) * 2),calc(-100% - var(--spacing-layout) * 3))
    }
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .with-cookie-consent .architect-modal.animation--modal-in--inactive .architect-modal__button-fake,.with-cookie-consent .architect-modal.animation--modal-out--active .architect-modal__button-fake {
        opacity:1;
        transform: translateY(calc(-100% - var(--spacing-layout) - 50px))
    }
}

.webgl-loader {
    align-items: center;
    background: var(--c-gray-light);
    cursor: progress;
    display: flex;
    flex-direction: column;
    height: 100svh;
    justify-content: flex-start;
    left: 0;
    opacity: 1;
    opacity: 0;
    padding: var(--spacing-layout);
    padding-top: 50svh;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition-delay: .5s;
    transition-duration: .5s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.7,0,.3,1);
    width: 100vw;
    z-index: 10
}

.is-webgl-loading .webgl-loader {
    opacity: 1;
    pointer-events: all
}

.is-webgl-loaded .webgl-loader {
    opacity: 0;
    pointer-events: none
}

.webgl-loader__content {
    width: 100%
}

.webgl-loader__progress {
    background-color: rgba(var(--c-blue-dark-rgb),.2);
    height: 1px;
    margin-bottom: 30px;
    position: relative;
    width: 100%
}

.webgl-loader__progress-line {
    background-color: var(--c-blue-dark);
    height: 1px;
    left: 0;
    position: absolute;
    top: 0;
    transition-duration: 1s;
    transition-property: width;
    transition-timing-function: cubic-bezier(.7,0,.3,1);
    width: 0
}

.webgl-dim {
    height: 100vh;
    mix-blend-mode: color;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transition-duration: .5s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.7,0,.3,1);
    width: 100vw;
    z-index: 1
}

.webgl-dim--dark {
    background-color: #0e1224;
    opacity: 1
}

.webgl-dim--white {
    background-color: #e1e4ea;
    z-index: 3
}

.intro {
    --head-height: var(--xxxxl,calc(var(--scale-px) * 370)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 310)) var(--n-xxxl,var(--md,calc(var(--scale-px) * 250)) var(--n-md,36svh)))
}

.intro__dark {
    position: absolute;
    top: calc(100svh - 20px)
}

.intro__scroll {
    position: absolute;
    top: 100svh
}

.intro__sticky {
    --idea-bookmark-height: var(--xxxxl,calc(var(--scale-px) * 150)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 130)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 100)) var(--n-xxl,var(--md,calc(var(--scale-px) * 90)) var(--n-md,calc(var(--scale-px) * 70)))));
    --sticky-under-next-distance: calc(100svh + var(--idea-bookmark-height))
}

.intro__sticky:after {
    height: var(--md,calc(200svh + var(--sticky-under-next-distance) + var(--idea-bookmark-height))) var(--n-md,calc(100svh + var(--sticky-under-next-distance) + var(--idea-bookmark-height)))
}

.intro__head {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.intro__head:before {
    background-color: var(--t-background);
    content: "";
    display: block;
    height: var(--head-height);
    margin: 0 calc(var(--spacing-layout) * -1)
}

.intro__theme {
    position: absolute;
    top: 100svh
}

.intro__bookmark {
    align-items: flex-end;
    display: flex;
    height: var(--xxxxl,calc(var(--scale-px) * 151)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 131)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 101)) var(--n-xxl,var(--md,calc(var(--scale-px) * 91)) var(--n-md,calc(var(--scale-px) * 51)))));
    justify-content: flex-end;
    margin-left: calc(var(--spacing-layout) * -1);
    margin-right: calc(var(--grid-gutter) * -1);
    margin-top: -1px
}

.intro__text {
    bottom: var(--md,45.30769%) var(--n-md,auto);
    left: var(--md,0) var(--n-md,var(--spacing-layout));
    top: var(--md,auto) var(--n-md,calc(var(--scale-px) * 80));
    width: var(--md,100%) var(--n-md,auto)
}

.intro__content,.intro__text {
    pointer-events: none;
    position: absolute
}

.intro__content {
    bottom: 0;
    display: flex;
    flex-direction: var(--md,row) var(--n-md,column);
    height: 100%;
    left: 0;
    padding-top: var(--xxxl,min(calc(var(--scale-px) * 170),15svh)) var(--n-xxxl,var(--md,min(calc(var(--scale-px) * 170),20svh)) var(--n-md,calc(var(--scale-px) * 80)));
    width: 100%
}

.intro__content-text {
    margin-bottom: var(--md,0) var(--n-md,calc(var(--scale-px) * 80));
    margin-left: var(--md,calc(var(--grid-col-custom) * 2.5 + var(--grid-gutter) * 3)) var(--n-md,0);
    width: var(--md,calc(var(--grid-col-custom) * 2.5 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--scale-px) * 290))
}

.intro__class {
    border: 1px solid var(--t-line);
    height: var(--md,auto) var(--n-md,100%);
    margin-left: var(--md,calc(var(--grid-col-custom) * 2.5 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--grid-col-custom) * 2 + var(--grid-gutter) * 2));
    order: var(--md,-1) var(--n-md,0);
    text-align: center;
    width: var(--md,calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 3)) var(--n-md,calc(var(--grid-col-custom) * 8 + var(--grid-gutter) * 7))
}

.intro__class-icon {
    height: auto;
    width: var(--md,calc(var(--spacing) / 40 * 80)) var(--n-md,calc(var(--scale-px) * 71))
}

.intro__background img {
    -o-object-position: top;
    object-position: top
}

.intro__building {
    --step-1: 66%;
    --step-2: var(--md,33%) var(--n-md,0%);
    --step-3: var(--md,0%) var(--n-md,-33%);
    --step-4: var(--md,-33%) var(--n-md,0%);
    aspect-ratio: var(--md,1.53) var(--n-md,1.39);
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%
}

.intro__building img,.intro__building-picture {
    height: 100%;
    width: 100%
}

.intro__building img {
    -o-object-fit: cover;
    object-fit: cover
}

.idea__dark {
    position: absolute;
    top: calc(100svh - 20px)
}

.idea__bookmark {
    --offset-top: var(--xxxxl,calc(var(--scale-px) * 150)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 130)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 100)) var(--n-xxl,var(--md,calc(var(--scale-px) * 90)) var(--n-md,calc(var(--scale-px) * 70)))));
    display: flex;
    height: var(--offset-top);
    justify-content: space-between;
    margin-bottom: -1px;
    margin-left: calc(var(--spacing-layout) * -1);
    margin-right: var(--md,calc(var(--grid-gutter) * -1)) var(--n-md,0)
}

.idea__cube {
    margin-left: var(--md,0) var(--n-md,calc(var(--spacing-layout) * -1));
    margin-right: var(--md,0) var(--n-md,calc(var(--spacing-layout) * -1));
    margin-top: var(--md,-2.5em) var(--n-md,calc(var(--scale-px) * 40))
}

.idea__content {
    position: relative
}

.idea__text-overlay {
    left: 0;
    mix-blend-mode: overlay;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.idea__text-bottom {
    max-width: 870px
}

.information {
    clip-path: polygon(0 100svh,100% 100svh,100% 100%,0 100%);
    scroll-padding: 100svh
}

.information__container {
    background: linear-gradient(180deg,#070b20,#0d1024 32.92%,#121528 72.26%,#191c2f),#070b20
}

.information__bar {
    background: var(--t-line);
    height: 1px;
    position: relative
}

.information__webgl {
    height: 100svh;
    width: 100vw
}

.information__webgl-loader {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: -1
}

.information__webgl-loader svg {
    animation: loader 1s linear infinite;
    display: block
}

.information__bar-progress {
    background: var(--t-primary);
    display: block;
    height: 100%;
    transform-origin: 0 0;
    width: 100%
}

.information__carousel {
    height: 100svh;
    position: relative
}

.information__carousel-item {
    display: flex;
    flex-direction: column;
    height: 100svh;
    justify-content: space-between
}

.with-cookie-consent .information__carousel-item {
    padding-bottom: calc(50px + var(--spacing) * 3)
}

.information__carousel-thumbs {
    bottom: calc(var(--scale-px) * 30);
    left: 0;
    position: absolute;
    width: 100%
}

.with-cookie-consent .information__carousel-thumbs {
    bottom: calc(80px)
}

.information__carousel-key {
    max-width: calc(var(--scale-px) * 160)
}

.information__sticky.sticky--under-previous.sticky--under-next:after {
    height: calc(var(--count) * 100svh + var(--sticky-under-previous-distance) + var(--sticky-under-next-distance))
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .information__container {
        padding-top:50svh
    }
}

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

    to {
        transform: rotate(1turn)
    }
}

.location {
    --head-height: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))));
    --intro-head-width: var(--md,calc(var(--grid-col-custom) * 8 + var(--grid-gutter) * 7)) var(--n-md,calc(var(--grid-col-custom) * 11 + var(--grid-gutter) * 10 + var(--spacing-layout)));
    --intro-height: var(--xxxxl,calc(var(--scale-px) * 780)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 600)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 520)) var(--n-xxl,var(--md,calc(var(--scale-px) * 400)) var(--n-md,calc(var(--scale-px) * 410)))));
    --slider-head-width: var(--md,calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)) var(--n-md,calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 4 + var(--spacing-layout)));
    --slider-width: var(--md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 6)) var(--n-md,0%);
    --slider-height: var(--xxxxl,calc(var(--scale-px) * 1020)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 750)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 640)) var(--n-xxl,var(--md,calc(var(--scale-px) * 520)) var(--n-md,calc(var(--scale-px) * 400)))));
    clip-path: polygon(0 100svh,100% 100svh,100% 100%,0 100%);
    scroll-padding: 200svh
}

.location__sticky.sticky--under-previous.sticky--under-next {
    margin-top: -200svh
}

.location__sticky.sticky--under-previous.sticky--under-next:after {
    height: var(--md,calc(250svh + (var(--count) * 100svh) + var(--sticky-under-previous-distance) + var(--sticky-under-next-distance))) var(--n-md,calc(300svh + var(--sticky-under-previous-distance) + var(--sticky-under-next-distance)))
}

.location__image {
    overflow: hidden
}

.location__image>* {
    height: calc(100% + 5svh)
}

.location__image--intro>* {
    height: var(--md,calc(100% + 15svh)) var(--n-md,100%)
}

.location__background {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    height: var(--md,var(--slider-height)) var(--n-md,var(--intro-height));
    left: var(--md,var(--spacing-layout)) var(--n-md,0);
    position: absolute;
    right: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.location__background-color {
    height: 100%;
    width: 100%
}

.location__intro {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    display: flex;
    flex-direction: column;
    height: var(--intro-height);
    left: var(--spacing-layout);
    position: absolute;
    right: var(--spacing-layout)
}

.location__intro-head {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    height: var(--head-height);
    justify-content: var(--md,flex-end) var(--n-md,flex-start)
}

.location__intro-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    padding-bottom: calc(var(--spacing-layout) + (var(--scale-px) * 10))
}

.location__intro-text {
    max-width: var(--xxxl,calc(var(--scale-px) * 866)) var(--n-xxxl,calc(var(--scale-px) * 600))
}

.location__carousel-images {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.location__carousel {
    height: 100svh;
    pointer-events: none;
    position: relative
}

.location__carousel.is-interactive {
    pointer-events: all
}

.location__carousel-nav {
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1
}

.with-cookie-consent .location__carousel-nav {
    bottom: 50px
}

.location__carousel-item {
    display: flex;
    flex-direction: column;
    height: 100svh;
    justify-content: flex-end
}

.location__carousel-background {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.location__carousel-background,.location__carousel-image {
    height: calc(100svh - var(--slider-height) + var(--head-height))
}

.location__carousel-image {
    flex-shrink: 0
}

.location__carousel-image picture {
    height: 100%
}

.location__carousel-image img {
    height: calc(100% + 10svh);
    margin-bottom: 0;
    -o-object-position: 15% 50%;
    object-position: 15% 50%
}

.location__slider {
    bottom: var(--spacing-layout);
    display: flex;
    flex-direction: column;
    height: var(--slider-height);
    position: absolute;
    right: var(--spacing-layout);
    width: calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5)
}

.location__slider-head {
    height: var(--head-height);
    margin-left: auto;
    text-align: right;
    width: calc(var(--slider-head-width) - var(--spacing-layout))
}

.location__slider-icon {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center
}

.location__slider-icon svg {
    width: var(--md,calc(var(--spacing) * 4)) var(--n-md,calc(var(--spacing) * 5))
}

.location__slider-text {
    max-width: 490px;
    width: var(--xxxxl,calc(var(--grid-col-custom) * 2.53 + var(--grid-gutter) * 2)) var(--n-xxxxl,var(--xxxl,calc(var(--grid-col-custom) * 2.73 + var(--grid-gutter) * 2)) var(--n-xxxl,var(--md,calc(var(--grid-col-custom) * 3.2 + var(--grid-gutter) * 3)) var(--n-md,100%)))
}

[lang=ru] .location__slider-text--2 {
    width: var(--md,calc(var(--grid-col-custom) * 2.2 + var(--grid-gutter) * 2)) var(--n-md,100%)
}

.location__bar {
    background: var(--t-line);
    height: 1px;
    margin-top: calc(var(--spacing-layout) + (var(--scale-px) * 10))
}

.location__bar-progress {
    background: var(--t-primary);
    display: block;
    height: 100%;
    transform-origin: 0 0;
    width: 100%
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .with-cookie-consent .location__intro-content {
        padding-bottom:calc(var(--spacing-layout) + (var(--scale-px) * 60))
    }
}

.accessibility {
    --hero-head-height: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))));
    --hero-head-width: var(--md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 6)) var(--n-md,calc(var(--grid-col-custom) * 10 + var(--grid-gutter) * 9 + var(--spacing-layout)));
    --hero-width: var(--md,calc(var(--grid-col-custom) * 12 + var(--grid-gutter) * 11)) var(--n-md,100vw);
    --hero-height: var(--xxxxl,calc(var(--scale-px) * 860)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 680)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 600)) var(--n-xxl,var(--md,calc(var(--scale-px) * 480)) var(--n-md,calc(100svh - 100vw * 0.846)))));
    --map-content-head-height: var(--xxxxl,calc(var(--scale-px) * 100)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 80)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 60)) var(--n-xxl,var(--md,calc(var(--scale-px) * 50)) var(--n-md,calc(var(--scale-px) * 30)))));
    --map-content-head-width: var(--md,calc(var(--grid-col-custom) * 2 + var(--grid-gutter))) var(--n-md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5 + var(--spacing-layout)));
    --map-content-width: var(--md,calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)) var(--n-md,100vw);
    --map-content-height: var(--xxxxl,calc(var(--scale-px) * 780)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 600)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 480)) var(--n-xxl,var(--md,calc(var(--scale-px) * 400)) var(--n-md,calc(100svh - 100vw * 0.846)))));
    clip-path: polygon(0 100svh,100% 100svh,100% 100%,0 100%);
    scroll-padding: 100svh
}

.accessibility__sticky.sticky--under-previous.sticky--under-next {
    margin-bottom: var(--md,calc(var(--sticky-under-next-distance) * -1)) var(--n-md,0);
    margin-top: -200svh
}

.accessibility__sticky.sticky--under-previous.sticky--under-next:after {
    height: var(--md,calc(250svh + var(--count) * 100svh + var(--sticky-under-previous-distance) + var(--sticky-under-next-distance))) var(--n-md,calc(300svh + var(--sticky-under-previous-distance)))
}

.accessibility__background {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    height: var(--hero-height);
    left: var(--md,var(--spacing-layout)) var(--n-md,0);
    pointer-events: none;
    position: absolute;
    right: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.accessibility__background-color {
    height: 100%;
    width: 100%
}

.accessibility__hero-content {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    display: flex;
    flex-direction: column;
    height: var(--hero-height);
    justify-content: space-between;
    left: var(--md,var(--spacing-layout)) var(--n-md,0);
    padding: var(--spacing-layout) var(--spacing-layout) calc(var(--spacing-layout) + (var(--scale-px) * 10));
    position: absolute;
    right: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.accessibility__hero-text .text-offset {
    margin-left: calc(var(--spacing-layout) * -1)
}

.accessibility__carousel {
    height: 100svh;
    pointer-events: none;
    position: relative
}

.accessibility__carousel.is-interactive {
    pointer-events: all
}

.accessibility__carousel-nav {
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1
}

.with-cookie-consent .accessibility__carousel-nav {
    bottom: 50px
}

.accessibility__carousel-item {
    display: flex;
    flex-direction: column;
    height: 100svh
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .accessibility__carousel-item {
        pointer-events:none
    }
}

.accessibility__carousel-image {
    flex-shrink: 0;
    height: calc(100svh - var(--map-content-height));
    margin-top: 40px
}

.accessibility__carousel-image picture {
    height: 100%
}

.accessibility__carousel-image img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center
}

.accessibility__carousel-item-icons,.accessibility__carousel-item-pins {
    height: calc(100svh - 40px);
    height: calc(100svh - var(--map-content-height));
    left: 0;
    position: absolute;
    top: var(--md,0) var(--n-md,calc(var(--scale-px) * 40));
    width: 100%
}

.accessibility__map-content {
    bottom: var(--spacing-layout);
    display: flex;
    flex-direction: column;
    height: var(--map-content-height);
    left: var(--spacing-layout);
    position: absolute;
    width: calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)
}

.accessibility__map-list {
    height: 100%
}

.accessibility__map-item {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between
}

.accessibility__map-type {
    margin-top: var(--map-content-head-height)
}

.accessibility__map-text {
    width: var(--xxl,calc(var(--grid-col-custom) * 2.8 + var(--grid-gutter) * 2 - var(--spacing-layout))) var(--n-xxl,var(--md,calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 2 - var(--spacing-layout))) var(--n-md,100%))
}

.accessibility__bar {
    background: var(--t-line);
    height: 1px;
    margin-top: calc(var(--spacing-layout) + (var(--scale-px) * 10))
}

.accessibility__bar-progress {
    background: var(--t-primary);
    display: block;
    height: 100%;
    transform-origin: 0 0;
    width: 100%
}

.accessibility__pins {
    aspect-ratio: 1460/780;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    top: 50%
}

.accessibility__pin,.accessibility__pins {
    position: absolute;
    transform: translate(-50%,-50%)
}

.accessibility__pin {
    --left: 0;
    --top: 0;
    cursor: default;
    left: calc(var(--left) * 1%);
    pointer-events: auto;
    top: calc(var(--top) * 1%)
}

@media (min-width: 1920px) and (min-height:700px) {
    .accessibility__pin .btn__icon svg {
        height:auto;
        width: calc(var(--btn-height) / 2)
    }
}

.accessibility__icon {
    --left: 0;
    --top: 0;
    left: calc(var(--left) * 1%);
    pointer-events: none;
    position: absolute;
    top: calc(var(--top) * 1%);
    transform: translate(-50%,-100%)
}

.accessibility__icon-text {
    display: block
}

.accessibility__icon--subway {
    padding-bottom: var(--spacing);
    transform-origin: 50% 75%
}

.accessibility__icon--subway .accessibility__icon-marker {
    align-items: center;
    aspect-ratio: 1;
    border: 1px solid rgba(var(--c-white-rgb),.5);
    border-radius: 50%;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 50%;
    margin: 0 0 calc(var(--scale-px) * -10) calc(var(--scale-px) * -10);
    position: absolute;
    width: calc(var(--scale-px) * 20);
    z-index: 1
}

.accessibility__icon--logo {
    --width: 136;
    aspect-ratio: 2.43;
    background: url(/saya-southx/assets/images/common/logo-bubble.svg) no-repeat bottom;
    background-size: contain;
    transform-origin: bottom;
    width: calc(var(--width) * 1px);
    z-index: 2
}

[lang=en] .accessibility__icon--logo {
    background-image: url(/saya-southx/assets/images/common/logo-bubble-en.svg)
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .with-cookie-consent .accessibility__hero-content {
        padding-bottom:calc(var(--spacing-layout) + (var(--scale-px) * 60))
    }
}

.environment {
    --content-height: var(--xxxxl,calc(var(--scale-px) * 820)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 640)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 560)) var(--n-xxl,var(--md,calc(var(--scale-px) * 440)) var(--n-md,calc(var(--scale-px) * 380)))));
    --content-bottom-height: var(--xxxxl,calc(var(--scale-px) * 190)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 180)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 170)) var(--n-xxl,var(--md,calc(var(--scale-px) * 120)) var(--n-md,calc(var(--scale-px) * 130)))));
    --content-bottom-width: var(--md,calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 3)) var(--n-md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5 + var(--spacing-layout)))
}

.environment__sticky.sticky--under-previous.sticky--under-next {
    margin-top: var(--md,-200svh) var(--n-md,0)
}

.environment__sticky.sticky--under-previous.sticky--under-next:after {
    height: var(--md,calc(var(--count) * 100svh + var(--sticky-under-previous-distance) + var(--sticky-under-next-distance))) var(--n-md,calc(50svh + var(--sticky-under-next-distance)))
}

.environment__background {
    overflow: hidden
}

.environment__background--intro>* {
    height: calc(100% + 10svh)
}

.environment__container {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.environment__content {
    display: flex;
    flex-direction: column;
    height: var(--content-height);
    justify-content: space-between;
    padding: var(--spacing-layout) var(--spacing-layout) calc(var(--spacing-layout) + var(--content-bottom-height));
    position: relative
}

.environment__bar {
    background: var(--t-line);
    height: 1px
}

.environment__bar-progress {
    background: var(--t-primary);
    display: block;
    height: 100%;
    transform-origin: 0 0;
    width: 100%
}

.environment__text {
    height: 100svh;
    padding-top: 50svh
}

.environment__text--1 {
    padding-right: calc(var(--grid-col-custom) * .8)
}

.environment__carousel {
    height: 100svh;
    position: relative
}

.environment__carousel-text {
    left: 0;
    position: absolute;
    top: calc(var(--scale-px) * 80);
    width: 100%
}

.environment__carousel-nav {
    bottom: calc(100svh - var(--content-height));
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 1
}

.environment__carousel-nav .btn--dot {
    pointer-events: all
}

.environment__carousel-item {
    display: flex;
    flex-direction: column;
    height: 100svh;
    position: relative
}

.environment__carousel-card {
    display: flex;
    flex-direction: column;
    height: var(--content-height);
    justify-content: flex-end;
    padding-bottom: calc(var(--scale-px) * 100)
}

.environment__carousel-background {
    clip-path: polygon(0 0,51.28205% 0,51.28205% 130px,100% 130px,100% 100%,0 100%);
    height: calc(100svh - var(--content-height))
}

.environment__carousel-background picture {
    height: 100%
}

.environment__carousel-background img {
    height: calc(100% + 10svh);
    margin-bottom: 0
}

.environment__carousel-image {
    bottom: 0;
    height: calc(100svh - var(--content-height));
    left: var(--item-spacing);
    position: absolute;
    width: calc(100% - var(--item-spacing))
}

.environment__carousel-image picture {
    height: 100%
}

.environment__carousel-image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 100%;
    object-position: 50% 100%
}

.environment__image {
    bottom: 0;
    max-height: 62vw;
    top: auto
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .environment {
        clip-path:polygon(0 100svh,100% 100svh,100% 100%,0 100%);
        scroll-padding: 100svh
    }
}

.general-plan__sticky {
    background: var(--t-background-alternative)
}

.general-plan__sticky:after {
    height: 133svh
}

.general-plan__sticky .sticky__layer--sticky {
    contain: none
}

.general-plan__close {
    left: var(--spacing-layout);
    position: absolute;
    top: var(--spacing-layout);
    z-index: 3
}

.general-plan__close .btn {
    --btn-height: var(--xxxl,calc(var(--scale-px) * 60)) var(--n-xxxl,calc(var(--scale-px) * 40));
    --right: var(--xxxl,calc(var(--scale-px) * 20)) var(--n-xxxl,calc(var(--scale-px) * 10));
    --bottom: var(--xxxl,calc(var(--scale-px) * 30)) var(--n-xxxl,var(--md,calc(var(--scale-px) * 20)) var(--n-md,calc(var(--scale-px) * 30)));
    width: var(--xxxl,calc(var(--scale-px) * 180)) var(--n-xxxl,var(--md,calc(var(--scale-px) * 135)) var(--n-md,calc(var(--scale-px) * 95)))
}

.general-plan__content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing);
    left: 0;
    position: absolute;
    top: calc(var(--scale-px) * 60);
    z-index: 1
}

.general-plan__webgl {
    background: var(--c-gray-light);
    height: 100%;
    width: 100%;
    z-index: 0
}

.general-plan__webgl.is-webgl-loaded {
    z-index: 2
}

.general-plan__webgl.is-webgl-loaded canvas,.general-plan__webgl.is-webgl-loaded+.webgl-dim {
    opacity: 1
}

.general-plan__webgl canvas {
    opacity: 0;
    transition-delay: 1s;
    transition-duration: 1s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.7,0,.3,1)
}

.general-plan__back {
    position: absolute;
    top: 30%
}

.general-plan__bookmark {
    --offset-top: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))));
    height: var(--offset-top);
    margin-bottom: 1px;
    margin-right: calc(var(--spacing-layout) * -1);
    margin-top: calc(var(--offset-top) * -1 + 1px)
}

.general-plan__bookmark,.general-plan__text {
    position: relative;
    z-index: 1
}

.general-plan__label-renderer {
    cursor: grab;
    pointer-events: none;
    position: absolute;
    top: 0
}

.general-plan__label-renderer:active {
    cursor: grabbing
}

.general-plan__label {
    align-items: center;
    background: var(--c-white);
    border-radius: 100%;
    color: var(--c-blue-gray);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    height: 40px;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition-duration: .5s;
    transition-property: background,color,opacity;
    transition-timing-function: cubic-bezier(.7,0,.3,1);
    width: 40px
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .general-plan__label {
        height:30px;
        width: 30px
    }
}

.general-plan__label:first-child {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 1.55s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label:nth-child(2) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 1.6s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label:nth-child(3) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 1.65s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label:nth-child(4) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 1.7s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label:nth-child(5) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 1.75s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label:nth-child(6) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 1.8s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label:nth-child(7) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 1.85s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label:nth-child(8) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 1.9s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label:nth-child(9) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 1.95s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label:nth-child(10) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) 2s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-webgl-loaded .general-plan__label {
    opacity: 1;
    pointer-events: all
}

.is-map-label-clicked .general-plan__label {
    opacity: 0;
    pointer-events: none
}

.is-map-label-clicked .general-plan__label:first-child {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .05s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-map-label-clicked .general-plan__label:nth-child(2) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .1s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-map-label-clicked .general-plan__label:nth-child(3) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .15s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-map-label-clicked .general-plan__label:nth-child(4) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .2s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-map-label-clicked .general-plan__label:nth-child(5) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .25s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-map-label-clicked .general-plan__label:nth-child(6) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .3s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-map-label-clicked .general-plan__label:nth-child(7) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .35s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-map-label-clicked .general-plan__label:nth-child(8) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .4s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-map-label-clicked .general-plan__label:nth-child(9) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .45s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.is-map-label-clicked .general-plan__label:nth-child(10) {
    transition: opacity .5s cubic-bezier(.7,0,.3,1) .5s,background .5s cubic-bezier(.7,0,.3,1),color .5s cubic-bezier(.7,0,.3,1)
}

.general-plan__label>svg {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%)
}

.general-plan__label-tooltip {
    text-wrap: nowrap;
    background: var(--c-blue-gray);
    color: var(--c-white);
    opacity: 0;
    padding: 11px 15px;
    pointer-events: none;
    position: absolute;
    position: relative;
    text-align: center;
    top: calc(-100% - 13px);
    transition-duration: .5s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.7,0,.3,1)
}

.general-plan__label-tooltip__triangle {
    border-color: var(--c-blue-gray) transparent transparent transparent;
    border-style: solid;
    border-width: 6px calc(13px / 2) 0;
    height: 0;
    left: 50%;
    position: absolute;
    top: 99%;
    transform: translateX(-50%);
    transform-origin: 50% 0;
    width: 0;
    z-index: 2
}

.has-hover .general-plan__label:hover:hover {
    background: var(--c-blue-gray);
    color: var(--c-white)!important
}

.has-hover .general-plan__label:hover:hover .general-plan__label-tooltip {
    opacity: 1
}

[data-category=Pin_Cafe] .general-plan__label[id=Pin_Cafe],[data-category=Pin_Charge] .general-plan__label[id=Pin_Charge],[data-category=Pin_Office] .general-plan__label[id=Pin_Office],[data-category=Pin_Parking] .general-plan__label[id=Pin_Parking],[data-category=Pin_RestZone] .general-plan__label[id=Pin_RestZone],[data-category=Pin_Restaurant] .general-plan__label[id=Pin_Restaurant],[data-category=Pin_Shopping] .general-plan__label[id=Pin_Shopping],[data-category=Pin_SmotrPloshadka] .general-plan__label[id=Pin_SmotrPloshadka],[data-category=Pin_UnderParking] .general-plan__label[id=Pin_UnderParking] {
    background: var(--c-blue-gray);
    color: var(--c-white);
    cursor: default;
    opacity: 1;
    pointer-events: none
}

.general-plan__gradient {
    background: var(--md,radial-gradient(50% 50% at 50% 50%,rgba(var(--t-background-alternative-rgb),0) 50.44%,var(--t-background-alternative) 100%)) var(--n-md,radial-gradient(301.2% 50% at 50% 50%,rgba(227,230,235,0) 31.45%,rgba(227,230,235,.7) 55.54%,#e3e6eb 100%));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.general-plan__open {
    --corner-width: calc(var(--scale-px) * 60);
    --corner-height: var(--md,calc(var(--scale-px) * 40)) var(--n-md,calc(var(--scale-px) * 20));
    align-items: center;
    clip-path: polygon(0 var(--corner-height),var(--corner-width) var(--corner-height),var(--corner-width) 0,100% 0,100% 100%,0 100%);
    display: flex;
    flex-direction: column;
    gap: var(--md,calc(var(--scale-px) * 45)) var(--n-md,calc(var(--scale-px) * 30));
    left: 50%;
    padding: var(--md,calc(var(--scale-px) * 75) calc(var(--scale-px) * 20) calc(var(--scale-px) * 20)) var(--n-md,calc(var(--scale-px) * 50) calc(var(--scale-px) * 20) calc(var(--scale-px) * 20));
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: var(--md,calc(var(--spacing) / 40 * 220)) var(--n-md,calc(var(--scale-px) * 170));
    z-index: 1
}

.general-plan__open-icon {
    height: auto;
    width: var(--md,calc(var(--scale-px) * 60)) var(--n-md,calc(var(--scale-px) * 38))
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .general-plan__content {
        bottom:0;
        flex-direction: column-reverse;
        top: auto
    }
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .modal-genplan .general-plan__close,.modal-genplan .general-plan__webgl,.modal-genplan .plan-modal__button,.modal-genplan .webgl-dim {
        position:fixed
    }
}

.architecture {
    --intro-head-height: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))));
    --intro-head-width: var(--md,calc(var(--grid-col-custom) * 8 + var(--grid-gutter) * 7)) var(--n-md,calc(var(--grid-col-custom) * 10 + var(--grid-gutter) * 9 + var(--spacing-layout)));
    --intro-height: var(--xxxxl,calc(var(--scale-px) * 780)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 600)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 520)) var(--n-xxl,var(--md,calc(var(--scale-px) * 400)) var(--n-md,calc(var(--scale-px) * 390)))));
    --intro-width: var(--md,calc(var(--grid-col-custom) * 12 + var(--grid-gutter) * 11)) var(--n-md,100vw);
    --slider-head-height: var(--md,0px) var(--n-md,calc(var(--scale-px) * 60));
    --slider-head-width: var(--md,calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)) var(--n-md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5 + var(--spacing-layout)));
    --slider-height: var(--xxxxl,calc(var(--scale-px) * 500)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 440)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 330)) var(--n-xxl,var(--md,calc(var(--scale-px) * 280)) var(--n-md,calc(var(--scale-px) * 320)))));
    --slider-width: var(--md,calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)) var(--n-md,100vw);
    --architect-head-width: var(--md,calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--grid-col-custom) * 10 + var(--grid-gutter) * 9 + var(--spacing-layout)));
    --architect-height: var(--xxxxl,calc(var(--scale-px) * 960)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 720)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 640)) var(--n-xxl,var(--md,calc(var(--scale-px) * 520)) var(--n-md,calc(var(--scale-px) * 380)))));
    clip-path: polygon(0 100svh,100% 100svh,100% 100%,0 100%);
    scroll-padding: 300svh
}

.architecture__theme {
    position: absolute;
    top: 100svh
}

.architecture__sticky.sticky--under-previous.sticky--under-next {
    margin-top: -200svh
}

.architecture__sticky.sticky--under-previous.sticky--under-next:after {
    height: var(--md,calc(583svh + var(--sticky-under-previous-distance) + var(--sticky-under-next-distance))) var(--n-md,calc(616svh + var(--sticky-under-previous-distance) + var(--sticky-under-next-distance)))
}

.architecture__intro-image {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.architecture__intro-image,.architecture__intro-image picture {
    height: 100%;
    overflow: hidden
}

.architecture__background {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    height: var(--intro-height);
    left: var(--md,var(--spacing-layout)) var(--n-md,0);
    position: absolute;
    right: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.architecture__background-color {
    height: 100%;
    width: 100%
}

.architecture__intro-content {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    display: flex;
    flex-direction: column;
    height: var(--intro-height);
    left: var(--md,var(--spacing-layout)) var(--n-md,0);
    position: absolute;
    right: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.architecture__intro-head {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    height: var(--head-height);
    justify-content: var(--md,flex-end) var(--n-md,flex-start)
}

.architecture__intro-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between
}

.architecture__carousel {
    height: 100svh;
    pointer-events: none;
    position: relative
}

.architecture__carousel.is-interactive {
    pointer-events: all
}

.architecture__carousel-text {
    left: 0;
    position: absolute;
    top: calc(var(--scale-px) * 80);
    width: 100%
}

.architecture__carousel-nav {
    bottom: 0;
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 1
}

.architecture__carousel-nav .btn--dot {
    pointer-events: all
}

.with-cookie-consent .architecture__carousel-nav {
    bottom: 50px
}

.architecture__carousel-item {
    display: flex;
    flex-direction: column;
    height: 100svh;
    position: relative
}

.architecture__carousel-card {
    clip-path: polygon(0 0,var(--slider-head-width) 0,var(--slider-head-width) var(--slider-head-height),100% var(--slider-head-height),100% 100%,0 100%);
    display: flex;
    flex-direction: column;
    height: var(--slider-height);
    justify-content: flex-end;
    margin-top: calc(var(--slider-head-height) * -1);
    padding-bottom: calc(var(--scale-px) * 100)
}

.with-cookie-consent .architecture__carousel-card {
    padding-bottom: calc(150px)
}

.architecture__carousel-image {
    height: calc(100svh - var(--slider-height) + var(--slider-head-height))
}

.architecture__carousel-image picture {
    height: 100%
}

.architecture__carousel-image img {
    height: calc(100% + 10svh);
    margin-bottom: 0
}

.architecture__slider {
    bottom: var(--spacing-layout);
    left: var(--spacing-layout);
    position: absolute
}

.architecture__slider-content {
    display: flex;
    flex-direction: column;
    height: var(--slider-height);
    justify-content: space-between;
    position: relative;
    width: calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)
}

.architecture__slider-text {
    max-width: var(--xxxxl,calc(var(--scale-px) * 480)) var(--n-xxxxl,var(--md,calc(var(--grid-col-custom) * 2.2 + var(--grid-gutter) * 2)) var(--n-md,none))
}

.architecture__slider-text--3 {
    max-width: var(--xxxxl,calc(var(--scale-px) * 480)) var(--n-xxxxl,var(--md,calc(var(--grid-col-custom) * 2.45 + var(--grid-gutter) * 2)) var(--n-md,none))
}

.architecture__slider-text--4,.architecture__slider-text--5 {
    max-width: var(--xxxxl,calc(var(--scale-px) * 480)) var(--n-xxxxl,var(--md,calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 3)) var(--n-md,none))
}

.architecture__slider-decor1 {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform-origin: 0 0;
    transition-duration: 2s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(.7,0,.3,1);
    width: 100%
}

.architecture__slider-decor1,.architecture__slider-decor1[data-content-animation-index="0"],[data-content-animation-index="0"] .architecture__slider-decor1 {
    transform: translate(52.17391%,-9.09091%) scaleX(.6087) scaleY(.48485)
}

.architecture__slider-decor1[data-content-animation-index="1"],[data-content-animation-index="1"] .architecture__slider-decor1 {
    transform: translateY(-18.75%) scaleX(.3913) scaleY(.53125)
}

.architecture__slider-decor1[data-content-animation-index="2"],[data-content-animation-index="2"] .architecture__slider-decor1 {
    transform: translateY(15.625%) scaleX(.3913) scaleY(.53125)
}

.architecture__slider-decor1[data-content-animation-index="3"],[data-content-animation-index="3"] .architecture__slider-decor1 {
    transform: translateY(15.625%) scaleX(1.06522) scaleY(.59375)
}

.architecture__slider-decor1[data-content-animation-index="4"],[data-content-animation-index="4"] .architecture__slider-decor1 {
    transform: translate(0) scaleX(1.13043) scaleY(.75)
}

.architecture__slider-decor2 {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform-origin: 0 0;
    transition-duration: 2s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(.7,0,.3,1);
    width: 100%
}

.architecture__slider-decor2,.architecture__slider-decor2[data-content-animation-index="0"],[data-content-animation-index="0"] .architecture__slider-decor2 {
    transform: translate(2.17391%,15.75758%) scaleX(1.04348) scaleY(.53939)
}

.architecture__slider-decor2[data-content-animation-index="1"],[data-content-animation-index="1"] .architecture__slider-decor2 {
    transform: translateY(-9.375%) scaleX(.73913) scaleY(.75)
}

.architecture__slider-decor2[data-content-animation-index="2"],[data-content-animation-index="2"] .architecture__slider-decor2 {
    transform: translate(47.82609%,-12.5%) scaleX(.6087) scaleY(.84848)
}

.architecture__slider-decor2[data-content-animation-index="3"],[data-content-animation-index="3"] .architecture__slider-decor2 {
    transform: translate(34.78261%,-12.5%) scaleX(.78261) scaleY(.59375)
}

.architecture__slider-decor2[data-content-animation-index="4"],[data-content-animation-index="4"] .architecture__slider-decor2 {
    transform: translate(47.82609%,-12.5%) scaleX(.5) scaleY(.59375)
}

.architecture__architect-image {
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%
}

.architecture__architect-image>* {
    height: calc(100% + 15svh)
}

.architecture__architect {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    left: var(--md,var(--spacing-layout)) var(--n-md,0);
    position: absolute
}

.architecture__architect-content {
    clip-path: polygon(0 0,var(--architect-head-width) 0,var(--architect-head-width) var(--intro-head-height),100% var(--intro-head-height),100% 100%,0 100%);
    display: block;
    height: var(--architect-height);
    position: relative;
    width: var(--md,calc(var(--grid-col-custom) * 5 + var(--grid-gutter) * 4)) var(--n-md,100vw)
}

.architecture__architect-title {
    max-width: var(--xxxxl,calc(var(--grid-col-custom) * 2.35 + var(--grid-gutter) * 2)) var(--n-xxxxl,var(--md,calc(var(--grid-col-custom) * 2.2 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--architect-head-width) - var(--spacing-layout) * 2)))
}

.architecture__architect-person {
    align-items: center;
    bottom: var(--md,var(--spacing)) var(--n-md,calc(var(--spacing) * 2));
    display: flex;
    justify-content: center;
    left: 0;
    position: absolute;
    top: var(--intro-head-height);
    width: 100%
}

.architecture__architect-person img,.architecture__architect-person picture {
    height: auto;
    width: var(--md,calc(var(--grid-col-custom) * 1.4 + var(--grid-gutter) * 2)) var(--n-md,calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3))
}

.architecture__architect-button {
    align-items: center;
    bottom: var(--spacing-layout);
    display: flex;
    gap: var(--md,calc(var(--scale-px) * 20)) var(--n-md,calc(var(--scale-px) * 10));
    position: absolute;
    right: var(--spacing-layout);
    text-align: right
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .architecture__intro-image img {
        height:100%;
        -o-object-fit: cover;
        object-fit: cover
    }

    .with-cookie-consent .architecture__intro-inner {
        padding-bottom: calc(50px + var(--spacing-layout))
    }

    .with-cookie-consent .architecture__architect-button {
        bottom: calc(50px + var(--spacing-layout))
    }
}

.lobby {
    --head-height: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))));
    --head-width: var(--md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5 + var(--spacing-layout) * 1.5)) var(--n-md,calc(var(--grid-col-custom) * 10 + var(--grid-gutter) * 9 + var(--spacing-layout)));
    --intro-height: var(--xxxxl,calc(var(--scale-px) * 800)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 620)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 540)) var(--n-xxl,var(--md,calc(var(--scale-px) * 420)) var(--n-md,calc(var(--scale-px) * 410)))));
    clip-path: polygon(0 100svh,100% 100svh,100% 100%,0 100%);
    scroll-padding: var(--md,200svh) var(--n-md,calc(100svh + var(--intro-height)))
}

.lobby__sticky {
    margin-top: -200svh
}

.lobby__intro-image {
    height: var(--md,100svh) var(--n-md,105svh);
    overflow: hidden;
    width: 100%
}

.lobby__content {
    padding-top: var(--md,calc(var(--sticky-under-previous-distance) + 200svh - var(--intro-height))) var(--n-md,calc(var(--sticky-under-previous-distance) + 100svh))!important
}

.lobby__intro-content {
    display: flex;
    flex-direction: column;
    height: var(--md,var(--intro-height)) var(--n-md,auto)
}

.lobby__intro-head {
    display: flex;
    flex-direction: var(--md,row-reverse) var(--n-md,row);
    justify-content: space-between;
    margin-right: var(--md,0) var(--n-md,calc(var(--grid-gutter) * -1))
}

.lobby__intro-text {
    max-width: var(--xxxxl,calc(var(--scale-px) * 600)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 510)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 430)) var(--n-xxl,var(--md,calc(var(--scale-px) * 360)) var(--n-md,none))))
}

.lobby__decor {
    margin: var(--md,0 calc(var(--grid-gutter) * -1)) var(--n-md,0);
    position: relative;
    z-index: 2
}

.lobby__decor>:not(:first-child) {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.lobby__text {
    position: relative;
    z-index: 1
}

.lobby__image {
    margin-bottom: var(--md,0) var(--n-md,calc(var(--scale-px) * 7));
    margin-top: var(--md,-.3em) var(--n-md,calc(var(--spacing) * 3))
}

.lobby__card {
    aspect-ratio: var(--md,1.47812) var(--n-md,auto);
    border-left: var(--md,solid calc(var(--scale-px) * 1) rgba(var(--t-text-rgb),.1)) var(--n-md,none);
    border-top: 1px solid rgba(var(--t-text-rgb),.1);
    display: flex;
    flex-direction: var(--md,column) var(--n-md,row);
    justify-content: space-between;
    margin-top: var(--md,0) var(--n-md,calc(var(--spacing) * 3))
}

.lobby__card--first {
    border-left: none;
    margin-top: 0
}

.lobby__slider .mobile-scrollable {
    --scrollable-item-width: calc(100vw - var(--spacing-layout) * 2)
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .lobby__content-inner {
        clip-path:polygon(0 0,var(--head-width) 0,var(--head-width) var(--head-height),100% var(--head-height),100% 100%,0 100%)
    }
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .lobby__slider {
        aspect-ratio:1420/640;
        position: relative
    }

    .lobby__slider-item {
        height: 100%;
        left: 0;
        overflow: hidden;
        position: absolute;
        top: 0;
        transition-duration: 1s;
        transition-property: clip-path;
        transition-timing-function: cubic-bezier(.7,0,.3,1);
        width: 100%
    }

    .lobby__slider-item picture {
        height: 100%;
        transition-duration: 1s;
        transition-property: transform;
        transition-timing-function: cubic-bezier(.7,0,.3,1)
    }

    .lobby__slider-item:first-child {
        clip-path: polygon(0 0,calc(100% - var(--grid-col-custom) * 3 - var(--grid-gutter) * 3) 0,calc(100% - var(--grid-col-custom) * 3 - var(--grid-gutter) * 3) 100%,0 100%)
    }

    .lobby__slider-item:first-child .lobby__slider-item-icon {
        opacity: 0;
        transform: translateX(calc(var(--grid-col-custom) * -3 + var(--grid-gutter) * -3))
    }

    .lobby__slider-item:nth-child(2) {
        clip-path: polygon(calc(var(--grid-col-custom) * 9 + var(--grid-gutter) * 9) 0,calc(100% - var(--grid-col-custom) * 1 - var(--grid-gutter) * 1) 0,calc(100% - var(--grid-col-custom) * 1 - var(--grid-gutter) * 1) 100%,calc(var(--grid-col-custom) * 9 + var(--grid-gutter) * 9) 100%)
    }

    .lobby__slider-item:nth-child(2) picture {
        transform: translateX(calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 4))
    }

    .lobby__slider-item:nth-child(2) .lobby__slider-item-icon {
        opacity: 1;
        transform: translateX(calc(var(--grid-col-custom) * -1 + var(--grid-gutter) * -1))
    }

    .lobby__slider-item:nth-child(3) {
        clip-path: polygon(calc(var(--grid-col-custom) * 11 + var(--grid-gutter) * 11) 0,100% 0,100% 100%,calc(var(--grid-col-custom) * 11 + var(--grid-gutter) * 11) 100%)
    }

    .lobby__slider-item:nth-child(3) picture {
        transform: translateX(calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 4))
    }

    .lobby__slider-item:nth-child(3) .lobby__slider-item-icon {
        opacity: 1
    }

    .is-slide-active[data-index="2"] .lobby__slider-item:first-child {
        clip-path: polygon(0 0,calc(100% - var(--grid-col-custom) * 10 - var(--grid-gutter) * 10) 0,calc(100% - var(--grid-col-custom) * 10 - var(--grid-gutter) * 10) 100%,0 100%)
    }

    .is-slide-active[data-index="2"] .lobby__slider-item:first-child picture {
        transform: translateX(calc((var(--grid-col-custom) * 4 + var(--grid-gutter) * 4) * -1))
    }

    .is-slide-active[data-index="2"] .lobby__slider-item:first-child .lobby__slider-item-icon {
        opacity: 1;
        transform: translateX(calc(var(--grid-col-custom) * -10 + var(--grid-gutter) * -10))
    }

    .is-slide-active[data-index="2"] .lobby__slider-item:nth-child(2) {
        clip-path: polygon(calc(var(--grid-col-custom) * 2 + var(--grid-gutter) * 2) 0,calc(100% - var(--grid-col-custom) * 1 - var(--grid-gutter) * 1) 0,calc(100% - var(--grid-col-custom) * 1 - var(--grid-gutter) * 1) 100%,calc(var(--grid-col-custom) * 2 + var(--grid-gutter) * 2) 100%)
    }

    .is-slide-active[data-index="2"] .lobby__slider-item:nth-child(2) picture {
        transform: translateX(0)
    }

    .is-slide-active[data-index="2"] .lobby__slider-item:nth-child(2) .lobby__slider-item-icon {
        opacity: 0
    }

    .is-slide-active[data-index="3"] .lobby__slider-item:first-child {
        clip-path: polygon(0 0,calc(100% - var(--grid-col-custom) * 11 - var(--grid-gutter) * 11) 0,calc(100% - var(--grid-col-custom) * 11 - var(--grid-gutter) * 11) 100%,0 100%)
    }

    .is-slide-active[data-index="3"] .lobby__slider-item:first-child picture {
        transform: translateX(calc((var(--grid-col-custom) * 4 + var(--grid-gutter) * 4) * -1))
    }

    .is-slide-active[data-index="3"] .lobby__slider-item:first-child .lobby__slider-item-icon {
        opacity: 1;
        transform: translateX(calc(var(--grid-col-custom) * -11 + var(--grid-gutter) * -11))
    }

    .is-slide-active[data-index="3"] .lobby__slider-item:nth-child(2) {
        clip-path: polygon(calc(var(--grid-col-custom) * 1 + var(--grid-gutter) * 1) 0,calc(100% - var(--grid-col-custom) * 9 - var(--grid-gutter) * 9) 0,calc(100% - var(--grid-col-custom) * 9 - var(--grid-gutter) * 9) 100%,calc(var(--grid-col-custom) * 1 + var(--grid-gutter) * 1) 100%)
    }

    .is-slide-active[data-index="3"] .lobby__slider-item:nth-child(2) picture {
        transform: translateX(calc((var(--grid-col-custom) * 4 + var(--grid-gutter) * 4) * -1))
    }

    .is-slide-active[data-index="3"] .lobby__slider-item:nth-child(2) .lobby__slider-item-icon {
        opacity: 1;
        transform: translateX(calc(var(--grid-col-custom) * -9 + var(--grid-gutter) * -9))
    }

    .is-slide-active[data-index="3"] .lobby__slider-item:nth-child(3) {
        clip-path: polygon(calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 3) 0,100% 0,100% 100%,calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 3) 100%)
    }

    .is-slide-active[data-index="3"] .lobby__slider-item:nth-child(3) picture {
        transform: translateX(0)
    }

    .is-slide-active[data-index="3"] .lobby__slider-item:nth-child(3) .lobby__slider-item-icon {
        opacity: 0
    }

    .lobby__slider-item-icon {
        bottom: var(--spacing-layout);
        position: absolute;
        right: var(--spacing-layout);
        transition-duration: 1s;
        transition-property: transform,opacity;
        transition-timing-function: cubic-bezier(.7,0,.3,1)
    }

    .lobby__image {
        position: relative
    }

    .lobby__image:after {
        background: linear-gradient(180deg,rgba(var(--t-background-rgb),.8) 0,rgba(var(--t-background-rgb),0) 43.92%);
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }
}

.offices {
    --intro-head-height: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))));
    --intro-head-width: var(--md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5)) var(--n-md,calc(var(--grid-col-custom) * 10 + var(--grid-gutter) * 9 + var(--spacing-layout)));
    --intro-width: var(--md,calc(var(--grid-col-custom) * 12 + var(--grid-gutter) * 11)) var(--n-md,100vw);
    --intro-height: var(--xxxxl,calc(var(--scale-px) * 780)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 600)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 520)) var(--n-xxl,var(--md,calc(var(--scale-px) * 400)) var(--n-md,calc(var(--scale-px) * 410)))));
    --slider-head-height: var(--md,0px) var(--n-md,calc(var(--scale-px) * 60));
    --slider-head-width: var(--md,calc(var(--grid-col-custom) * 8 + var(--grid-gutter) * 8)) var(--n-md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 6 + var(--spacing-layout)));
    --slider-width: var(--md,calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)) var(--n-md,100vw);
    --slider-height: var(--xxxxl,calc(var(--scale-px) * 500)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 440)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 330)) var(--n-xxl,var(--md,calc(var(--scale-px) * 280)) var(--n-md,calc(var(--scale-px) * 310)))));
    clip-path: polygon(0 100svh,100% 100svh,100% 100%,0 100%);
    scroll-padding: 200svh
}

.offices__theme {
    position: absolute;
    top: 100svh
}

.offices__sticky.sticky--under-previous.sticky--under-next {
    margin-bottom: var(--md,calc(var(--sticky-under-next-distance) * -1)) var(--n-md,0);
    margin-top: -100svh
}

.offices__sticky.sticky--under-previous.sticky--under-next:after {
    height: var(--md,calc(283svh + var(--sticky-under-previous-distance) + var(--sticky-under-next-distance))) var(--n-md,calc(283svh + var(--sticky-under-previous-distance)))
}

.offices__intro-image {
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%
}

.offices__intro-image picture {
    height: calc(100% + 20svh);
    overflow: hidden
}

.offices__background {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    height: var(--intro-height);
    left: var(--md,var(--spacing-layout)) var(--n-md,0);
    position: absolute;
    right: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.offices__background-color {
    height: 100%;
    width: 100%
}

.offices__intro-content {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    display: flex;
    flex-direction: column;
    height: var(--intro-height);
    left: var(--md,var(--spacing-layout)) var(--n-md,0);
    position: absolute;
    right: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.offices__intro-head {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    height: var(--intro-head-height);
    justify-content: var(--md,flex-end) var(--n-md,flex-start)
}

.offices__intro-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    padding-bottom: calc(var(--spacing) * 1.5)
}

.offices__carousel {
    height: 100svh;
    pointer-events: none;
    position: relative
}

.offices__carousel.is-interactive {
    pointer-events: all
}

.offices__carousel-text {
    left: 0;
    position: absolute;
    top: calc(var(--scale-px) * 80);
    width: 100%
}

.offices__carousel-nav {
    bottom: 0;
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 1
}

.offices__carousel-nav .btn--dot {
    pointer-events: all
}

.with-cookie-consent .offices__carousel-nav {
    bottom: 50px
}

.offices__carousel-item {
    display: flex;
    flex-direction: column;
    height: 100svh;
    position: relative
}

.offices__carousel-card {
    clip-path: polygon(0 0,calc(100% - var(--slider-head-width)) 0,calc(100% - var(--slider-head-width)) var(--slider-head-height),100% var(--slider-head-height),100% 100%,0 100%);
    display: flex;
    flex-direction: column;
    height: var(--slider-height);
    justify-content: flex-end;
    margin-top: calc(var(--slider-head-height) * -1);
    padding-bottom: calc(var(--scale-px) * 100)
}

.with-cookie-consent .offices__carousel-card {
    padding-bottom: calc(var(--scale-px) * 150)
}

.offices__carousel-image {
    height: calc(100svh - var(--slider-height) + var(--slider-head-height))
}

.offices__carousel-image picture {
    height: 100%
}

.offices__carousel-image img {
    height: calc(100% + 10svh);
    margin-bottom: 0
}

.offices__slider-image>* {
    height: calc(100% + 3svh);
    overflow: hidden
}

.offices__slider {
    bottom: var(--spacing-layout);
    left: var(--spacing-layout);
    pointer-events: none;
    position: absolute
}

.offices__slider.is-interactive {
    pointer-events: all
}

.offices__slider-content {
    display: flex;
    flex-direction: column;
    height: var(--slider-height);
    justify-content: space-between;
    position: relative;
    width: calc(var(--grid-col-custom) * 4 + var(--grid-gutter) * 3)
}

.offices__slider-text {
    max-width: calc(var(--grid-col-custom) * 2 + var(--grid-gutter) * 2 - var(--spacing-layout))
}

.offices__slider-text--5 {
    max-width: calc(var(--grid-col-custom) * 3 + var(--grid-gutter) * 2 - var(--spacing-layout))
}

.offices__slider-decor1 {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform-origin: 0 0;
    transition-duration: 2s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(.7,0,.3,1);
    width: 100%
}

.offices__slider-decor1,.offices__slider-decor1[data-content-animation-index="0"],[data-content-animation-index="0"] .offices__slider-decor1 {
    transform: translate(52.17391%,-9.09091%) scaleX(.6087) scaleY(.48485)
}

.offices__slider-decor1[data-content-animation-index="1"],[data-content-animation-index="1"] .offices__slider-decor1 {
    transform: translateY(-18.75%) scaleX(.3913) scaleY(.53125)
}

.offices__slider-decor1[data-content-animation-index="2"],[data-content-animation-index="2"] .offices__slider-decor1 {
    transform: translateY(15.625%) scaleX(.3913) scaleY(.53125)
}

.offices__slider-decor1[data-content-animation-index="3"],[data-content-animation-index="3"] .offices__slider-decor1 {
    transform: translateY(15.625%) scaleX(1.06522) scaleY(.59375)
}

.offices__slider-decor1[data-content-animation-index="4"],[data-content-animation-index="4"] .offices__slider-decor1 {
    transform: translate(0) scaleX(1.13043) scaleY(.75)
}

.offices__slider-decor2 {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform-origin: 0 0;
    transition-duration: 2s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(.7,0,.3,1);
    width: 100%
}

.offices__slider-decor2,.offices__slider-decor2[data-content-animation-index="0"],[data-content-animation-index="0"] .offices__slider-decor2 {
    transform: translate(2.17391%,15.75758%) scaleX(1.04348) scaleY(.53939)
}

.offices__slider-decor2[data-content-animation-index="1"],[data-content-animation-index="1"] .offices__slider-decor2 {
    transform: translateY(-9.375%) scaleX(.73913) scaleY(.75)
}

.offices__slider-decor2[data-content-animation-index="2"],[data-content-animation-index="2"] .offices__slider-decor2 {
    transform: translate(47.82609%,-12.5%) scaleX(.6087) scaleY(.84848)
}

.offices__slider-decor2[data-content-animation-index="3"],[data-content-animation-index="3"] .offices__slider-decor2 {
    transform: translate(34.78261%,-12.5%) scaleX(.78261) scaleY(.59375)
}

.offices__slider-decor2[data-content-animation-index="4"],[data-content-animation-index="4"] .offices__slider-decor2 {
    transform: translate(47.82609%,-12.5%) scaleX(.5) scaleY(.59375)
}

.offices__button {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,calc(var(--slider-height) - var(--slider-head-height) + var(--spacing-layout)));
    pointer-events: none;
    position: absolute;
    right: var(--spacing-layout);
    z-index: 1
}

.offices__button.is-interactive {
    pointer-events: all
}

.offices__button .btn {
    min-width: var(--md,calc(var(--scale-px) * 220)) var(--n-md,calc(var(--slider-head-width) - var(--spacing-layout) * 2))
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .with-cookie-consent .offices__intro-inner {
        padding-bottom:calc(50px + var(--spacing-layout))
    }
}

.engineering {
    --head-height: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))));
    --head-width: var(--md,calc(var(--grid-col-custom) * 6 + var(--grid-gutter) * 5 + var(--spacing-layout))) var(--n-md,calc(var(--grid-col-custom) * 10 + var(--grid-gutter) * 9 + var(--spacing-layout)));
    --intro-height: var(--xxxxl,calc(var(--scale-px) * 800)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 620)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 540)) var(--n-xxl,var(--md,calc(var(--scale-px) * 420)) var(--n-md,calc(var(--scale-px) * 410)))));
    clip-path: polygon(0 100svh,100% 100svh,100% 100%,0 100%);
    scroll-padding: calc(100svh + var(--intro-height))
}

.engineering__theme {
    position: absolute;
    top: 100svh
}

.engineering__sticky {
    margin-top: -100svh
}

.engineering__intro-image {
    height: var(--md,101svh) var(--n-md,105svh);
    overflow: hidden;
    width: 100%
}

.engineering__content {
    padding-top: calc(var(--sticky-under-previous-distance) + 100svh)!important
}

.engineering__content-inner {
    clip-path: polygon(0 0,var(--head-width) 0,var(--head-width) var(--head-height),100% var(--head-height),100% 100%,0 100%)
}

.engineering__intro-content {
    display: flex;
    flex-direction: column;
    height: var(--md,var(--intro-height)) var(--n-md,auto);
    justify-content: space-between
}

.engineering__intro-text {
    margin-right: var(--md,calc(var(--grid-col-custom) * -.2 + var(--grid-gutter) * -1)) var(--n-md,0);
    max-width: var(--xxxxl,calc(var(--scale-px) * 700)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 600)) var(--n-xxxl,var(--md,calc(var(--scale-px) * 500)) var(--n-md,calc(var(--scale-px) * 420))))
}

.engineering__image {
    margin-top: var(--md,calc(var(--spacing) * -1 - .8em)) var(--n-md,0)
}

.engineering__text {
    max-width: var(--xxxxl,calc(var(--scale-px) * 560)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 480)) var(--n-xxxl,var(--md,calc(var(--scale-px) * 430)) var(--n-md,calc(var(--scale-px) * 340))))
}

.engineering__link {
    align-items: flex-start;
    aspect-ratio: 340/120;
    border-radius: 0;
    border-top: 1px solid var(--t-line);
    cursor: default;
    gap: calc(var(--spacing) / 40 * 30);
    height: auto;
    justify-content: flex-start;
    padding: var(--spacing-layout) 0;
    width: 100%
}

.engineering__link * {
    cursor: default
}

.engineering__link-text {
    max-width: var(--xxxxl,calc(var(--spacing) * 4.2)) var(--n-xxxxl,var(--xxxl,calc(var(--spacing) * 3.5)) var(--n-xxxl,var(--xxl,calc(var(--spacing) * 4.8)) var(--n-xxl,calc(var(--spacing) * 3.7))));
    white-space: normal
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .engineering__list {
        --scrollable-item-gap:calc(var(--spacing) / 2);
        --scrollable-item-width: calc(var(--grid-col-custom) * 11 + var(--grid-gutter) * 10)
    }
}

.infrastructure {
    --head-height: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))));
    --head-width: var(--md,calc(var(--grid-col-custom) * 8 + var(--grid-gutter) * 7)) var(--n-md,calc(var(--grid-col-custom) * 11 + var(--grid-gutter) * 10 + var(--spacing-layout)));
    --intro-height: var(--xxxxl,calc(var(--scale-px) * 780)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 600)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 520)) var(--n-xxl,var(--md,calc(var(--scale-px) * 400)) var(--n-md,calc(var(--scale-px) * 410)))));
    scroll-padding: var(--md,200svh) var(--n-md,calc(100svh + var(--intro-height)))
}

.infrastructure__theme {
    position: absolute;
    top: 100svh
}

.infrastructure__intro-image {
    height: 100svh;
    overflow: hidden;
    position: relative;
    width: 100%
}

.infrastructure__intro-image picture {
    height: calc(100% + 15svh);
    overflow: hidden
}

.infrastructure__image {
    overflow: hidden
}

.infrastructure__image>* {
    height: calc(100% + 8svh);
    top: -3svh
}

.infrastructure__intro {
    bottom: var(--md,var(--spacing-layout)) var(--n-md,0);
    left: var(--md,var(--spacing-layout)) var(--n-md,0);
    position: absolute;
    right: var(--md,var(--spacing-layout)) var(--n-md,0)
}

.infrastructure__intro-content {
    clip-path: polygon(0 0,var(--head-width) 0,var(--head-width) var(--head-height),100% var(--head-height),100% 100%,0 100%);
    display: flex;
    flex-direction: column;
    height: var(--intro-height);
    margin-top: var(--md,0) var(--n-md,100svh)
}

.infrastructure__intro-head {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    height: var(--head-height);
    justify-content: var(--md,flex-end) var(--n-md,flex-start);
    width: var(--head-width)
}

.infrastructure__intro-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between
}

.infrastructure__intro-text {
    margin-right: calc(var(--grid-gutter) * -1)
}

.infrastructure__carousel {
    display: flex;
    flex-direction: column;
    height: 100svh
}

.infrastructure__carousel .carousel__list,.infrastructure__carousel .carousel__list__inner {
    height: 100%
}

.infrastructure__carousel-item {
    display: flex;
    flex-direction: column;
    height: 100%
}

.infrastructure__carousel-image {
    height: 100%
}

.infrastructure__carousel-image img {
    height: 116%;
    margin-bottom: 0
}

.infrastructure__list {
    padding-top: 250svh
}

.infrastructure__card {
    aspect-ratio: 460/440;
    max-width: 720px
}

.infrastructure__content {
    position: relative
}

.infrastructure__content-shadow {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.infrastructure__text {
    margin-right: var(--xxxxl,calc(var(--grid-col-custom) * .59)) var(--n-xxxxl,var(--xxxl,calc(var(--grid-col-custom) * .38)) var(--n-xxxl,var(--xxl,calc(var(--grid-col-custom) * -.1 + var(--grid-gutter) * -1)) var(--n-xxl,0)))
}

.infrastructure__slider {
    padding-bottom: var(--xxxl,calc((100svh - 44.72603vw - calc(var(--scale-px) * 70)) / 2)) var(--n-xxxl,var(--md,calc((100svh - 44.72603vw - calc(var(--scale-px) * 50)) / 2)) var(--n-md,calc((100svh - 66.38889vw - 100px) / 2)));
    position: relative
}

.infrastructure__slider-nav {
    --spacing-bottom: var(--xxxl,calc(var(--scale-px) * 40)) var(--n-xxxl,calc(var(--scale-px) * 30));
    align-items: center;
    clip-path: polygon(0 0,100% 0,100% 100%,var(--spacing-bottom) 100%,var(--spacing-bottom) calc(100% - var(--spacing-bottom)),0 calc(100% - var(--spacing-bottom)));
    display: flex;
    gap: var(--xxxl,calc(var(--scale-px) * 140)) var(--n-xxxl,calc(var(--scale-px) * 85));
    padding-bottom: var(--spacing-bottom);
    padding-left: var(--xxxl,calc(var(--scale-px) * 140)) var(--n-xxxl,calc(var(--scale-px) * 85));
    position: absolute;
    right: -1px;
    top: -1px
}

.infrastructure__slider-counter {
    min-width: calc(var(--scale-px) * 42)
}

.infrastructure__slider-sticky {
    margin-bottom: -100svh
}

.infrastructure__slider-sticky:after {
    content: "";
    display: block;
    height: var(--md,133svh) var(--n-md,100svh)
}

.has-scroll-smooth .infrastructure__slider-sticky {
    margin-top: calc(var(--spacing) * 3 + 10svh)
}

.has-scroll-smooth .infrastructure__slider-sticky .sticky__layer--sticky {
    contain: unset
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .infrastructure__slider-list {
        --scrollable-item-width:calc(100vw - var(--spacing-layout) * 2)
    }
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .infrastructure__slider {
        --header-padding:var(--xxxl,calc(var(--scale-px) * 70)) var(--n-xxxl,var(--md,calc(var(--scale-px) * 50)) var(--n-md,calc(var(--scale-px) * 80)));
        padding-bottom: var(--xxxl,calc((100svh - min(44.72603vw, calc(100svh - var(--header-padding) - var(--spacing-layout) * 4)) - calc(var(--scale-px) * 70)) / 2)) var(--n-xxxl,var(--md,calc((100svh - 44.72603vw - calc(var(--scale-px) * 50)) / 2)) var(--n-md,calc((100svh - 66.38889vw - 100px) / 2)));
        position: relative
    }

    .infrastructure__slider-list picture {
        max-height: calc(100svh - var(--header-padding) - var(--spacing-layout) * 4)
    }
}

.team__bookmark {
    height: var(--offset-top);
    margin-bottom: 1px;
    margin-left: calc(var(--spacing-layout) * -1);
    margin-right: var(--md,calc(var(--grid-gutter) * -1)) var(--n-md,0);
    margin-top: calc(var(--offset-top) * -1 + 1px)
}

.team__bookmark,.team__theme {
    --offset-top: var(--xxxxl,calc(var(--scale-px) * 120)) var(--n-xxxxl,var(--xxxl,calc(var(--scale-px) * 100)) var(--n-xxxl,var(--xxl,calc(var(--scale-px) * 80)) var(--n-xxl,var(--md,calc(var(--scale-px) * 70)) var(--n-md,calc(var(--scale-px) * 60)))))
}

.team__theme {
    left: 0;
    position: absolute;
    top: calc(var(--offset-top) * -1 + 1px)
}

@media (max-width: 567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9) {
    .team__list {
        --scrollable-item-gap:calc(var(--spacing) / 2);
        --scrollable-item-width: calc(var(--grid-col-custom) * 11 + var(--grid-gutter) * 10)
    }

    .team__list>.col {
        padding-left: 0;
        padding-right: 0
    }
}

@media (min-width: 568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px) {
    .team {
        min-height:100svh
    }

    .team__bookmark {
        display: flex;
        flex-direction: column;
        justify-content: flex-end
    }
}

/* Saya SouthX: retail landmark section typography */
#about .idea__bookmark h2 {
    font-size: clamp(2rem, 3.4vw, 4.75rem) !important;
    line-height: 1.02 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
#about .idea__content .h3-small,
#about .idea__content .idea__text-overlay {
    font-size: clamp(1rem, 1.35vw, 1.5rem) !important;
    line-height: 1.45 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Saya SouthX: retail landmark section responsive alignment */
#about .idea__content .h3-small,
#about .idea__content .idea__text-overlay {
    text-align: left !important;
}

@media (max-width: 979px) {
    #about .idea__bookmark h2 {
        font-size: clamp(2rem, 7vw, 3.75rem) !important;
        line-height: 1.06 !important;
    }
    #about .idea__content .h3-small,
    #about .idea__content .idea__text-overlay {
        font-size: clamp(1rem, 2.6vw, 1.25rem) !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }
}

@media (max-width: 567px) {
    #about .idea__bookmark h2 {
        font-size: clamp(1.8rem, 9vw, 2.7rem) !important;
        line-height: 1.08 !important;
    }
    #about .idea__content .h3-small,
    #about .idea__content .idea__text-overlay {
        font-size: 1rem !important;
        line-height: 1.55 !important;
        text-align: left !important;
    }
}
