html.lenis {
    height: auto;
}
.lenis.lenis-smooth {
    scroll-behavior: auto;
}
.lenis.lenis-stopped {
    overflow: hidden;
}
.lenis.lenis-scrolling iframe {
    pointer-events: none;
}
.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}
:root {
    --swiper-theme-color: #007aff;
}
:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}
.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
}
.swiper-vertical > .swiper-wrapper {
    flex-direction: column;
}
.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0);
}
.swiper-horizontal {
    touch-action: pan-y;
}
.swiper-vertical {
    touch-action: pan-x;
}
.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
}
.swiper-slide-invisible-blank {
    visibility: hidden;
}
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto;
}
.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden;
}
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
}
.swiper-3d {
    perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
}
.swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
}
.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
    height: 1px;
    width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
    width: 1px;
    height: var(--swiper-virtual-size);
}
:root {
    --swiper-navigation-size: 44px;
}
.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
    display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transform-origin: center;
}
.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg);
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
}
.swiper-button-lock {
    display: none;
}
.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev";
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next";
}
.swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important;
}
.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit);
}
.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
    position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
}
.swiper-pagination-lock {
    display: none;
}
.swiper-scrollbar {
    position: relative;
    margin-top: 2.625rem;
    -ms-touch-action: none;
}
.swiper-scrollbar:before {
    content: "";
    opacity: 0.5;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--border-color);
}
@media (min-width: 768px) {
    .swiper-scrollbar {
        margin-right: calc(var(--side-padding) * -1);
    }
}
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important;
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    height: 1px;
}
.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background-color: inherit;
}
.swiper-scrollbar-drag:before {
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    top: -1px;
    left: 0;
    background-color: var(--light-grey);
}
.swiper-scrollbar-cursor-drag {
    cursor: move;
}
.swiper-scrollbar-lock {
    display: none;
}
.swiper-slide-zoomed {
    cursor: move;
    touch-action: none;
}
.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
    flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
}
.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}
.swiper-nav {
    display: flex;
    gap: 0.8888888888888888rem;
}
.swiper-nav-button {
    width: 1.8888888888888888rem;
    height: 1.8888888888888888rem;
    position: relative;
    border-radius: 50%;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.swiper-nav-button:before {
    content: "";
    inset: -0.7777777777777778rem -0.4444444444444444rem;
    position: absolute;
}
.swiper-nav-button .icon {
    width: 1.0555555555555556rem;
    height: 1.0555555555555556rem;
}
.swiper-nav-button[disabled] {
    pointer-events: none;
    opacity: 0.5;
}
.swiper-nav-button.-prev .icon {
    transform: rotate(180deg);
}
@media (pointer: fine) {
    .swiper-nav-button:hover {
        background-color: var(--pale-green);
        color: var(--cosmos-green);
    }
    .swiper-nav-button:active {
        background-color: var(--white);
    }
}
.swiper-pagination-bullets {
    display: flex;
    justify-content: center;
    gap: 1rem;
}
@media (min-width: 768px) {
    .swiper-pagination-bullets {
        gap: 1.3333333333333333rem;
    }
}
.swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
    position: relative;
    background-color: var(--white);
    border-radius: 50%;
    cursor: pointer;
}
.swiper-pagination-bullet:before {
    content: "";
    inset: -1rem -0.6666666666666666rem;
    position: absolute;
}
.-bg-pale-green:not(.sts) .swiper-pagination-bullet:not(.swiper-pagination-bullet-active),
.-bg-light:not(.sst + .ste.-bg-light) .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
    background-color: var(--cosmos-green);
}
@media (pointer: fine) {
    .swiper-pagination-bullet:hover {
        background-color: var(--bright-blue);
    }
}
@media (min-width: 768px) {
    .swiper-pagination-bullet {
        width: 0.6666666666666666rem;
        height: 0.6666666666666666rem;
    }
}
.swiper-pagination-bullet-active {
    background-color: var(--bright-blue);
}
@media (max-width: 767px) {
    .hidden-mobile {
        display: none !important;
    }
}
@media (min-width: 768px) {
    .hidden-desktop {
        display: none !important;
    }
}
html {
    box-sizing: border-box;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    text-size-adjust: none;
}
*,
*:after,
*:before {
    box-sizing: inherit;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}
body {
    line-height: 1;
}
strong,
b {
    font-weight: 600;
}
em,
i {
    font-style: italic;
}
ol,
ul {
    list-style: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
button,
input,
textarea,
select,
option {
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    font: inherit;
    letter-spacing: inherit;
}
button:focus,
button:active,
input:focus,
input:active,
textarea:focus,
textarea:active,
select:focus,
select:active,
option:focus,
option:active {
    outline: none;
}
a {
    font-family: inherit;
    text-decoration: none;
    color: inherit;
}
img,
picture,
svg {
    max-width: 100%;
    vertical-align: middle;
}
svg {
    fill: currentColor;
}
input,
textarea,
button {
    color: currentColor;
    font: inherit;
}
a,
button:not(:disabled) {
    cursor: pointer;
}
button:disabled {
    cursor: not-allowed;
}
label {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
@font-face {
    font-family: Season Sans wf;
    src: url(../fonts/SeasonSans-Light.woff2) format("woff2");
    font-style: normal;
    font-weight: 300;
}
@font-face {
    font-family: Season Sans wf ao;
    src: url(../fonts/SeasonSans-Light.woff2) format("woff2");
    font-style: normal;
    ascent-override: 110%;
    font-weight: 300;
}
@font-face {
    font-family: Season Sans wf;
    src: url(../fonts/SeasonSans-LightItalic.woff2) format("woff2");
    font-style: italic;
    font-weight: 300;
}
@font-face {
    font-family: Season Sans wf;
    src: url(../fonts/SeasonSansTRIAL-Regular.woff2) format("woff2");
    font-style: normal;
    font-weight: 400;
}
@font-face {
    font-family: Season Sans wf;
    src: url(../fonts/SeasonSansTRIAL-Medium.woff2) format("woff2");
    font-style: normal;
    font-weight: 500;
}
@font-face {
    font-family: Season Mix wf;
    src: url(../fonts/SeasonMix-Light.woff2) format("woff2");
    font-style: normal;
    font-weight: 300;
}
@font-face {
    font-family: Season Mix wf;
    src: url(../fonts/SeasonMix-LightItalic.woff2) format("woff2");
    font-style: italic;
    font-weight: 300;
}
@font-face {
    font-family: Season Mix wf;
    src: url(../fonts/SeasonMix-Regular.woff2) format("woff2");
    font-style: normal;
    font-weight: 400;
}
:root {
    --black: #000;
    --white: #fff;
    --grey: #a7b2a8;
    --dark-grey: #3f3f3f;
    --x-dark-grey: #262626;
    --light-grey: #efeeec;
    --bg-color: var(--x-dark-grey);
    --border-color: rgba(239, 238, 236, 0.5);
    --border-color-light: rgba(38, 38, 38, 0.5);
    --text-color: var(--light-grey);
    --base-font-weight: 300;
    --base-font-size: 1rem;
    --base-line-height: 1.333;
    --base-letter-spacing: 0.05em;
    --primary-font: "Season Sans wf", Helvetica, Arial, sans-serif;
    --primary-font-ascent-override: "Season Sans wf ao", Helvetica, Arial, sans-serif;
    --secondary-font: "Season Mix wf", serif;
    --side-padding: 1.25rem;
    --section-spacing: 3.75rem;
    --header-height: 8.9375rem;
    --plyr-color-main: var(--bright-blue);
    --ost-init-delay: 0.1s;
    --ost-stagger-delay: 0.12s;
    --ost-transform: translateY(1.5rem);
    --ost-transform-char: translateY(0.1em);
    --ost-transform-word: translateX(0.5em);
    --ost-transform-line: translateY(2.7777777777777777rem);
    --ost: 1s var(--ost-init-delay) var(--ease-smooth);
    --yellow:#EAE901;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    :root {
        --side-padding: 2.2222222222222223rem;
        --section-spacing: 4.722222222222222rem;
        --header-height: 7.333333333333333rem;
    }
}
html {
    min-height: 100%;
    font-size: 3.63636364vw;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    html {
        font-size: 1.041667vw;
    }
}
body {
    background-color: var(--bg-color);
    font-weight: var(--base-font-weight);
    font-size: var(--base-font-size);
    line-height: var(--base-line-height);
    letter-spacing: var(--base-letter-spacing);
    font-family: var(--primary-font);
    color: var(--text-color);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    cursor: default;
    touch-action: manipulation;
}
body.-no-scroll {
    overflow: hidden;
}
::-moz-selection {
    background: var(--grey);
    color: var(--bg-color);
}
::selection {
    background: var(--grey);
    color: var(--bg-color);
}
strong,
b {
    font-weight: 500;
}
:where(*),
:where(*):after,
:where(*):before {
    letter-spacing: var(--base-letter-spacing);
}
:is(p, ul, ol):where(:not(:last-child)) {
    margin-bottom: calc(var(--base-line-height) * 1em);
}
ul:not([class]) {
    margin-left: 0.5em;
    list-style-type: "+";
}
ul:not([class]) li {
    padding-left: 1.05em;
}
ol:not([class]) {
    margin-left: 1.6em;
    list-style-type: decimal;
}
a:not([class]) {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.1em;
    transition: color 0.15s;
}
a:not([class]):hover {
    color: var(--grey);
}
.h0,
.sar-main-stats-item-number,
.sar-project-title,
.page-title {
    font-weight: 300;
    font-size: 2.8125rem;
    line-height: 0.98214286;
    letter-spacing: 0;
    font-family: var(--secondary-font);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .h0,
    .sar-main-stats-item-number,
    .sar-project-title,
    .page-title {
        font-size: 6.222222222222222rem;
    }
}
.h1,
.stz-text,
.spj-item-title,
.sar-main-text-column-title,
.sar-title {
    font-weight: 300;
    font-size: 2.1875rem;
    line-height: 1.12903226;
    letter-spacing: 0;
    font-family: var(--secondary-font);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .h1,
    .stz-text,
    .spj-item-title,
    .sar-main-text-column-title,
    .sar-title {
        font-size: 3.4444444444444446rem;
    }
}
.h2,
.stx-text,
.ste-group-title,
.spo-item-title,
.smo-title,
.sj-item-title,
.sfh-item-title,
.sft-item-title,
.sar-main h2,
.sa-desc {
    font-weight: 300;
    font-size: 1.84375rem;
    line-height: 1.2;
    letter-spacing: 0;
    font-family: var(--secondary-font);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .h2,
    .stx-text,
    .ste-group-title,
    .spo-item-title,
    .smo-title,
    .sj-item-title,
    .sfh-item-title,
    .sft-item-title,
    .sar-main h2,
    .sa-desc {
        font-size: 2.3333333333333335rem;
    }
}
.h-bullet,
.stx-caption,
.sr-title,
.spo-title,
.smo-caption,
.sli-title,
.sj-title,
.sft-caption,
.sc-row-title,
.sar-related-title,
.sar-caption,
.sa-caption {
    display: flex;
    align-items: center;
    gap: 1.4444444444444444rem;
}
.h-bullet:before,
.stx-caption:before,
.sr-title:before,
.spo-title:before,
.smo-caption:before,
.sli-title:before,
.sj-title:before,
.sft-caption:before,
.sc-row-title:before,
.sar-related-title:before,
.sar-caption:before,
.sa-caption:before {
    content: "";
    width: 0.25rem;
    height: 0.25rem;
    background-color: currentColor;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .h-bullet:before,
    .stx-caption:before,
    .sr-title:before,
    .spo-title:before,
    .smo-caption:before,
    .sli-title:before,
    .sj-title:before,
    .sft-caption:before,
    .sc-row-title:before,
    .sar-related-title:before,
    .sar-caption:before,
    .sa-caption:before {
        width: 0.2222222222222222rem;
        height: 0.2222222222222222rem;
    }
}
.page-title {
    transition: var(--ost);
    transition-property: opacity, transform;
    display: inline-flex;
    padding-left: var(--side-padding);
    padding-right: 2.5rem;
    padding-top: 4.375rem;
    background-color: var(--bg-color);
    color: var(--grey);
}
.page-title:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .page-title {
        padding-right: 5.222222222222222rem;
        padding-top: 5.944444444444445rem;
    }
}
html {
    --pointer-x: -100vw;
    --pointer-y: -100vh;
}
body {
    padding-top: 13.125rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    body {
        padding-top: calc(var(--header-height) + 6.111111111111111rem);
    }
}
.stx:first-child {
    padding-top: 6.875rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stx:first-child {
        padding-top: 11.11111111111111rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .stx:has(+ .smg) .stx-inner {
        padding-bottom: 4.375rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stx:has(+ .smg) .stx-inner {
        padding-bottom: 2.7777777777777777rem;
    }
    .stx:has(+ .smg) .stx-inner:after {
        content: "";
        width: calc(100vw - var(--side-padding) * 2);
        height: 2.7777777777777777rem;
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: var(--bg-color);
        pointer-events: none;
    }
}
.sfh + .stx .stx-caption {
    padding-top: 0rem;
}
.sfh + .stx .stx-caption:after {
    top: -1.875rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh + .stx .stx-caption {
        padding-top: 2.9444444444444446rem;
    }
    .sfh + .stx .stx-caption:after {
        top: 0;
    }
}
.page-title + .smg {
    padding-top: 2.2222222222222223rem;
}
.smo:has(+ .stx) {
    padding-bottom: 0.5555555555555556rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .smo:has(+ .stx) {
        padding-bottom: 2.7777777777777777rem;
    }
}
.sli + .sie {
    padding-top: 3.75rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sli + .sie {
        padding-top: 6.388888888888889rem;
    }
}
.page-title + .stx:before {
    content: "";
    height: 1px;
    top: 2.2222222222222223rem;
    right: var(--side-padding);
    left: var(--side-padding);
    position: absolute;
    background-color: var(--border-color);
}
.page-title + .stx .stx-inner {
    padding-top: 6.666666666666667rem;
}
.stt + .smg {
    padding-top: 4.444444444444445rem;
}
.sft:has(+ .stx) {
    padding-bottom: 3.3333333333333335rem;
}
.stx + .sft {
    padding-top: 0;
}
.smo:has(+ .sli) {
    padding-bottom: 4.375rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .smo:has(+ .sli) {
        padding-bottom: 5.555555555555555rem;
    }
}
.sli:has(+ .-bg-light) {
    padding-bottom: 2.5rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sli:has(+ .-bg-light) {
        padding-bottom: 5rem;
    }
}
.sli + .sli {
    padding-top: 2.5rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sli + .sli {
        padding-top: 5.555555555555555rem;
    }
}
.smo:has(+ .smg) {
    padding-bottom: 4.375rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .smo:has(+ .smg) {
        padding-bottom: 6.666666666666667rem;
    }
}
.smg + .sli {
    padding-top: 3.3333333333333335rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .smg + .sli {
        padding-top: 3.3333333333333335rem;
    }
}
:root {
    --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
    --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
    --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
    --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
    --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
    --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
    --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
    --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
    --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
    --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
    --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
    --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
    --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
    --ease-smooth: cubic-bezier(0.35, 0, 0, 1);
    --ease-reveal: cubic-bezier(0.77, 0, 0.175, 1);
}
.line {
    display: block;
    white-space: nowrap;
}
.line.-i-0 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 0);
}
.line.-i-1 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 1);
}
.line.-i-2 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 2);
}
.line.-i-3 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 3);
}
.line.-i-4 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 4);
}
.line.-i-5 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 5);
}
.line.-i-6 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 6);
}
.line.-i-7 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 7);
}
.line.-i-8 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 8);
}
.line.-i-9 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 9);
}
.line.-i-10 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 10);
}
.line.-i-11 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 11);
}
.line.-i-12 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 12);
}
.line.-i-13 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 13);
}
.line.-i-14 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 14);
}
.line.-i-15 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 15);
}
.line.-i-16 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 16);
}
.line.-i-17 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 17);
}
.line.-i-18 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 18);
}
.line.-i-19 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 19);
}
.line.-i-20 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 20);
}
.line.-i-21 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 21);
}
.line.-i-22 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 22);
}
.line.-i-23 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 23);
}
.line.-i-24 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 24);
}
.line.-i-25 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 25);
}
.line.-i-26 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 26);
}
.line.-i-27 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 27);
}
.line.-i-28 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 28);
}
.line.-i-29 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 29);
}
.line.-i-30 {
    --delay: calc(var(--ost-init-delay) + 0.1s * 30);
}
.word {
    display: inline-flex;
    transition: var(--ost);
    transition-property: opacity, transform;
}
.word.-i-0 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 0);
}
.word.-i-1 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 1);
}
.word.-i-2 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 2);
}
.word.-i-3 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 3);
}
.word.-i-4 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 4);
}
.word.-i-5 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 5);
}
.word.-i-6 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 6);
}
.word.-i-7 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 7);
}
.word.-i-8 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 8);
}
.word.-i-9 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 9);
}
.word.-i-10 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 10);
}
.word.-i-11 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 11);
}
.word.-i-12 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 12);
}
.word.-i-13 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 13);
}
.word.-i-14 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 14);
}
.word.-i-15 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 15);
}
.word.-i-16 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 16);
}
.word.-i-17 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 17);
}
.word.-i-18 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 18);
}
.word.-i-19 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 19);
}
.word.-i-20 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 20);
}
.word.-i-21 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 21);
}
.word.-i-22 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 22);
}
.word.-i-23 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 23);
}
.word.-i-24 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 24);
}
.word.-i-25 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 25);
}
.word.-i-26 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 26);
}
.word.-i-27 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 27);
}
.word.-i-28 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 28);
}
.word.-i-29 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 29);
}
.word.-i-30 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 30);
}
.word.-i-31 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 31);
}
.word.-i-32 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 32);
}
.word.-i-33 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 33);
}
.word.-i-34 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 34);
}
.word.-i-35 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 35);
}
.word.-i-36 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 36);
}
.word.-i-37 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 37);
}
.word.-i-38 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 38);
}
.word.-i-39 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 39);
}
.word.-i-40 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 40);
}
.word.-i-41 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 41);
}
.word.-i-42 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 42);
}
.word.-i-43 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 43);
}
.word.-i-44 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 44);
}
.word.-i-45 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 45);
}
.word.-i-46 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 46);
}
.word.-i-47 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 47);
}
.word.-i-48 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 48);
}
.word.-i-49 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 49);
}
.word.-i-50 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 50);
}
.word.-i-51 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 51);
}
.word.-i-52 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 52);
}
.word.-i-53 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 53);
}
.word.-i-54 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 54);
}
.word.-i-55 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 55);
}
.word.-i-56 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 56);
}
.word.-i-57 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 57);
}
.word.-i-58 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 58);
}
.word.-i-59 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 59);
}
.word.-i-60 {
    transition-delay: calc(var(--ost-init-delay) + 0.02s * 60);
}
.char {
    display: inline-block;
    transition: var(--ost);
    transition-property: opacity, color;
}
.char.-i-0 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 0);
}
.char.-i-1 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 1);
}
.char.-i-2 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 2);
}
.char.-i-3 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 3);
}
.char.-i-4 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 4);
}
.char.-i-5 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 5);
}
.char.-i-6 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 6);
}
.char.-i-7 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 7);
}
.char.-i-8 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 8);
}
.char.-i-9 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 9);
}
.char.-i-10 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 10);
}
.char.-i-11 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 11);
}
.char.-i-12 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 12);
}
.char.-i-13 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 13);
}
.char.-i-14 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 14);
}
.char.-i-15 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 15);
}
.char.-i-16 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 16);
}
.char.-i-17 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 17);
}
.char.-i-18 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 18);
}
.char.-i-19 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 19);
}
.char.-i-20 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 20);
}
.char.-i-21 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 21);
}
.char.-i-22 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 22);
}
.char.-i-23 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 23);
}
.char.-i-24 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 24);
}
.char.-i-25 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 25);
}
.char.-i-26 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 26);
}
.char.-i-27 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 27);
}
.char.-i-28 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 28);
}
.char.-i-29 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 29);
}
.char.-i-30 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 30);
}
.char.-i-31 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 31);
}
.char.-i-32 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 32);
}
.char.-i-33 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 33);
}
.char.-i-34 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 34);
}
.char.-i-35 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 35);
}
.char.-i-36 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 36);
}
.char.-i-37 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 37);
}
.char.-i-38 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 38);
}
.char.-i-39 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 39);
}
.char.-i-40 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 40);
}
.char.-i-41 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 41);
}
.char.-i-42 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 42);
}
.char.-i-43 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 43);
}
.char.-i-44 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 44);
}
.char.-i-45 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 45);
}
.char.-i-46 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 46);
}
.char.-i-47 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 47);
}
.char.-i-48 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 48);
}
.char.-i-49 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 49);
}
.char.-i-50 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 50);
}
.char.-i-51 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 51);
}
.char.-i-52 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 52);
}
.char.-i-53 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 53);
}
.char.-i-54 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 54);
}
.char.-i-55 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 55);
}
.char.-i-56 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 56);
}
.char.-i-57 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 57);
}
.char.-i-58 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 58);
}
.char.-i-59 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 59);
}
.char.-i-60 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 60);
}
.char.-i-61 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 61);
}
.char.-i-62 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 62);
}
.char.-i-63 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 63);
}
.char.-i-64 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 64);
}
.char.-i-65 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 65);
}
.char.-i-66 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 66);
}
.char.-i-67 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 67);
}
.char.-i-68 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 68);
}
.char.-i-69 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 69);
}
.char.-i-70 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 70);
}
.char.-i-71 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 71);
}
.char.-i-72 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 72);
}
.char.-i-73 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 73);
}
.char.-i-74 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 74);
}
.char.-i-75 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 75);
}
.char.-i-76 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 76);
}
.char.-i-77 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 77);
}
.char.-i-78 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 78);
}
.char.-i-79 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 79);
}
.char.-i-80 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 80);
}
.char.-i-81 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 81);
}
.char.-i-82 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 82);
}
.char.-i-83 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 83);
}
.char.-i-84 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 84);
}
.char.-i-85 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 85);
}
.char.-i-86 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 86);
}
.char.-i-87 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 87);
}
.char.-i-88 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 88);
}
.char.-i-89 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 89);
}
.char.-i-90 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 90);
}
.char.-i-91 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 91);
}
.char.-i-92 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 92);
}
.char.-i-93 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 93);
}
.char.-i-94 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 94);
}
.char.-i-95 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 95);
}
.char.-i-96 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 96);
}
.char.-i-97 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 97);
}
.char.-i-98 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 98);
}
.char.-i-99 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 99);
}
.char.-i-100 {
    transition-delay: calc(var(--ost-init-delay) + 0.03s * 100);
}
@keyframes ost-scale {
    0% {
        transform: scale(1.1);
    }
    to {
        transform: scale(1);
    }
}
.bbg {
    width: calc(100vw - var(--side-padding) * 2);
    height: calc(100vh - var(--side-padding) * 2);
    position: fixed;
    top: var(--side-padding);
    left: var(--side-padding);
    z-index: -1;
    pointer-events: none;
}
.bbg-bg,
.bbg-fg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.bbg:not(.-observed) .bbg-bg,
.bbg:not(.-observed) .bbg-fg {
    visibility: hidden;
    opacity: 0;
}
.bbg-bg {
    opacity: 0.75;
    width: 100%;
    height: 100%;
    transform: scale(calc(1 + 0.12 * var(--progress, 0)));
    transition: opacity 1.5s 0.2s;
}
.button {
    --height: 2.25em;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
    height: var(--height);
    padding-left: 1em;
    padding-right: 1em;
    position: relative;
    border: 1px solid var(--border-color);
    font-weight: 300;
    font-size: 1rem;
    line-height: 1;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    font-family: var(--primary-font-ascent-override);
    color: var(--grey);
    transition: 0.15s;
    transition-property: border-color, color;
}
.button.-dark {
    color: var(--x-dark-grey);
}
.button.-icon-left {
    flex-direction: row-reverse;
}
.button:has(.icon):not(.-icon-left) {
    padding-right: 0;
}
.button:has(.icon).-icon-left {
    padding-left: 0;
}
@media (pointer: fine) {
    .button:active {
        border-color: var(--dark-grey-2);
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .button {
        --height: 2.38888889em;
        font-size: 1rem;
    }
}
.button-icon-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--height) - 2px);
    height: 100%;
    position: relative;
}
.button:not(.-icon-left) .button-icon-wrapper {
    border-left: 1px solid var(--border-color);
}
.button.-icon-left .button-icon-wrapper {
    border-right: 1px solid var(--border-color);
}
.button-icon-wrapper .icon {
    width: 0.5555555555555556rem;
    height: 100%;
}
.button-icon-wrapper .icon.-plus {
    display: inline-flex;
    height: auto;
}
.button-icon-wrapper .icon.-chevron-right {
    width: 0.3888888888888889rem;
}
.button.-icon-left .button-icon-wrapper .icon {
    transform: rotate(180deg);
}
@media (pointer: fine) {
    .button-icon-wrapper {
        transition: 0.15s;
    }
    .button:hover .button-icon-wrapper {
        background-color: var(--grey);
        border-color: var(--grey);
        color: var(--white);
    }
    .button:not(.-dark):hover .button-icon-wrapper:before {
        content: "";
        inset: -1px;
        position: absolute;
        border: 1px solid var(--grey);
    }
}
.field-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 1.4444444444444444rem;
    column-gap: 1.4444444444444444rem;
}
.field {
    position: relative;
}
.field:not(:last-child) {
    margin-bottom: 0.9375rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .field:not(:last-child) {
        margin-bottom: 1.7777777777777777rem;
    }
}
.field-input,
.field-select {
    width: 100%;
    padding: 1em 0;
    background: none;
    border: solid var(--border-color);
    border-width: 0 0 1px;
    border-radius: 0;
    color: inherit;
}
.field-input::-moz-placeholder,
.field-select::-moz-placeholder {
    font-weight: var(--base-font-weight);
    color: currentColor;
    -moz-transition: 0.15s;
    transition: 0.15s;
}
.field-input::placeholder,
.field-select::placeholder {
    font-weight: var(--base-font-weight);
    color: currentColor;
    transition: 0.15s;
}
.field-input:focus::-moz-placeholder,
.field-select:focus::-moz-placeholder {
    opacity: 0.5;
}
.field-input:focus::placeholder,
.field-select:focus::placeholder {
    opacity: 0.5;
}
textarea.field-input {
    resize: vertical;
}
.f {
    padding-top: 14.3125rem;
    position: relative;
}
.f:before {
    content: "";
    width: 100%;
    height: 2.5rem;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--bg-color);
    pointer-events: none;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    /* .f {
        padding-top: 15.444444444444445rem;
    } */
    .f:not(:has(.f-inner)):after {
        content: "";
        width: 100%;
        height: 2.5rem;
        position: absolute;
        bottom: 6.5rem;
        left: 0;
        background-color: var(--bg-color);
        pointer-events: none;
    }
}
.f-inner {
    padding: 2.5rem var(--side-padding) 2.625rem;
    background-color: var(--bg-color);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .f-inner {
        display: grid;
        grid-template-columns: 7.5rem auto;
        gap: 0 1.875rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .f-inner {
        display: flex;
        justify-content: space-between;
        padding-bottom: 2.2777777777777777rem;
        padding-top: 2.7777777777777777rem;
    }
}
.f-column-title {
    margin-bottom: 0.22222222em;
    font-weight: inherit;
    color: var(--grey);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .f-menu {
        margin-bottom: calc(var(--base-line-height) * 1em);
    }
}
@media (pointer: fine) {
    .f-menu-link {
        transition: color 0.15s;
    }
    .f-menu-link:hover {
        color: var(--grey);
    }
}
.f-info {
    transition: opacity 1.2s;
}
.f-inner:not(.-observed) .f-info {
    opacity: 0;
}
.f-info strong {
    display: inline-block;
    margin-bottom: 0.22222222em;
    font-weight: inherit;
    color: var(--grey);
}
.f-info a {
    text-decoration: none;
}
@media (pointer: fine) {
    .f-info a {
        transition: color 0.15s;
    }
    .f-info a:hover {
        color: var(--grey);
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .f-info {
        margin-bottom: 2.625rem;
    }
}
.f-form {
    transition: opacity 1.2s;
}
.f-inner:not(.-observed) .f-form {
    opacity: 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .f-form {
        grid-column: span 2;
        padding-top: 1.5625rem;
        border-top: 1px solid var(--border-color);
    }
    .f-form .f-column-title {
        margin-bottom: 1.875rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .f-form {
        width: 44.888888888888886rem;
    }
}
.field-columns {
    margin-top: 0.3888888888888889rem;
}
.f-form .field.-textarea {
    display: grid;
}
.f-form .field.-textarea:after,
.f-form .field.-textarea textarea {
    grid-area: 1/1/2/2;
}
.f-form .field.-textarea:after {
    content: attr(data-replicated-value) " ";
    visibility: hidden;
    padding: 1em 0;
    white-space: pre-wrap;
    border-bottom: 1px solid;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .f-form .field.-textarea:after,
    .f-form .field.-textarea textarea {
        min-height: 12.777777777777779rem;
    }
}
.f-form textarea {
    resize: none;
    overflow: hidden;
}
.f-form-action {
    display: flex;
    margin-top: 2.3125rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .f-form-action {
        margin-top: 1.8888888888888888rem;
    }
}
.f-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.6875rem var(--side-padding);
    background-color: var(--yellow);
    color: #000;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .f-bottom {
        gap: 3.5625rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .f-bottom {
        padding-bottom: 1.5rem;
        padding-top: 1.5rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .f-logo-link {
        grid-row: 1/3;
    }
}
.f-logo {
    width: 7.5rem;
    height: 3.9375rem;
    height: auto;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .f-logo {
        width: 8.38888888888889rem;
        height: 3.5rem;
    }
}
.f-bottom-menu {
    display: flex;
    margin-bottom: 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .f-bottom-menu {
        flex-direction: column;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .f-bottom-menu {
        gap: 4.7em;
        margin-left: 14.833333333333334rem;
        margin-right: auto;
    }
}
@media (pointer: fine) {
    .f-bottom-menu-link {
        transition: opacity 0.15s;
    }
    .f-bottom-menu-link:hover {
        opacity: 0.7;
    }
}
@media (pointer: fine) {
    .f-credits a {
        transition: opacity 0.15s;
    }
    .f-credits a:hover {
        opacity: 0.7;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .f-credits {
        display: none;
    }
}
.h {
    width: 100%;
    top: 0;
    left: 0;
    position: fixed;
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    z-index: 10;
    transition: 0.5s;
    transition-property: transform, opacity;
}
.h:before {
    content: "";
    width: 100%;
    height: 9.625rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: var(--bg-color);
    transition: height 0.5s;
}
.h.-hidden {
    opacity: 0;
    transform: translateY(-100%);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .h.-scrolled:before {
        height: 6.875rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .h:before {
        height: 8.61111111111111rem;
    }
}
.h-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1.25rem;
    padding-top: 3.388888888888889rem;
    border-bottom: 1px solid var(--border-color);
    transition: opacity 1.5s 0.2s, padding-top 0.5s;
}
.h:not(.-observed) .h-inner {
    opacity: 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .h.-scrolled .h-inner {
        padding-top: 1.25rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .h-inner {
        padding-bottom: 1.2777777777777777rem;
        padding-top: 1.7777777777777777rem;
    }
}
.h-logo {
    width: 7.5rem;
    height: 3.125rem;
    height: auto;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .h-logo {
        width: 8.38888888888889rem;
        height: 3.5rem;
    }
}
.h-menu {
    display: flex;
    gap: 3.61111111em;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .h-menu {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.625rem;
        width: 100%;
        height: 100vh;
        height: 100lvh;
        padding: 7.125rem var(--side-padding) 0;
        position: absolute;
        top: 0rem;
        left: 0;
        z-index: -1;
        clip-path: inset(0 0 100% 0);
        background-color: var(--bg-color);
        font-size: 3.4375rem;
        line-height: 1;
        font-family: var(--secondary-font);
        transition: clip-path 0.6s cubic-bezier(0.65, 0, 0.35, 1), padding-top 0.5s;
    }
    .h.-scrolled .h-menu {
        padding-top: 5.0625rem;
    }
    .h.-menu-open .h-menu {
        clip-path: inset(0 0 0 0);
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .h-menu-item.-social {
        margin-top: 6.875rem;
        font-size: 1.5625rem;
        font-family: var(--primary-font);
    }
}
@media (pointer: fine) {
    .h-menu-link {
        transition: color 0.15s;
    }
    .h-menu-link:hover {
        color: var(--grey);
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .h-menu-link {
        letter-spacing: 0;
    }
}
.h-menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 1.5625rem;
    height: 1.125rem;
    position: relative;
}
.h-menu-toggle:before {
    content: "";
    inset: -1.25rem;
    position: absolute;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .h-menu-toggle {
        display: none;
    }
}
.h-menu-toggle-line {
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transition: transform 0.15s;
}
.h.-menu-open .h-menu-toggle-line:nth-child(1) {
    transform: translateY(0.53125rem) rotate(45deg);
}
.h.-menu-open .h-menu-toggle-line:nth-child(2) {
    opacity: 0;
}
.h.-menu-open .h-menu-toggle-line:nth-child(3) {
    transform: translateY(-0.53125rem) rotate(-45deg);
}
.page-transition {
    height: 100%;
    right: 0;
    bottom: 0;
    left: 0;
    position: fixed;
    z-index: 20;
    background-color: var(--grey);
}
.pl {
    width: calc(100vw - var(--side-padding) * 2);
    height: calc(100vh - var(--side-padding) * 2);
    overflow: hidden;
    position: fixed;
    top: var(--side-padding);
    left: var(--side-padding);
    z-index: 12;
    background-color: var(--bg-color);
}
.pl.-out {
    visibility: hidden;
    opacity: 0;
    transition: 1s;
    transition-property: visibility, opacity;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .pl {
        display: none;
    }
}
.pl-frame {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    z-index: -1;
    background-color: var(--bg-color);
}
.pl .bbg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.3;
    transition: transform 1.8s var(--ease-in-out-quart);
}
.pl.-init .bbg {
    transform: scale(2);
}
.pl.-inner-init .pl-inner {
    visibility: hidden;
}
.pl-logo-container {
    display: grid;
    place-items: center;
    width: 302px;
    height: 126px;
    position: absolute;
    top: calc(var(--top) - 5px);
    left: calc(var(--left) - 1px);
    transition: opacity 0.5s;
}
.pl:not(.-init) .pl-logo-container {
    opacity: 0;
}
.pl.-inner-init .pl-logo-container {
    height: 0;
    visibility: hidden;
}
.pl-logo {
    grid-area: 1/1;
    width: 100%;
    height: 100%;
    transition: 1.8s var(--ease-in-out-quart);
}
.pl-logo.-plus {
    transform-origin: 48.206419% 27.740058%;
}
.pl:not(.-logo-init) .pl-logo.-plus {
    transform: scale(0.5);
}
.pl:not(.-logo-init) .pl-logo.-reef,
.pl:not(.-logo-init) .pl-logo.-partners {
    opacity: 0;
}
.pl:not(.-logo-init) .pl-logo.-reef {
    transform: translate(-120px);
}
.pl:not(.-logo-init) .pl-logo.-partners {
    transform: translate(120px);
}
.pl-overlay {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    transform: translateY(100%);
    background-color: var(--yellow);
    transition: transform 0.7s var(--ease-in-cubic), height 0.7s 0.8s var(--ease-out-cubic);
}
.pl.-overlay-init .pl-overlay {
    height: 0;
    transform: none;
}
.sa {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    padding-top: 3.125rem;
    background-color: var(--bg-color);
}
.sa.-bg-light {
    --bg-color: var(--light-grey);
    --border-color: var(--border-color-light);
    padding-bottom: 3.75rem;
    color: var(--x-dark-grey);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sa {
        padding-top: 3.1666666666666665rem;
    }
    .sa.-bg-light {
        padding-bottom: 5.833333333333333rem;
    }
}
.sa-inner {
    padding-top: 3.9375rem;
    border-top: 1px solid var(--border-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sa-inner {
        padding-top: 6.666666666666667rem;
    }
}
.sa-caption {
    transition: opacity 1.2s;
    margin-bottom: 4.375rem;
}
.sa-caption:not(.-observed) {
    opacity: 0;
}
.sa:not(.-bg-light) .sa-caption {
    color: var(--grey);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sa-caption {
        margin-bottom: 6.666666666666667rem;
    }
}
.sa-desc {
    --text-indent: 2.3em;
    margin-bottom: 4.375rem;
}
.sa-desc:not(:has(.line)) {
    opacity: 0;
}
.sa-desc .line {
    transition: opacity 1.2s var(--delay, 0s), transform 1.2s var(--delay, 0s) var(--ease-out-quart);
    transform-origin: 0% 50%;
}
.sa-desc:not(.-observed) .line {
    opacity: 0;
    transform: var(--ost-transform-line);
}
.sa-desc,
.sa-desc *,
.sa-desc:after,
.sa-desc:before {
    letter-spacing: 0;
}
.sa-desc .line:first-child {
    text-indent: var(--text-indent);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sa-desc.-desktop {
        display: none;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sa-desc {
        --text-indent: 6.8em;
        max-width: 33em;
        margin-bottom: 7.944444444444445rem;
    }
    .sa-desc.-mobile {
        display: none;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sa.-margin-left .sa-items {
        margin-left: 23.333333333333332rem;
    }
}
.sa-item {
    transition: var(--ost);
    transition-property: opacity, transform;
    border: solid var(--border-color);
    border-width: 1px 0 0;
}
.sa-item:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.sa-item:last-child {
    border-bottom-width: 1px;
}
.sa-item-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.7777777777777777rem;
    padding-bottom: 1.9222222222222223rem;
    padding-top: 1.9222222222222223rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer;
}
.sa-item-header .icon {
    flex-shrink: 0;
    width: 0.9925rem;
    height: 1rem;
}
.sa-item.-expanded .sa-item-header .icon path:nth-child(2) {
    opacity: 0;
}
.sa.-margin-left .sa-item-header {
    padding-bottom: 1.0625rem;
    padding-top: 1.0625rem;
}
@media (pointer: fine) {
    .sa-item-header {
        transition: color 0.1s;
    }
    .sa-item-header:hover {
        color: var(--grey);
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sa-item-header .icon {
        width: 0.8822222222222222rem;
        height: 0.8888888888888888rem;
    }
    .sa.-margin-left .sa-item-header {
        padding-bottom: 1.0555555555555556rem;
        padding-top: 1.0555555555555556rem;
    }
}
.sa-item-title {
    font-size: 1.25rem;
    letter-spacing: 0.03em;
}
.sa.-margin-left .sa-item-title {
    font-size: 1.6666666666666667rem;
    letter-spacing: 0;
    font-family: var(--secondary-font);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sa-item-title {
        font-size: 1.3333333333333333rem;
    }
}
.sa-item-content {
    display: grid;
    grid-template-rows: 0fr;
    position: relative;
    opacity: 0;
    transition: 0.35s var(--ease-out-quart);
    transition-property: opacity, grid-template-rows;
}
.sa-item.-expanded .sa-item-content {
    grid-template-rows: 1fr;
    opacity: 1;
}
.sa-item-content-inner {
    overflow: hidden;
}
.sa-item-content-inner-2 {
    max-width: 72ch;
    padding-top: 1.25rem;
    padding-bottom: 3.125rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sa-item-content-inner-2 {
        padding-top: 1.8888888888888888rem;
        padding-bottom: 3.888888888888889rem;
    }
}
.sar {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    padding-top: 3.125rem;
    background-color: var(--bg-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar {
        padding-top: 4.5rem;
    }
}
.sar-inner:not(:has(.sar-share)) {
    border-bottom: 1px solid var(--border-color);
}
.sar-header {
    margin-bottom: 2.875rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-header {
        margin-bottom: 3.4444444444444446rem;
    }
}
.sar-header-meta {
    transition: var(--ost);
    transition-property: opacity, transform;
    display: flex;
    gap: 3em;
    margin-bottom: 3.125rem;
    font-size: 0.75rem;
}
.sar-header-meta:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.sar-header-meta p {
    margin-bottom: 0;
}
.sar-header-meta a {
    text-decoration-thickness: 1px;
    text-underline-offset: 0.1em;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-header-meta {
        gap: 2.4em;
        margin-bottom: 4.055555555555555rem;
        font-size: 0.8333333333333334rem;
    }
}
.sar-title {
    --ost-init-delay: 0.3s;
}
.sar-title:not(:has(.line)) {
    opacity: 0;
}
.sar-title .line {
    transition: opacity 1.2s var(--delay, 0s), transform 1.2s var(--delay, 0s) var(--ease-out-quart);
    transform-origin: 0% 50%;
}
.sar-title:not(.-observed) .line {
    opacity: 0;
    transform: var(--ost-transform-line);
}
.sar-title,
.sar-title *,
.sar-title:after,
.sar-title:before {
    letter-spacing: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-title {
        max-width: 17.67741935em;
    }
}
.sar-project-header {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 2.5rem;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-project-header {
        flex-direction: column;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-project-header {
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 1.6666666666666667rem;
        margin-top: -1.9444444444444444rem;
        margin-bottom: 3.3333333333333335rem;
    }
}
.sar-project-title {
    transition: var(--ost);
    transition-property: opacity, transform;
    color: var(--grey);
}
.sar-project-title:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.sar-project-partners {
    transition: opacity 1.2s;
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 2);
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-right: calc(var(--side-padding) * -1);
    padding-top: 0.8888888888888888rem;
}
.sar-project-partners:not(.-observed) {
    opacity: 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-project-partners {
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .sar-project-partners:has(.sar-project-partners-logo-container:nth-child(3)) {
        justify-content: flex-end;
        margin-left: calc(var(--side-padding) * -1);
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-project-partners {
        margin-left: auto;
        gap: 1.3888888888888888rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-project-partners-title {
        font-size: 0.8125rem;
    }
    .sar-project-partners:has(.sar-project-partners-logo-container:nth-child(3)) .sar-project-partners-title {
        margin-right: var(--side-padding);
    }
    .sar-project-partners:has(.sar-project-partners-logo-container:nth-child(3)) .sar-project-partners-title br {
        display: none;
    }
}
.sar-project-partners-logos {
    display: flex;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-project-partners-logos {
        flex-wrap: wrap;
    }
}
.sar-project-partners-logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 7.916666666666667rem;
    height: 3.3333333333333335rem;
}
.sar-project-partners-logo-container:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.21);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-project-partners-logo-container {
        flex: 1;
    }
    .sar-project-partners:has(.sar-project-partners-logo-container:nth-child(6)) .sar-project-partners-logo-container {
        flex: initial;
        width: 33.333%;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-project-partners-logo-container {
        width: 10.555555555555555rem;
        height: 4.444444444444445rem;
    }
}
.sar-project-partners-logo {
    width: var(--width, 50%);
    height: auto;
}
.sar-main-image {
    clip-path: inset(0 0 0 0);
    transition: clip-path 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s), opacity 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s);
    width: 100%;
    height: auto;
    aspect-ratio: 1655/898;
    -o-object-fit: cover;
    object-fit: cover;
}
.sar-main-image-container:not(.-observed) .sar-main-image {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
}
.sar-columns {
    margin-top: 3.125rem;
    border-top: 1px solid var(--border-color);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-columns {
        display: flex;
        flex-direction: column-reverse;
        gap: 4.375rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-columns {
        display: grid;
        grid-template-columns: 21.666666666666668rem auto;
        margin-top: 5.222222222222222rem;
    }
}
.sar-sidebar {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: auto;
    padding-top: 3.75rem;
    padding-right: 1.5555555555555556rem;
    padding-bottom: 3.75rem;
    position: sticky;
    top: 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-sidebar {
        border-top: 1px solid var(--border-color);
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-sidebar {
        padding-top: 3.2222222222222223rem;
        padding-bottom: 6.833333333333333rem;
    }
    .sar-sidebar:has(.sar-quote) {
        min-height: 100vh;
    }
}
.sar-meta dt,
.sar-meta dd {
    transition: opacity 1.2s;
}
.sar-meta dt:nth-of-type(2),
.sar-meta dd:nth-of-type(2) {
    transition-delay: calc(var(--ost-init-delay) + 75ms * 1);
}
.sar-meta dt:nth-of-type(3),
.sar-meta dd:nth-of-type(3) {
    transition-delay: calc(var(--ost-init-delay) + 75ms * 2);
}
.sar-meta dt:nth-of-type(4),
.sar-meta dd:nth-of-type(4) {
    transition-delay: calc(var(--ost-init-delay) + 75ms * 3);
}
.sar-meta dt:nth-of-type(5),
.sar-meta dd:nth-of-type(5) {
    transition-delay: calc(var(--ost-init-delay) + 75ms * 4);
}
.sar-meta dt:nth-of-type(6),
.sar-meta dd:nth-of-type(6) {
    transition-delay: calc(var(--ost-init-delay) + 75ms * 5);
}
.sar-meta dt:nth-of-type(7),
.sar-meta dd:nth-of-type(7) {
    transition-delay: calc(var(--ost-init-delay) + 75ms * 6);
}
.sar-meta dt:nth-of-type(8),
.sar-meta dd:nth-of-type(8) {
    transition-delay: calc(var(--ost-init-delay) + 75ms * 7);
}
.sar-meta dt {
    color: var(--grey);
}
.sar-meta dt:not(:first-child) {
    margin-top: calc(var(--base-line-height) * 1em);
}
.sar-meta dd {
    text-wrap: balance;
}
.sar-meta:not(.-observed) dt,
.sar-meta:not(.-observed) dd {
    opacity: 0;
}
.sar-quote {
    transition: opacity 1.2s;
    margin-top: 3.75rem;
}
.sar-quote:not(.-observed) {
    opacity: 0;
}
.sar-quote .icon {
    width: 1.875rem;
    height: 1.875rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-quote {
        margin-top: 5rem;
    }
    .sar-quote .icon {
        width: 3.02rem;
        height: 2.878888888888889rem;
    }
}
.sar-quote-text {
    margin-top: 1.5555555555555556rem;
    font-size: 1.25rem;
    line-height: 1.25;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-quote-text {
        font-size: 1.3333333333333333rem;
    }
}
.sar-quote-footer {
    margin-top: 1em;
    color: var(--grey);
}
.sar-main {
    --mb-xl: 3.75rem;
    padding-top: 3.125rem;
}
.sar-main h2 {
    --text-indent: 2.3em;
    max-width: 25.80952381em;
}
.sar-main h2:not(:last-child) {
    margin-bottom: var(--mb-xl);
}
.sar-main h2,
.sar-main h2 *,
.sar-main h2:after,
.sar-main h2:before {
    letter-spacing: 0;
}
.sar-main h2 .hidden-desktop,
.sar-main h2 .hidden-mobile {
    display: block;
}
.sar-main h2 .hidden-desktop:not(:has(.line)),
.sar-main h2 .hidden-mobile:not(:has(.line)) {
    opacity: 0;
}
.sar-main h2 .hidden-desktop .line,
.sar-main h2 .hidden-mobile .line {
    transition: opacity 1.2s var(--delay, 0s), transform 1.2s var(--delay, 0s) var(--ease-out-quart);
    transform-origin: 0% 50%;
}
.sar-main h2 .hidden-desktop:not(.-observed) .line,
.sar-main h2 .hidden-mobile:not(.-observed) .line {
    opacity: 0;
    transform: var(--ost-transform-line);
}
.sar-main h2 .line:first-child {
    text-indent: var(--text-indent);
}
.sar-main p:not(.sar-main-stats-item-desc),
.sar-main ul,
.sar-main ol {
    transition: var(--ost);
    transition-property: opacity, transform;
}
.sar-main p:not(.sar-main-stats-item-desc):not(.-observed),
.sar-main ul:not(.-observed),
.sar-main ol:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.sar-main .image-container {
    width: 100%;
}
.sar-main .image-container:not(:last-child) {
    margin-bottom: var(--mb-xl);
}
.sar-main img,
.sar-main video {
    clip-path: inset(0 0 0 0);
    transition: clip-path 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s), opacity 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s);
    width: 100%;
    height: auto;
}
.image-container:not(.-observed) .sar-main img,
.image-container:not(.-observed) .sar-main video {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-main {
        --mb-xl: 5.555555555555555rem;
        padding-top: 7rem;
        padding-left: 3.0555555555555554rem;
        padding-bottom: 6.833333333333333rem;
        border-left: 1px solid var(--border-color);
    }
    .sar-main h2 {
        --text-indent: 6.8em;
    }
    .sar-main p:not(.sar-main-stats-item-desc),
    .sar-main ul,
    .sar-main ol {
        max-width: 28em;
    }
}
.sar-caption {
    transition: opacity 1.2s;
    margin-top: -1.25rem;
    margin-bottom: 3.75rem;
    color: var(--grey);
}
.sar-caption:not(.-observed) {
    opacity: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-caption {
        margin-top: -3.7777777777777777rem;
        margin-bottom: 5.111111111111111rem;
    }
}
.sar-main .image-container:not(.-observed) img,
.sar-main .image-container:not(.-observed) video {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
}
.sar-main-columns {
    display: grid;
    gap: var(--mb-xl);
}
.sar-main-columns:not(:last-child) {
    margin-bottom: var(--mb-xl);
}
.sar-main-columns:has(+ img):not(:last-child),
.sar-main-columns:has(+ video):not(:last-child) {
    margin-bottom: 3.888888888888889rem;
}
.sar-main-stats + .sar-main-columns {
    padding-top: 3.75rem;
    border-top: 1px solid var(--border-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-main-columns {
        grid-template-columns: auto 33.5rem;
    }
    .sar-main-stats + .sar-main-columns {
        padding-top: 4.833333333333333rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-main-text-column {
        display: flex;
        flex-direction: column;
        max-width: 25em;
    }
}
.sar-main-text-column-title {
    margin-bottom: 3.125rem;
}
.sar-main-text-column-title:not(:has(.line)) {
    opacity: 0;
}
.sar-main-text-column-title .line {
    transition: opacity 1.2s var(--delay, 0s), transform 1.2s var(--delay, 0s) var(--ease-out-quart);
    transform-origin: 0% 50%;
}
.sar-main-text-column-title:not(.-observed) .line {
    opacity: 0;
    transform: var(--ost-transform-line);
}
.sar-main-text-column-title,
.sar-main-text-column-title *,
.sar-main-text-column-title:after,
.sar-main-text-column-title:before {
    letter-spacing: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-main-text-column-title {
        margin-bottom: auto;
        margin-right: -2.7777777777777777rem;
    }
}
.sar-main-stats {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 3.75rem;
}
.sar-main-stats:not(:last-child) {
    margin-bottom: var(--mb-xl);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-main-stats {
        gap: 4.444444444444445rem;
    }
}
.sar-main-stats-item {
    transition: var(--ost);
    transition-property: opacity, transform;
}
.sar-main-stats-item:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-main-stats-item {
        width: 18em;
    }
    .sar-main-stats-item:nth-child(3n + 2) {
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 1);
    }
    .sar-main-stats-item:nth-child(3n) {
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 2);
    }
}
.sar-main-stats-item-number {
    margin-bottom: 1.25rem;
    color: var(--grey);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-main-stats-item-number {
        font-size: 6.25rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-main-stats-item-number {
        margin-bottom: 2.2222222222222223rem;
    }
}
.sar-main-stats-item-title {
    margin-bottom: 1.5625rem;
    font-size: 1.6666666666666667rem;
    line-height: 1.2;
    letter-spacing: 0;
    font-family: var(--secondary-font);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-main-stats-item-title {
        margin-bottom: 1.9444444444444444rem;
    }
}
.sar-share {
    display: flex;
    padding-bottom: 2.5rem;
    padding-top: 2.5rem;
    border: solid var(--border-color);
    border-width: 1px 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-share {
        flex-direction: column;
        gap: 1.25rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-share {
        justify-content: space-between;
        align-items: center;
    }
}
.sar-share-title {
    transition: opacity 1.2s;
    color: var(--grey);
}
.sar-share:not(.-observed) .sar-share-title {
    opacity: 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-share-title {
        font-size: 0.875rem;
    }
}
.sar-share-items {
    transition: opacity 1.2s;
    display: flex;
}
.sar-share:not(.-observed) .sar-share-items {
    opacity: 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sar-share-items {
        justify-content: space-between;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sar-share-items {
        gap: 3.27777778em;
    }
}
@media (pointer: fine) {
    .sar-share-item-link {
        transition: color 0.15s;
    }
    .sar-share-item-link:hover {
        color: var(--grey);
    }
}
.sar-related {
    padding-bottom: 3.0555555555555554rem;
    padding-top: 3.0555555555555554rem;
    position: relative;
    z-index: 1;
}
.sar-related-title {
    color: var(--grey);
}
.sc {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    background-color: var(--bg-color);
}
.sc-inner {
    padding-top: 2.2222222222222223rem;
}
.sc-row {
    transition: opacity 1.2s;
    display: grid;
    padding-top: 1.875rem;
    padding-bottom: 3.5555555555555554rem;
    border-top: 1px solid var(--border-color);
}
.sc-row:not(.-observed) {
    opacity: 0;
}
.sc-row:last-child {
    padding-bottom: 0.8333333333333334rem;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sc-row {
        gap: 1.875rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sc-row {
        grid-template-columns: 38.888888888888886rem auto;
        padding-top: 3.0555555555555554rem;
    }
}
.sc-row-title {
    color: var(--grey);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sc-row-title {
        margin-bottom: auto;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sc-form {
        margin-top: -1.3888888888888888rem;
    }
}
.sc-form .field.-textarea {
    display: grid;
}
.sc-form .field.-textarea:after,
.sc-form .field.-textarea textarea {
    grid-area: 1/1/2/2;
    min-height: 9.375rem;
}
.sc-form .field.-textarea:after {
    content: attr(data-replicated-value) " ";
    visibility: hidden;
    padding: 1em 0;
    white-space: pre-wrap;
    border-bottom: 1px solid;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sc-form .field.-textarea:after,
    .sc-form .field.-textarea textarea {
        min-height: 7.222222222222222rem;
    }
}
.sc-form textarea {
    resize: none;
    overflow: hidden;
}
.sc-form-action {
    display: flex;
    margin-top: 2.3125rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sc-form-action {
        margin-top: 3.111111111111111rem;
    }
}
.sc-row-columns {
    display: flex;
}
.sc-row-columns strong {
    font-weight: inherit;
    color: var(--grey);
}
.sc-row-columns a:not([class]) {
    text-decoration: none;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sc-row-columns {
        flex-direction: column;
        gap: calc(var(--base-line-height) * 1em);
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sc-row-columns {
        justify-content: space-between;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sc-row-column:nth-child(2):has(p) {
        width: calc(50% - 0.7222222222222222rem);
    }
}
.sft {
    padding: 3.125rem var(--side-padding) 4.375rem;
    position: relative;
}
.sft:before,
.sft:after {
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
    z-index: -1;
    background-color: var(--bg-color);
    pointer-events: none;
}
.sft:before {
    top: 0;
    height: 17.88888888888889rem;
}
.sft:after {
    bottom: 0;
    height: 7.222222222222222rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sft {
        padding-bottom: 7.222222222222222rem;
        padding-top: 6.666666666666667rem;
    }
}
.sft-inner {
    padding-top: 2.888888888888889rem;
    border-top: 1px solid var(--border-color);
}
.sft-caption {
    transition: opacity 1.2s;
    margin-bottom: 4.375rem;
    color: var(--grey);
}
.sft-caption:not(.-observed) {
    opacity: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sft-caption {
        margin-bottom: 6.944444444444445rem;
    }
}
.sft-items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.75rem 1.875rem;
    position: relative;
    background-color: var(--bg-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sft-items {
        gap: 6.111111111111111rem 0;
        max-width: 62.22222222222222rem;
        margin-left: calc(var(--side-padding) * -1);
        padding-left: var(--side-padding);
    }
    .sft-items:before {
        content: "";
        width: 13.333333333333334rem;
        height: 50%;
        position: absolute;
        bottom: 0;
        left: 100%;
        z-index: -1;
        background-color: var(--bg-color);
    }
}
.sft-item {
    transition: var(--ost);
    transition-property: opacity, transform;
}
.sft-item:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.sft-item:nth-child(2n) {
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 1);
}
.sft-item-title {
    margin-bottom: 1.1111111111111112rem;
    color: var(--grey);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sft-item-desc {
        max-width: 17em;
        text-wrap: pretty;
    }
}
.sfh {
    overflow: hidden;
    padding-bottom: 3.125rem;
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    background-color: var(--bg-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh {
        --extra-width: calc(var(--content-width) * 1px - 100vw + var(--side-padding) * 2);
        min-height: calc(var(--initial-height) * 1px + var(--extra-width));
        margin-top: -1.1111111111111112rem;
        position: relative;
    }
}
@media (min-width: 1024px) and (max-height: 55.55vw), (min-width: 768px) and (orientation: portrait) and (max-height: 55.55vw) {
    .sfh {
        margin-top: 0;
    }
}
.sfh-inner {
    position: relative;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh-inner {
        padding-top: 1.2222222222222223rem;
        padding-bottom: 11.666666666666666rem;
    }
    .sfh.-fixed .sfh-inner {
        width: 100%;
        padding-left: var(--side-padding);
        padding-right: var(--side-padding);
        position: fixed;
        top: 0;
        left: 0;
    }
    .sfh.-bottom .sfh-inner {
        width: 100%;
        padding-left: var(--side-padding);
        padding-right: var(--side-padding);
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .sfh-inner:last-child {
        padding-bottom: 8.88888888888889rem;
    }
}
@media (min-width: 1024px) and (max-height: 55.55vw), (min-width: 768px) and (orientation: portrait) and (max-height: 55.55vw) {
    .sfh-inner {
        padding-top: 0;
    }
}
.sfh-items {
    padding-bottom: 2.2222222222222223rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh-items {
        display: flex;
        gap: 1.2222222222222223rem;
        width: -moz-max-content;
        width: max-content;
        transform: translate(calc(var(--extra-width) * var(--progress) * -1));
        will-change: transform;
    }
}
.sfh-item:has(*) {
    cursor: none;
}
.sfh-item:nth-of-type(1) {
    --delay: 0.3s;
}
.sfh-item:nth-of-type(2) {
    --delay: 0.5s;
}
.sfh-item:nth-of-type(3) {
    --delay: 0.7s;
}
.sfh-item:nth-of-type(4) {
    --delay: calc(0.3s + (4 - 1) * 0.2s);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sfh-item {
        width: 22rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh-item {
        flex-shrink: 0;
        width: 28.666666666666668rem;
    }
}
.sfh-item-image {
    clip-path: inset(0 0 0 0);
    transition: clip-path 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s), opacity 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s);
    width: 100%;
    height: auto;
    margin-bottom: 1.25rem;
    aspect-ratio: 352/500;
    -o-object-fit: cover;
    object-fit: cover;
}
.sfh-items:not(.-observed) .sfh-item-image {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh-item-image {
        width: 31.27777777777778rem;
        aspect-ratio: 516/581;
        margin-bottom: 2.4444444444444446rem;
    }
}
@media (min-width: 1024px) and (max-height: 55.55vw), (min-width: 768px) and (orientation: portrait) and (max-height: 55.55vw) {
    .sfh-item-image {
        margin-bottom: 1.3333333333333333rem;
    }
}
@media (min-width: 1024px) and (max-height: 52.66vw), (min-width: 768px) and (orientation: portrait) and (max-height: 52.66vw) {
    .sfh-item-image {
        height: calc(100vh - 18.333333333333332rem);
        aspect-ratio: auto;
    }
}
.sfh-item-title,
.sfh-item-location,
.sfh-item-desc {
    transition: var(--ost);
    transition-property: opacity, transform;
    transition: opacity 1.2s calc(var(--delay, 0s) + 1s);
}
.sfh-items:not(.-observed) .sfh-item-title,
.sfh-items:not(.-observed) .sfh-item-location,
.sfh-items:not(.-observed) .sfh-item-desc {
    opacity: 0;
    transform: var(--ost-transform);
}
.sfh-item-title {
    margin-bottom: 0.3888888888888889rem;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sfh-item-title {
        font-size: 2.1875rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh-item-title {
        font-size: 2.5rem;
    }
}
.sfh-item-location {
    margin-bottom: 2.5625rem;
    opacity: 0.5;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh-item-location {
        margin-bottom: 2.5rem;
    }
}
@media (min-width: 1024px) and (max-height: 55.55vw), (min-width: 768px) and (orientation: portrait) and (max-height: 55.55vw) {
    .sfh-item-location {
        margin-bottom: 1.1111111111111112rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sfh-item-desc {
        max-width: 21em;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh-item-desc {
        max-width: 26.44444444em;
        max-height: calc(var(--base-line-height) * 6em);
        overflow: hidden;
    }
}
.sfh-cursor {
    --size: 7.111111111111111rem;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--size);
    height: var(--size);
    padding-left: 1.1111111111111112rem;
    padding-right: 1.1111111111111112rem;
    position: fixed;
    top: calc(var(--size) / -2);
    left: calc(var(--size) / -2);
    transform: translate(var(--pointer-x, 0), var(--pointer-y, 0));
    background-color: #d9d9d980;
    -webkit-backdrop-filter: blur(0.5555555555555556rem);
    backdrop-filter: blur(0.5555555555555556rem);
    text-align: center;
    color: var(--white);
    pointer-events: none;
}
@media (pointer: coarse) {
    .sfh-cursor {
        display: none;
    }
}
@media (pointer: fine) {
    .sr:has(.sr-item:hover) .sfh-cursor,
    .sfh:has(.sfh-item:hover) .sfh-cursor {
        opacity: 1;
    }
}
.sfh-more {
    display: flex;
    justify-content: center;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sfh-more {
        width: 100%;
        position: absolute;
        bottom: 4.611111111111111rem;
        left: 0;
    }
    .sfh:last-child .sfh-more {
        bottom: 1.8333333333333333rem;
    }
}
.sfh-scrollbar {
    height: 1px;
    position: relative;
    background-color: var(--border-color);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sfh-scrollbar {
        display: none;
    }
}
.sfh-scrollbar-inner {
    --width: 28.666666666666668rem;
    width: var(--width);
    height: 2px;
    position: absolute;
    top: -1px;
    left: 0;
    transform: translate(calc((100vw - var(--side-padding) * 2 - var(--width)) * var(--progress)));
    will-change: transform;
    background-color: currentColor;
    cursor: grab;
}
.sfh-scrollbar-inner:before {
    content: "";
    top: -0.5555555555555556rem;
    right: 0;
    bottom: -0.5555555555555556rem;
    left: 0;
    position: absolute;
}
.sfh.-scrollbar-dragging .sfh-scrollbar-inner {
    cursor: grabbing;
}
body.-scrollbar-dragging {
    cursor: grabbing;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}
.sgs {
    padding-bottom: 4.375rem;
    overflow: hidden;
    background-color: var(--bg-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sgs {
        padding-bottom: 7.777777777777778rem;
    }
}
.sgs-swiper {
    transition: opacity 1.2s;
}
.sgs-swiper:not(.-observed) {
    opacity: 0;
}
.sgs-items {
    cursor: grab;
    transition: none !important;
}
.sgs-items:active {
    cursor: grabbing;
}
.sgs-item {
    width: calc(var(--width, 20%) * 1.75);
}
.sgs-item img {
    width: 100%;
    height: auto;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sgs-item {
        width: var(--width, 20%);
    }
}
.sie {
    padding-bottom: 4.375rem;
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    background-color: var(--bg-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sie {
        padding: xx 4.833333333333333rem;
    }
}
.sie-inner {
    display: grid;
    place-items: center;
}
.sie-inner > *,
.sie-inner:after {
    grid-area: 1/1;
}
.sie-inner:has(.sie-text):after {
    content: "";
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: #26262633;
}
.sie-media-container {
    overflow: hidden;
    clip-path: inset(calc(10% * (1 - var(--scroll-progress, 0))));
}
.sie-media {
    width: 100%;
    height: auto;
    transform: scale(calc(1.05 - 0.05 * var(--scroll-progress, 0)));
}
.sie-text {
    z-index: 2;
    text-align: center;
    font-weight: 300;
    font-size: 2.5rem;
    line-height: 1.1;
    letter-spacing: 0;
    font-family: var(--secondary-font);
}
.sie-text:not(:has(.line)) {
    opacity: 0;
}
.sie-text .line {
    transition: opacity 1.2s var(--delay, 0s), transform 1.2s var(--delay, 0s) var(--ease-out-quart);
    transform-origin: 0% 50%;
}
.sie-text:not(.-observed) .line {
    opacity: 0;
    transform: var(--ost-transform-line);
}
.sie-text,
.sie-text *,
.sie-text:after,
.sie-text:before {
    letter-spacing: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sie-text {
        max-width: 63.333333333333336rem;
        font-size: 7.777777777777778rem;
    }
}
.sj {
    --bg-color: var(--light-grey);
    --border-color: var(--border-color-light);
    padding: 4.375rem var(--side-padding) 4.375rem;
    background-color: var(--bg-color);
    color: var(--x-dark-grey);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sj {
        padding-bottom: 5.111111111111111rem;
        padding-top: 5.888888888888889rem;
    }
}
.sj-inner {
    border-top: 1px solid var(--border-color);
}
.sj-title {
    transition: opacity 1.2s;
    margin-bottom: 3.125rem;
    margin-top: 3.125rem;
}
.sj-title:not(.-observed) {
    opacity: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sj-title {
        margin-bottom: 4.277777777777778rem;
        margin-top: 4.277777777777778rem;
    }
}
.sj-item {
    transition: var(--ost);
    transition-property: opacity, transform;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.875rem 1.25rem;
    padding-bottom: 2.038888888888889rem;
    padding-top: 2.038888888888889rem;
    border: solid var(--border-color);
    border-width: 0 0 1px;
}
.sj-item:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.sj-item:first-child {
    border-top-width: 1px;
}
.sj-item.-hidden {
    display: none;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sj-item {
        gap: 2.7777777777777777rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sj-item-title {
        width: 100%;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sj-item-title {
        width: 36.111111111111114rem;
    }
}
.sj-item-type {
    margin-bottom: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sj-item-type {
        width: 15.555555555555555rem;
    }
}
.sj-item-location {
    margin-bottom: 0;
    margin-right: auto;
}
.sj-more {
    display: flex;
    justify-content: center;
    margin-top: 4.277777777777778rem;
}
.sli {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    background-color: var(--bg-color);
}
.sli-inner {
    padding-top: 2.888888888888889rem;
    border-top: 1px solid var(--border-color);
}
.sli.-vertical .sli-inner {
    display: grid;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sli.-vertical .sli-inner {
        gap: 3.125rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sli.-vertical .sli-inner {
        grid-template-columns: 38.888888888888886rem auto;
    }
}
.sli-title {
    transition: opacity 1.2s;
    color: var(--grey);
}
.sli-title:not(.-observed) {
    opacity: 0;
}
.sli.-horizontal .sli-title {
    margin-bottom: 3.125rem;
}
.sli.-vertical .sli-title {
    margin-bottom: auto;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sli.-horizontal .sli-title {
        margin-bottom: 6.222222222222222rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sli.-horizontal .sli-items-wrapper {
        margin-left: calc(var(--side-padding) * -1);
        margin-right: calc(var(--side-padding) * -1);
        padding-left: var(--side-padding);
        padding-right: var(--side-padding);
        overflow: auto;
        scroll-snap-type: x mandatory;
        scroll-padding: 1.25rem;
    }
}
.sli.-vertical .sli-items {
    padding-top: 0.5555555555555556rem;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sli.-horizontal .sli-items {
        display: flex;
        width: -moz-fit-content;
        width: fit-content;
        gap: 1.25rem;
        padding-bottom: 1.25rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sli-items {
        display: grid;
    }
    .sli.-horizontal .sli-items {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.6666666666666667rem;
    }
}
.sli-item {
    transition: var(--ost);
    transition-property: opacity, transform;
}
.sli-item:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.sli.-horizontal .sli-item {
    padding: 2.0555555555555554rem 1.3888888888888888rem 1.9444444444444444rem;
    background-color: var(--light-grey);
    color: var(--x-dark-grey);
}
.sli.-vertical .sli-item {
    --padding-v: 3rem;
    display: grid;
    grid-template-columns: 5.625rem auto;
    padding-bottom: var(--padding-v);
}
.sli.-vertical .sli-item:not(:first-child) {
    padding-top: var(--padding-v);
}
.sli.-vertical .sli-item:not(:last-child) {
    border-bottom: 1px solid var(--border-color);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sli.-horizontal .sli-item {
        opacity: 1;
        width: 23.75rem;
        transform: none;
        scroll-snap-align: start;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sli.-horizontal .sli-item:nth-child(4n + 2) {
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 1);
    }
    .sli.-horizontal .sli-item:nth-child(4n + 3) {
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 2);
    }
    .sli.-horizontal .sli-item:nth-child(4n) {
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 3);
    }
    .sli.-vertical .sli-item {
        grid-template-columns: 15.555555555555555rem auto;
    }
}
.sli-item-number {
    font-weight: 300;
    font-size: 2.8125rem;
    line-height: 0.98214286;
    letter-spacing: 0;
    font-family: var(--secondary-font);
    color: var(--grey);
}
.sli.-horizontal .sli-item-number {
    margin-bottom: 2.7777777777777777rem;
}
.sli.-vertical .sli-item-number {
    margin-top: -0.125rem;
    margin-bottom: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sli-item-number {
        font-size: 4.444444444444445rem;
    }
    .sli.-vertical .sli-item-number {
        margin-top: -0.3888888888888889rem;
    }
}
.sli-item-title {
    margin-bottom: 2.3333333333333335rem;
    font-size: 1.3333333333333333rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sli.-horizontal .sli-item-title {
        min-height: calc(var(--base-line-height) * 2em);
    }
}
.sli-item-desc {
    text-wrap: pretty;
}
.smg {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    background-color: var(--bg-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .smg {
        padding-bottom: 1.3888888888888888rem;
    }
}
.smg-inner {
    display: grid;
    gap: 1.25rem;
}

/* @media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .smg-inner {
        grid-template-columns: 70% auto;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .smg-inner {
        grid-template-columns: auto 21.666666666666668rem;
        gap: 1.6666666666666667rem;
    }
} */
.smg-media-container.-full {
    grid-column: 1/3;
}
.smg-media {
    clip-path: inset(0 0 0 0);
    transition: clip-path 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s), opacity 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s);
    display: block;
    width: 100%;
}
.smg-media-container:not(.-observed) .smg-media {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
}
.smo {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    background-color: var(--bg-color);
}
.smo-caption {
    transition: opacity 1.2s;
    margin-bottom: 2.3333333333333335rem;
    padding-top: 2.888888888888889rem;
    border-top: 1px solid var(--border-color);
    color: var(--grey);
}
.smo-caption:not(.-observed) {
    opacity: 0;
}
.smo-columns {
    display: grid;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .smo-columns {
        gap: 3.125rem;
    }
    .smo:not(:has(.smo-image)) .smo-columns {
        gap: 0;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .smo.-layout-1 .smo-columns {
        grid-template-columns: 54.388888888888886rem auto;
        gap: 7.777777777777778rem;
        align-items: center;
    }
    .smo.-layout-2 .smo-columns > * {
        grid-area: 1/1;
    }
}
.smo-images {
    display: grid;
    gap: 1.25rem;
}
.smo.-layout-1 .smo-images {
    grid-template-columns: 6.527777777777778rem auto 10.052777777777777rem;
}
.smo.-layout-2 .smo-images {
    grid-template-columns: 6.416666666666667rem 4.166666666666667rem auto 6.416666666666667rem;
    margin-left: auto;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .smo-images {
        gap: 1.9444444444444444rem;
    }
    .smo.-layout-1 .smo-images {
        grid-template-columns: 13.88888888888889rem auto 21.38888888888889rem;
    }
    .smo.-layout-2 .smo-images {
        width: 77.66666666666667rem;
        grid-template-columns: 21.38888888888889rem 13.88888888888889rem auto 21.38888888888889rem;
        margin-left: auto;
    }
}
.smo-image {
    transition: var(--ost);
    transition-property: opacity, transform;
    width: 100%;
    height: auto;
}
.smo-image:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.smo.-layout-1 .smo-image:nth-child(1),
.smo.-layout-1 .smo-image:nth-child(4) {
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 2);
}
.smo.-layout-1 .smo-image:nth-child(1) {
    margin-top: auto;
}
.smo.-layout-1 .smo-image:nth-child(2) {
    width: 29.38888888888889rem;
    grid-column: 2/4;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .smo.-layout-1 .smo-image:nth-child(2) {
        width: 13.812777777777777rem;
    }
}
.smo.-layout-1 .smo-image:nth-child(3) {
    grid-column: 1/3;
}
.smo.-layout-2 .smo-image:nth-child(1) {
    grid-column: 2/3;
    margin-top: auto;
}
.smo.-layout-2 .smo-image:nth-child(2) {
    grid-column: 3/5;
    width: 29.38888888888889rem;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .smo.-layout-2 .smo-image:nth-child(2) {
        width: 8.816666666666666rem;
    }
}
.smo.-layout-2 .smo-image:nth-child(4) {
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 1);
    grid-column: 2/4;
}
.smo.-layout-2 .smo-image:nth-child(5) {
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 2);
}
.smo-details {
    transition: var(--ost);
    transition-property: opacity, transform;
}
.smo-details:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .smo.-layout-1 .smo-details {
        padding-bottom: 8.333333333333334rem;
    }
    .smo.-layout-2 .smo-details {
        width: 30.27777777777778rem;
    }
}
.smo-title {
    margin-bottom: 2.4444444444444446rem;
}
.smo-desc:not(:last-child) {
    margin-bottom: 2.4444444444444446rem;
}
.spo {
    overflow: hidden;
    padding-bottom: 5.75rem;
    padding-top: 4.111111111111111rem;
    background-color: var(--bg-color);
}
.spo.-bg-light {
    --bg-color: var(--light-grey);
    --border-color: var(--border-color-light);
    color: var(--x-dark-grey);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo.-no-swiper {
        padding-bottom: 1.25rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .spo {
        padding-bottom: 4.833333333333333rem;
        padding-top: 2.2222222222222223rem;
    }
    .spo:not(.-bg-light):last-child {
        padding-bottom: 1.6666666666666667rem;
    }
}
.spo-header {
    transition: opacity 1.2s;
    margin-left: var(--side-padding);
    margin-right: var(--side-padding);
    padding-bottom: 3.5rem;
    padding-top: 2.125rem;
    border: solid var(--border-color);
    border-width: 1px 0 0;
}
.spo-header:not(.-observed) {
    opacity: 0;
}
@media (pointer: fine) {
    .spo:has(.spo-item:first-child:hover) .spo-header {
        border-bottom-color: transparent;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .spo-header {
        margin-top: 4.222222222222222rem;
        padding-bottom: 3.4444444444444446rem;
        padding-top: 3.4444444444444446rem;
        border-bottom-width: 1px;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo-title {
        font-size: 0.875rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo-items {
        padding-left: calc(var(--side-padding));
        padding-right: calc(var(--side-padding));
    }
    .spo.-no-swiper .spo-items {
        display: flex;
        flex-direction: column;
        gap: 3.125rem;
    }
}
.spo-item {
    display: flex;
    justify-content: space-between;
    position: relative;
}
@media (pointer: fine) {
    .spo-item:before {
        content: "";
        opacity: 0;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background-color: var(--grey);
        box-shadow: 0 1px 0 var(--grey);
        transition: 0.15s;
        transition-property: opacity;
    }
    .spo-item:hover:before {
        opacity: 1;
    }
    .spo-item:has(+ .spo-item:hover) {
        border-color: transparent;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo-item {
        flex-direction: column-reverse;
        gap: 1.4375rem;
    }
    .swiper .spo-item {
        width: 22rem;
        transition: 1.2s var(--delay) var(--ease-out-quart);
        transition-property: opacity, transform;
    }
    .swiper .spo-item:nth-of-type(1) {
        --delay: 0s;
    }
    .swiper .spo-item:nth-of-type(2) {
        --delay: 0.1s;
    }
    .spo.-no-swiper .spo-item {
        transition: opacity 1.2s;
    }
    .spo.-no-swiper .spo-item:not(.-observed) {
        opacity: 0;
    }
    .spo.-no-swiper .spo-item.-hidden {
        display: none;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .spo-item {
        --ost-transform: translateY(5.555555555555555rem);
        transition: opacity 1.2s;
        padding: 1.7777777777777777rem var(--side-padding) 2.0555555555555554rem;
        border-bottom: 1px solid var(--border-color);
    }
    .spo-item:not(.-observed) {
        opacity: 0;
    }
    .spo:not(:has(.spo-header)) .spo-item:first-child {
        border-top: 1px solid var(--border-color);
    }
    .spo-item.-hidden {
        display: none;
    }
}
.spo-item-details {
    max-width: 41.77777777777778rem;
    position: relative;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo-item-details {
        transition: opacity 1.2s calc(var(--delay, 0s) + 1s);
        transition: opacity 1.2s;
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 6);
    }
    .spo-items:not(.-observed) .spo-item-details {
        opacity: 0;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .spo-item-details {
        display: flex;
        flex-direction: column;
        gap: 2.7222222222222223rem;
    }
}
.spo-item-meta {
    display: flex;
    gap: 3em;
    font-size: 0.75rem;
}
.spo-item-meta p {
    margin-bottom: 0;
}
.spo-item-meta u {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.1em;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo-item-meta {
        margin-bottom: 0.8125rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .spo-item-meta {
        gap: 2.4em;
        font-size: 0.8333333333333334rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo-item-title {
        max-width: 18.75em;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo-item-desc {
        display: none;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .spo-item-desc {
        max-width: 32.88888889em;
        margin-top: auto;
    }
}
.spo-item-image-container {
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
}
.spo-item-image {
    width: 100%;
    height: auto;
    aspect-ratio: 563/351;
    -o-object-fit: cover;
    object-fit: cover;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .swiper .spo-item-image {
        clip-path: inset(0 0 0 0);
        transition: clip-path 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s), opacity 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s);
        aspect-ratio: 352/500;
    }
    .spo-items:not(.-observed) .swiper .spo-item-image {
        opacity: 0;
        clip-path: inset(0 0 100% 0);
    }
    .spo.-no-swiper .spo-item-image {
        clip-path: inset(0 0 0 0);
        transition: clip-path 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s), opacity 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s);
    }
    .spo.-no-swiper .spo-item:not(.-observed) .spo-item-image {
        opacity: 0;
        clip-path: inset(0 0 100% 0);
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .spo-item-image {
        clip-path: inset(0 0 0 0);
        transition: clip-path 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s), opacity 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s);
        width: 31.27777777777778rem;
    }
    .spo-item:not(.-observed) .spo-item-image {
        opacity: 0;
        clip-path: inset(0 0 100% 0);
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo-items:not(.-observed) .spo-item-image {
        opacity: 0;
        clip-path: inset(0 0 100% 0);
    }
}
.spo-more {
    transition: opacity 1.2s;
    display: flex;
    justify-content: center;
    margin-top: 4.611111111111111rem;
}
.spo-more:not(.-observed) {
    opacity: 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo:not(.-no-swiper) .spo-more {
        display: none;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spo .swiper-scrollbar-drag:before {
        background-color: var(--x-dark-grey);
    }
}
.spj {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    background-color: var(--bg-color);
}
.spj-items {
    display: grid;
    gap: 2.6666666666666665rem;
}
.spj-item {
    perspective: 166.66666666666666rem;
}
.spj-item.-hidden {
    display: none;
}
.spj-item-inner {
    --border-color: var(--border-color-light);
    display: flex;
    gap: 2.388888888888889rem;
    background-color: var(--light-grey);
    color: var(--x-dark-grey);
    transition: var(--ost);
    transition-property: opacity, transform;
}
.spj-item:not(.-observed) .spj-item-inner {
    opacity: 0;
    transform: rotateX(20deg) translateZ(-16.666666666666668rem);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .spj-item-inner {
        flex-direction: column;
    }
}
.spj-item-image {
    width: 100%;
    height: 15.9375rem;
    -o-object-fit: cover;
    object-fit: cover;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .spj-item-image {
        width: 45.833333333333336rem;
        height: 29.27777777777778rem;
    }
}
.spj-item-details {
    display: flex;
    flex-direction: column;
    padding-bottom: 2.5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .spj-item-details {
        padding: 2.388888888888889rem 0 1.9444444444444444rem;
    }
}
.spj-item-title {
    margin-bottom: 0.8333333333333334rem;
}
.spj-item-title a {
    letter-spacing: inherit;
}
.spj-item-desc {
    transition: opacity 1.2s;
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 2);
    max-width: 33em;
    margin-top: auto;
    margin-bottom: 1.8888888888888888rem;
}
.spj-item:not(.-observed) .spj-item-desc {
    opacity: 0;
}
.spj-item-button-container {
    transition: opacity 1.2s;
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 3);
}
.spj-item:not(.-observed) .spj-item-button-container {
    opacity: 0;
}
.spj-more {
    transition: opacity 1.2s;
    display: flex;
    justify-content: center;
    margin-top: 4.944444444444445rem;
    padding-bottom: 1.6666666666666667rem;
}
.spj-more:not(.-observed) {
    opacity: 0;
}
.sr {
    overflow: hidden;
    padding-bottom: 3.125rem;
    padding-top: 2.1666666666666665rem;
    background-color: var(--bg-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sr {
        padding: 3.0555555555555554rem var(--side-padding) 3.0555555555555554rem;
    }
}
.sr-header {
    transition: opacity 1.2s;
}
.sr-header:not(.-observed) {
    opacity: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sr-header {
        margin-bottom: 3.0555555555555554rem;
    }
}
.sr-title {
    color: var(--grey);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sr-title {
        margin-bottom: 3.5rem;
        margin-left: var(--side-padding);
        font-size: 0.875rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sr-items {
        padding-left: calc(var(--side-padding));
        padding-right: calc(var(--side-padding));
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sr-items {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.7777777777777777rem;
    }
}
.sr-item {
    display: flex;
    flex-direction: column-reverse;
    gap: 2.4444444444444446rem;
}
@media (pointer: fine) {
    .sr-item {
        transition: color 0.15s;
    }
    .sr-item:has(*) {
        cursor: none;
    }
    .sr-item:hover {
        color: var(--grey);
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sr-item {
        gap: 1.4375rem;
        width: 22rem;
        transition: 1.2s var(--delay) var(--ease-out-quart);
        transition-property: opacity, transform;
    }
    .sr-item:nth-of-type(1) {
        --delay: 0s;
    }
    .sr-item:nth-of-type(2) {
        --delay: 0.1s;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sr-item {
        margin-bottom: auto;
    }
    .sr-item:nth-of-type(1) {
        --delay: 0.3s;
    }
    .sr-item:nth-of-type(2) {
        --delay: 0.5s;
    }
    .sr-item:nth-of-type(3) {
        --delay: 0.7s;
    }
}
.sr-item-details {
    transition: opacity 1.2s calc(var(--delay, 0s) + 1s);
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sr-item-details {
        transition: opacity 1.2s;
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 6);
    }
    .sr-items:not(.-observed) .sr-item-details {
        opacity: 0;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sr-item-details {
        transition: opacity 1.2s;
    }
    .sr-item:not(.-observed) .sr-item-details {
        opacity: 0;
    }
}
.sr-item-meta {
    display: flex;
    gap: 3em;
    margin-bottom: 0.8125rem;
    font-size: 0.75rem;
}
.sr-item-meta p {
    margin-bottom: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sr-item-meta {
        gap: 2.4em;
        margin-bottom: 1.9444444444444444rem;
        font-size: 0.8333333333333334rem;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sr-item-title {
        max-width: 18.75em;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sr-item-title {
        max-width: 13.4em;
        font-weight: 300;
        font-size: 1.875rem;
        line-height: 1.2;
        letter-spacing: 0;
        font-family: var(--secondary-font);
    }
}
.sr-item-image-container {
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sr-item-image-container {
        clip-path: inset(0 0 0 0);
        transition: clip-path 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s), opacity 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s);
    }
    .sr-items:not(.-observed) .sr-item-image-container {
        opacity: 0;
        clip-path: inset(0 0 100% 0);
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sr-item-image-container {
        clip-path: inset(0 0 0 0);
        transition: clip-path 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s), opacity 1.3s cubic-bezier(0.65, 0, 0.35, 1) var(--delay, 0.3s);
    }
    .sr-item:not(.-observed) .sr-item-image-container {
        opacity: 0;
        clip-path: inset(0 0 100% 0);
    }
}
.sr-item-image {
    width: 100%;
    height: auto;
    aspect-ratio: 352/500;
    -o-object-fit: cover;
    object-fit: cover;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .sr-item-image {
        aspect-ratio: 1;
    }
}
.sr-cursor {
    --size: 7.111111111111111rem;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--size);
    height: var(--size);
    padding-left: 1.1111111111111112rem;
    padding-right: 1.1111111111111112rem;
    position: fixed;
    top: calc(var(--size) / -2);
    left: calc(var(--size) / -2);
    transform: translate(var(--pointer-x, 0), var(--pointer-y, 0));
    background-color: #d9d9d980;
    -webkit-backdrop-filter: blur(0.5555555555555556rem);
    backdrop-filter: blur(0.5555555555555556rem);
    text-align: center;
    color: var(--white);
    pointer-events: none;
}
@media (pointer: coarse) {
    .sr-cursor {
        display: none;
    }
}
@media (pointer: fine) {
    .sr:has(.sr-item:hover) .sr-cursor,
    .sfh:has(.sfh-item:hover) .sr-cursor {
        opacity: 1;
    }
}
.sr-more {
    transition: opacity 1.2s;
    display: flex;
    justify-content: center;
    margin-top: 6.666666666666667rem;
    padding-top: 5.333333333333333rem;
    border-top: 1px solid var(--border-color);
}
.sr-more:not(.-observed) {
    opacity: 0;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sr-more {
        display: none;
    }
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .sr .swiper-scrollbar-drag:before {
        background-color: var(--white);
    }
}
.stt {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
}
.stt-inner {
    display: grid;
    gap: 3.75rem 0;
    padding-bottom: 0.3125rem;
    position: relative;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .stt-inner {
        background-color: var(--bg-color);
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stt-inner {
        max-width: 66.66666666666667rem;
        grid-template-columns: repeat(2, 1fr);
        gap: 5.111111111111111rem 0;
        padding-bottom: 2.111111111111111rem;
    }
    .stt-inner:before,
    .stt-inner:after {
        content: "";
        width: 80%;
        top: 0;
        bottom: 0;
        left: calc(var(--side-padding) * -1);
        position: absolute;
        z-index: -1;
        background-color: var(--bg-color);
    }
    .stt-inner:after {
        width: 100%;
        top: 8.333333333333334rem;
    }
}
.stt-item {
    transition: var(--ost);
    transition-property: opacity, transform;
}
.stt-item:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stt-item:nth-child(2n) {
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay) * 1);
    }
}
.stt-item-number {
    margin-bottom: 1.25rem;
    line-height: 1;
    font-size: 6.25rem;
    letter-spacing: 0;
    font-family: var(--secondary-font);
    color: var(--grey);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stt-item-number {
        margin-bottom: 2.4444444444444446rem;
        font-size: 9.444444444444445rem;
    }
}
.stt-item-title {
    margin-bottom: 1.5625rem;
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: 0;
    font-family: var(--secondary-font);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stt-item-title {
        margin-bottom: 1.9444444444444444rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stt-item-desc {
        max-width: 20em;
    }
}
.ste-groups {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    background-color: var(--bg-color);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .ste-groups {
        margin-left: 23.333333333333332rem;
    }
}
.ste-group {
    transition: var(--ost);
    transition-property: opacity, transform;
}
.ste-group:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.ste-group:first-child {
    padding-top: 1.3888888888888888rem;
    border-top: 1px solid var(--border-color);
}
.ste-group:not(:last-child) {
    margin-bottom: 5rem;
}
.ste-group-title {
    margin-bottom: 1.3888888888888888rem;
}
.ste-item {
    transition: var(--ost);
    transition-property: opacity, transform;
    border: solid var(--border-color);
    border-width: 0 0 1px;
}
.ste-item:not(.-observed) {
    opacity: 0;
    transform: var(--ost-transform);
}
.ste-item:first-child {
    border-top-width: 1px;
}
.ste-item.-hidden {
    display: none;
}
.ste-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1.1666666666666667rem;
    padding-top: 1.1666666666666667rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.ste-item-header .icon {
    flex-shrink: 0;
    width: 0.9925rem;
    height: 1rem;
}
.ste-item.-expanded .ste-item-header .icon path:nth-child(2) {
    opacity: 0;
}
@media (pointer: fine) {
    .ste-item-header {
        transition: color 0.15s;
    }
    .ste-item:hover .ste-item-header {
        color: var(--grey);
    }
}
.ste-item-name {
    margin-bottom: 0.16666666666666666rem;
    font-size: 1.3333333333333333rem;
    letter-spacing: 0.03em;
}
.ste-item-position {
    font-size: 0.8333333333333334rem;
    letter-spacing: 0.03em;
    color: var(--grey);
}
.ste-item-details {
    display: grid;
    grid-template-rows: 0fr;
    position: relative;
    opacity: 0;
    transition: 0.35s var(--ease-out-quart);
    transition-property: opacity, grid-template-rows;
}
.ste-item.-expanded .ste-item-details {
    grid-template-rows: 1fr;
    opacity: 1;
}
.ste-item-details-inner {
    overflow: hidden;
}
.ste-item-details-inner-2 {
    padding-bottom: 2.0555555555555554rem;
    padding-top: 0.2777777777777778rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .ste-item-details-inner-2 {
        display: grid;
        grid-template-columns: 21.666666666666668rem auto;
        gap: 0 1.7222222222222223rem;
    }
    .ste-item-details-inner-2:not(:has(.ste-item-image)) {
        grid-template-columns: auto;
        gap: 1.7222222222222223rem;
    }
}
.ste-item-image {
    grid-row: 1/3;
    width: 100%;
    height: auto;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .ste-item-desc {
        margin-top: 1.875rem;
        margin-bottom: 1.875rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .ste-item-desc {
        max-width: 38.833333333333336rem;
    }
}
.ste-item-button-container {
    margin-top: auto;
}
.ste-bottom-bar {
    height: 3.5rem;
    background-color: var(--bg-color);
}
.ste-more {
    transition: opacity 1.2s;
    display: flex;
    justify-content: center;
    padding-top: 3.5rem;
    background-color: var(--bg-color);
}
.ste-more:not(.-observed) {
    opacity: 0;
}
.stx {
    overflow: hidden;
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    position: relative;
}
.stx-inner {
    padding-top: 4.166666666666667rem;
    padding-bottom: 4.5625rem;
    position: relative;
}
.stx-inner:before {
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    left: calc(var(--side-padding) * -1);
    right: 0;
    z-index: -1;
    background-color: var(--bg-color);
    pointer-events: none;
}
.stx.-bg-full .stx-inner:before {
    width: 100vw;
    right: auto;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stx-inner {
        --parallax-range: 5.555555555555555rem;
        padding-right: 7.111111111111111rem;
    }
    .stx.-m .stx-inner {
        max-width: 68.88888888888889rem;
    }
    .stx.-ml .stx-inner {
        max-width: 75.55555555555556rem;
    }
    .stx.-l .stx-inner {
        max-width: 82.22222222222223rem;
    }
    .stx:first-child:has(+ .smg) .stx-inner {
        opacity: calc(1 - var(--scroll-progress, 0));
        transform: translateY(calc(var(--scroll-progress, 0) * var(--parallax-range) * 1));
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stx-inner {
        padding-bottom: 6.055555555555555rem;
    }
}
.stx-caption {
    transition: opacity 1.2s;
    margin-bottom: 2.625rem;
    padding-top: 2.1875rem;
    position: relative;
    color: var(--grey);
}
.stx-caption:not(.-observed) {
    opacity: 0;
}
.stx-caption:after {
    content: "";
    width: 100%;
    min-width: calc(100vw - var(--side-padding) * 2);
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--border-color);
    pointer-events: none;
}
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .stx-caption {
        font-size: 0.875rem;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stx-caption {
        margin-top: -4.166666666666667rem;
        margin-bottom: 4.722222222222222rem;
        padding-top: calc(3rem + 4.166666666666667rem);
        background-color: var(--bg-color);
    }
    .stx-caption:after {
        top: 4.166666666666667rem;
    }
    .stx.-m .stx-caption {
        min-width: calc(100vw - var(--side-padding) * 2);
    }
    .stx.-l .stx-caption {
        margin-right: calc(-7.111111111111111rem + var(--side-padding));
    }
}
.stx-text {
    --text-indent: 2.3em;
    margin-bottom: 0;
}
.stx-text:not(:has(.line)) {
    opacity: 0;
}
.stx-text .line {
    transition: opacity 1.2s var(--delay, 0s), transform 1.2s var(--delay, 0s) var(--ease-out-quart);
    transform-origin: 0% 50%;
}
.stx-text:not(.-observed) .line {
    opacity: 0;
    transform: var(--ost-transform-line);
}
.stx-text,
.stx-text *,
.stx-text:after,
.stx-text:before {
    letter-spacing: 0;
}
/* .stx-text .line:first-child {
    text-indent: var(--text-indent);
} */
@media (max-width: 767px), (max-width: 1023px) and (orientation: landscape) {
    .stx-text.-desktop {
        display: none;
    }
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stx-text {
        --text-indent: 6.8em;
    }
    .stx-text.-mobile {
        display: none;
    }
}
.stx-buttons {
    display: flex;
    gap: 1.1666666666666667rem;
    margin-top: 3.125rem;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stx-buttons {
        margin-top: 4.833333333333333rem;
    }
}
.stz {
    padding-bottom: 3.125rem;
    padding-top: 3.125rem;
    background-color: var(--grey);
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stz {
        padding-bottom: 8.75rem;
        padding-top: 8.75rem;
    }
}
.stz-inner {
    display: grid;
    place-items: center;
}
.stz-inner > * {
    grid-area: 1/1;
}
.stz-image-container {
    width: 25.067777777777778rem;
    height: 34.69277777777778rem;
    overflow: hidden;
    position: relative;
    clip-path: inset(calc(15% * (1 - var(--scroll-progress, 0))));
}
.stz-image-container:after {
    content: "";
    inset: 0;
    position: absolute;
    background-color: #2626264d;
    mix-blend-mode: multiply;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stz-image-container {
        width: 32.55555555555556rem;
        height: 45.05555555555556rem;
    }
    .stz-image-container:after {
        background-color: #26262633;
    }
}
.stz-media {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transform: scale(calc(1.1 - 0.1 * var(--scroll-progress, 0)));
}
.stz-text {
    max-width: 10em;
    position: relative;
    text-align: center;
}
.stz-text:not(:has(.line)) {
    opacity: 0;
}
.stz-text .line {
    transition: opacity 1.2s var(--delay, 0s), transform 1.2s var(--delay, 0s) var(--ease-out-quart);
    transform-origin: 0% 50%;
}
.stz-text:not(.-observed) .line {
    opacity: 0;
    transform: var(--ost-transform-line);
}
.stz-text,
.stz-text *,
.stz-text:after,
.stz-text:before {
    letter-spacing: 0;
}
@media (min-width: 1024px), (min-width: 768px) and (orientation: portrait) {
    .stz-text {
        max-width: 20.8em;
    }
}