@import url("https://use.typekit.net/iaq4tqv.css");

:root {
    --accent: #6a9c98;
    --secondary: #a4d071;
    --bg: #ebeae5;
    --black: #013834;
    --dark: #006b64;
    --dark-bg: #333;
    --dark-gray: #5d5d5d;
    --gray: #d9d9d9;
    --light: #c7e1a7;
    --secondary-gradient: linear-gradient(359deg, #6159db 1.05%, #1000ff 132.74%);
    --white: #fff;
    --red: #e73737;
    --vh: 100vh;
    --main-font: 'tt-commons-pro';
    --alt-font: 'ivypresto-display';
    --base-font-weight: 300;
    --base-font-size: 1rem;
    --base-line-height: 1.227;
    --base-letter-spacing: -.04em;
    --side-padding: 1.5rem;
    --border-color: rgba(254, 249, 239, .3);
    --ease-out-quart: cubic-bezier(.165, .84, .44, 1);
    --ost-init-delay: .1s;
    --ost-stagger-delay: .18s;
    --ease-out-cubic: cubic-bezier(.215, .61, .355, 1);
}

* {
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth;
}

html {
    font-size: 4.65116279vw;
    height: 100vh;
    height: 100dvh;
    scroll-behavior: smooth;
}

@media (min-width: 1060px),
(min-width: 768px) and (orientation: portrait) {
    html {
        font-size: max(1.14583333vw, 16px);
    }
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    border: 0;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    /* font: inherit; */
}

body {
    color: var(--dark-gray);
    font-family: var(--main-font), Bw Gradual, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif;
    height: -moz-fit-content;
    height: fit-content;
    overscroll-behavior-y: none;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: color .3s ease, background-color .3s ease;
    font-weight: var(--base-font-weight);
}

body,
body * {
    letter-spacing: var(--base-letter-spacing);
}

body,
body.light {
    background-color: var(--bg);
}

main {
    background-color: var(--bg);
    overflow: hidden;
    position: relative;
    width: 100vw;
}

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;
}

ol,
ul {
    list-style-type: none;
}

img,
picture,
svg,
video {
    display: block;
    max-width: 100%;
    position: relative;
}

a {
    color: inherit;
    text-decoration: none;
}

.h3,
h3 {
    font: inherit;
}

@media (min-width: 1060px) {

    .h3,
    h3 {
        font: inherit;
    }
}

.button {
    background-color: var(--dark-bg);
    border-radius: min(4.1666666667vw, 80px);
    color: var(--bg);
    display: block;
    font-size: min(1.25vw, 24px);
    font-weight: 400;
    height: -moz-fit-content;
    height: fit-content;
    line-height: 1.25em;
    max-width: -moz-fit-content;
    max-width: fit-content;
    overflow: hidden;
    padding: min(.625vw, 12px) min(2.0833333333vw, 40px);
    position: relative;
    transition: background-color .3s ease;
}

.button:hover {
    background-color: var(--dark);
}

.button span {
    display: block;
    position: relative;
    transform-style: flat;
    transition: color .3s ease;
    will-change: transform, mix-blend-mode;
    z-index: 10;
}

.button:hover span {
    color: var(--bg);
}

.button--green:hover {
    background-color: var(--bg);
    color: var(--dark-bg)
}

.header {
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    background: linear-gradient(0deg, rgba(255, 253, 250, .2), rgba(255, 253, 250, .2)), linear-gradient(111deg, rgba(255, 253, 250, .24) 1.21%, hsla(0, 0%, 77%, .04));
    border-bottom: 1px solid var(--border-color);
    box-shadow: 2px 0 2px 0 rgba(0, 0, 0, .08);
    left: 0;
    padding-bottom: min(1.14583333vw, 22px);
    padding-top: min(1.14583333vw, 22px);
    position: fixed;
    top: 0;
    transition-duration: .5s;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    width: 100%;
    z-index: 1000;
}

.container,
.container-fluid {
    max-width: 1920px;
    padding-left: min(3.125vw, 60px);
    padding-right: min(3.125vw, 60px);
}

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

.header__logo {
    height: min(4.166666667vw, 80px);
    z-index: 1100;
    padding: 0;
    margin: 0;
}

.header__logo svg {
    display: block;
    height: 100%;
    max-width: 100%;
    width: 100%;
}

.navigation {
    transition: opacity .3s ease;
    z-index: 1001;
}

.navigation--opened {
    opacity: 1;
    pointer-events: visible;
}

.navigation__list {
    align-items: center;
    -moz-column-gap: min(2.0833333333vw, 40px);
    column-gap: min(2.0833333333vw, 40px);
    display: flex;
    justify-content: center;
}

.navigation__link {
    color: var(--dark-bg);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5em;
    position: relative;
}

.navigation__link:before {
    background-color: var(--dark);
    bottom: 0;
    content: "";
    height: 1px;
    margin: min(-.1041666667vw, -2px) 0;
    position: absolute;
    transform: scaleX(0);
    transition: all .4s ease;
    visibility: hidden;
    width: 100%;
}

.navigation__link:hover:before {
    transform: scaleX(1);
    visibility: visible;
}

.header__signin {
    padding: min(.4166666667vw, 8px) min(1.5625vw, 30px);
}

.header__signin span {
    align-items: center;
    -moz-column-gap: min(.4166666667vw, 8px);
    column-gap: min(.4166666667vw, 8px);
    display: flex;
}

.header-menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: min(6vw, 24px);
    height: min(6vw, 24px);
    position: relative;
    color: currentColor;
}

.header-menu-toggle:before {
    content: "";
    inset: -1rem;
    position: absolute;
}

.header-menu-toggle-line {
    width: 100%;
    height: 1px;
    background-color: var(--dark-gray);
    transition: transform .15s;
}

.header-menu-mobile {
    width: 100%;
    height: 100vh;
    height: 100lvh;
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: var(--black);
    text-align: center;
    color: var(--white);
    transition: transform .4s var(--ease-out-cubic);
}

.header-menu-mobile-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    height: 100lvh;
    transition: opacity .7s .3s;
}

.header-menu-mobile-link {
    line-height: 1.5;
    font-size: calc(3.05rem / 1.618);
    line-height: .85;
    font-family: var(--alt-font);
}

.header:not(.-menu-open) .header-menu-mobile {
    transform: translate(100%);
}

.header:not(.-menu-open) .header-menu-mobile-inner {
    opacity: 0;
    transition-delay: 0s;
}

.header.-menu-open .header__logo svg * {
    fill: var(--bg) !important;
}

.header.-menu-open .header-menu-toggle-line {
    background-color: var(--bg);
}

.header.-menu-open .header-menu-toggle-line:nth-child(1) {
    transform: translateY(11px) rotate(45deg);
}

.header.-menu-open .header-menu-toggle-line:nth-child(2) {
    opacity: 0;
}

.header.-menu-open .header-menu-toggle-line:nth-child(3) {
    transform: translateY(-12px) rotate(-45deg);
}

.header.-menu-open .header-menu-mobile {
    touch-action: none;
}

.mobile-on .menu-item+.menu-item {
    margin-top: 1em;
}

@media (min-width: 1060px) {
    .navigation__line {
        display: none;
    }

    .header__signin span {
        font-size: min(1.0416666667vw, 20px);
    }

    .header__burger {
        display: none;
    }

    .navigation--mob {
        display: none;
    }

    .header-menu-toggle {
        display: none;
    }
}

@media (max-width: 1059px) {
    .container {
        max-width: 100%;
        padding-left: min(8.5333333333vw, 32px);
        padding-right: min(8.5333333333vw, 32px);
    }

    .button {
        font-size: min(4.2666666667vw, 16px);
        border-radius: min(21.3333333333vw, 80px);
        padding: min(3.2vw, 12px) min(10.6666666667vw, 40px);
    }

    .header {
        padding-bottom: min(4vw, 15px);
        padding-top: min(4vw, 15px);
    }

    .header__logo {
        height: min(12vw, 45px);
        width: min(32vw, 120px);
    }

    .header__logo svg {
        max-width: auto;
        width: auto;
    }

    .header__navigation {
        display: none;
    }

    .navigation__link {
        font-size: min(8.5333333333vw, 32px);
    }

    .navigation__link {
        margin: min(-.5333333333vw, -2px) 0;
    }

    .header__right {
        align-items: center;
        -moz-column-gap: min(5.3333333333vw, 20px);
        column-gap: min(5.3333333333vw, 20px);
        display: flex;
    }

    .header__signin {
        padding: min(1.0666666667vw, 4px) min(5.3333333333vw, 20px);
    }

    .header__signin span {
        -moz-column-gap: min(2.1333333333vw, 8px);
        column-gap: min(2.1333333333vw, 8px);
    }

    .header__burger {
        background-color: transparent;
        height: min(4.2666666667vw, 16px);
        position: relative;
        transform: rotate(0deg);
        transition: .5s ease-in-out;
        width: min(8vw, 30px);
    }

    .header__burger-line {
        height: min(.5333333333vw, 2px);
    }

    .navigation--mob {
        padding: min(21.3333333333vw, 80px) min(5.3333333333vw, 20px);
    }

    .navigation--mob .navigation__list {
        align-items: flex-start;
        flex-direction: column;
        row-gap: min(10.6666666667vw, 40px);
    }
}

@media (max-width: 460px) {
    .container {
        padding-left: min(5.3333333333vw, 20px);
        padding-right: min(5.3333333333vw, 20px);
    }
}

.hero {
    height: 100vh;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.hero--open_call {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
    padding-top: 5.75rem;
    position: relative;
    background-color: var(--dark);
    color: var(--bg);
}

.hero__bg-line {
    background: linear-gradient(180deg, hsla(0, 0%, 91%, 0), #ebeae5);
    bottom: 0;
    height: min(4.9479166667vw, 95px);
    left: 0;
    position: absolute;
    width: 100vw;
}

.hero-inner {
    display: flex;
    flex-direction: column;
    padding-top: 1.5rem;
    padding-bottom: 8rem;
    border-top: 1px solid rgba(254, 249, 239, .3);
}

.h0,
.hero-title {
    font-size: 3.05rem;
    line-height: .85;
    font-weight: 100;
}

.h0 em,
.hero-title em {
    font-size: .933em;
    letter-spacing: 0;
    font-family: var(--alt-font);
    font-weight: 300;
}

.hero-title em {
    color: var(--accent);
}

.hero__bg,
.hero__gl {
    display: block;
    height: 100vh;
    left: 50%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    background-color: var(--bg);
    mix-blend-mode: screen;
}

.hero-desc {
    transition: opacity 1.2s;
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay)* 2);
    max-width: 17.5em;
    margin-top: .22727272727272727rem;
    margin-bottom: 0;
}

.hero__wrapper {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    position: relative;
    text-align: center;
    width: 100%;
}

.hero__svg {
    height: min(12vw, 320px);
    width: auto;
}

.hero__title {
    color: var(--dark);
    font-size: 6rem;
    font-weight: 300;
    line-height: .85;
    max-width: min(52.2395833333vw, 1003px);
}

.hero__description {
    font-size: min(1.25vw, 24px);
    font-weight: 400;
    line-height: 1.3em;
    margin-top: min(2.0833333333vw, 40px);
    max-width: min(37.5vw, 720px);
}

.hero__btn {
    margin-top: min(2.0833333333vw, 40px);
}

@media (min-width: 1060px),
(min-width: 768px) and (orientation: portrait) {
    .hero--open_call {
        min-height: 28.363636363636363rem;
        padding-top: 9.454545454545455rem;
    }

    .hero-inner {
        flex-direction: row-reverse;
        justify-content: space-between;
        padding-top: 1.1818181818181819rem;
        padding-bottom: 6.136363636363637rem;
    }

    .h0,
    .hero-title {
        font-size: 5.454545454545454rem;
    }

    .hero-title {
        text-align: right;
    }

    .hero-desc {
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay)* 1);
    }
}

@media (min-width: 1060px) and (max-width: 1060px),
(min-width: 768px) and (orientation: portrait) and (max-width: 1060px) {
    .hero-title {
        font-size: 6rem;
    }
}

@media (min-width: 1060px) and (max-width: 1059px),
(min-width: 768px) and (orientation: portrait) and (max-width: 1059px) {
    .hero-title {
        font-size: 4.2rem;
    }
}

@media (min-width: 1060px) {

    .h0,
    .hero-title {
        font-size: 8.181818181818182rem;
    }

    .--webinars .h0,
    .hero-title {
        font-size: 6rem;
    }
}

@media (max-width: 1060px) {
    .hero__title {
        font-size: min(9.6vw, 36px);
        line-height: 1.1em;
        max-width: min(88.2666666667vw, 331px);
    }

    .hero__description {
        font-size: min(4.2666666667vw, 16px);
        margin-top: min(7.4666666667vw, 28px);
        max-width: min(86.4vw, 324px);
    }

    .hero__btn {
        margin-top: min(10.6666666667vw, 40px);
    }

    .hero__svg {
        height: min(20vw, 320px);
        width: auto;
    }
}

.hero-inner {
    gap: 2rem;
}

@media (max-width: 767px),
(max-width: 1059px) and (orientation: landscape) {
    .hero-inner {
        gap: 2rem;
        padding-bottom: 4rem;
    }
}

/* :is(p,ul,ol):where(:not(:last-child)) {
    margin-bottom: calc(var(--base-line-height)* 1em);
} */

.stx {
    --section-header-height: 7.85rem;
    --side-margin: .75rem;
    padding: 3rem var(--side-padding) 3.5rem;
    position: relative;
    background-color: var(--bg-color);
}

.stx:not(.-full-width) {
    margin-right: var(--side-margin);
}

.stx.-bg-ivory,
.stx.-bg-light-gray,
.footer {
    --border-color: rgba(110, 121, 122, .3);
    color: var(--dark-gray);
}

.stx.-bg-steel-blue,
.stx.-bg-dark-gray {
    --border-color: rgba(254, 249, 239, .3);
    color: var(--bg);
}

.stx-columns {
    display: flex;
    padding-top: 2rem;
    border-top: 1px solid var(--border-color);
}

.stx-subtitle {
    transition: opacity 1.2s;
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay)* 2);
}

.stx.-bg-ivory .stx-subtitle {
    color: #3d322b;
}

.h1,
.stx-title,
.sj-title,
.sc-title,
.header-menu-mobile-link {
    font-size: 3.05rem;
    line-height: .85;
    font-weight: 300;
}

.h1 em,
.stx-title em,
.sj-title em,
.sc-title em,
.header-menu-mobile-link em,
.hero__title em {
    font-size: .95625em;
    letter-spacing: 0;
    font-family: var(--alt-font), serif;
}

.h2,
.stx-headline,
.sj-item-title,
.sc-subtitle,
.sap h4 {
    font-size: 1.4rem;
    line-height: 1.1;
}

.h2 em,
.stx-headline em,
.sj-item-title em,
.sc-subtitle em,
.sap h4 em,
.footer__title em,
.partners__title em,
.partners__investing-text em,
.asset-management__title em,
.partners__info-title em,
.stx-title em,
.team-member-role em {
    letter-spacing: 0;
    font-family: var(--alt-font), serif;
}

.stx-headline {
    transition: opacity 1.2s;
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay)* 1);
}

.stx-headline em,
.footer__title em,
.partners__title em,
.partners__investing-text em,
.asset-management__title em,
.partners__info-title em,
.stx-title em {
    font-size: .96em;
}

.stx:not(.-bg-light-gray) .stx-headline em,
.footer__title em,
.hero__title em,
.partners__title em,
.partners__investing-text em,
.asset-management__title em,
.partners__info-title em,
.stx-title em {
    color: var(--accent);
}

.stx-title {
    padding-bottom: 2rem;
}

.stx-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 1rem;
    margin-top: 4rem;
}

.stx-features-item {
    transition: opacity 1.2s;
    padding-top: .625rem;
    border-top: 1px solid var(--border-color);
}

.stx-features-item-desc {
    color: var(--light-gray);
}

@media (min-width: 1060px),
(min-width: 768px) and (orientation: portrait) {
    :root {
        --side-padding: 2.18175rem;
        --section-spacing: 7.5rem;
    }

    .stx {
        --section-header-height: 16rem;
        --side-margin: var(--side-padding);
        padding-bottom: 4rem;
        padding-top: 2.5rem;
    }

    .--webinars .stx.-bg-steel-blue {
        padding-top: 4rem;
        margin-top: 0;
    }

    .stx-columns {
        justify-content: space-between;
        gap: 2.25rem;
    }

    .h1,
    .stx-title,
    .sj-title,
    .sc-title,
    .header-menu-mobile-link {
        font-size: 5rem;
    }

    .h2,
    .stx-headline,
    .sj-item-title,
    .sc-subtitle,
    .sap h4 {
        font-size: 1.75rem;
    }

    .stx-headline {
        max-width: 15em;
    }

    .--webinars .stx-headline {
        max-width: none !important;
        width: auto !important;
    }

    .timeline .stx-headline.-semi-l {
        width: 15em;
        max-width: 100%;
    }

    .stx-title {
        padding-top: 2.25rem;
        padding-bottom: 3rem;
    }

    .stx-title.-align-right {
        text-align: right;
    }

    .stx-features {
        grid-template-columns: 1fr 1fr;
        gap: 4rem 3rem;
        margin-top: 6rem;
    }

    .stx-features-item:nth-child(3n+2) {
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay)* 1);
    }

    .stx-features-item:nth-child(3n) {
        transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay)* 2);
    }
}

@media (max-width: 767px),
(max-width: 1023px) and (orientation: landscape) {
    .stx-columns {
        flex-direction: column;
        gap: 2rem;
    }

    .stx:has(+.-has-half-circle) {
        padding-bottom: 7rem;
    }

    .stx-features-item-desc {
        font-size: .8rem;
    }
}

@media (min-width: 1060px) {

    .h1,
    .stx-title,
    .sj-title,
    .sc-title,
    .header-menu-mobile-link {
        font-size: 5.5rem;
    }

    .h2,
    .stx-headline,
    .sj-item-title,
    .sc-subtitle,
    .sap h4 {
        font-size: 1.75rem;
    }

    .stx-headline.-semi-l {
        max-width: 23.8em;
    }

    .timeline .stx-headline.-semi-l {
        width: 23.8em;
        max-width: 100%;
    }

    .stx-headline.-l {
        max-width: 25.9em;
    }

    .stx-headline.-xl {
        max-width: 32.2em;
    }

    .stx-features {
        margin-left: 15rem;
    }
}

.grid {
    display: grid;
    gap: min(1.0416666667vw, 20px);
    grid-auto-flow: row;
    grid-template-columns: repeat(12, 1fr);
    width: 100%;
}

.footer {
    /* --accent: var(--dark-bg); */
    margin: 0 auto;
    padding: min(1.1979166667vw, 23px) min(1.1979166667vw, 23px);
    width: 100%;
}

.footer__wrapper {
    background-color: var(--gray);
    border-radius: min(2.0833333333vw, 40px);
    padding: min(2.91666667vw, 48px) min(1.9791666667vw, 38px) min(2.08333333vw, 40px);
}

.footer__content {
    flex-direction: column;
    height: 100%;
    margin: 0 auto;
    max-width: 1920px;
    position: relative;
    row-gap: min(5.8333333333vw, 112px);
    width: 100%;
}

.footer__content,
.footer__top {
    display: flex;
    justify-content: space-between;
}

.footer__top {
    align-items: flex-start;
}

.footer__title {
    font-size: min(5.2083333333vw, 100px);
    font-weight: 400;
    line-height: 1em;
    max-width: min(49.6354166667vw, 953px);
}

.footer__logo {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: min(5.333333333333vw, 20px);
}

.footer__logo svg {
    display: block;
    width: auto;
    height: min(3.28125vw, 63px);
}

.footer__logo--2 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    margin-top: min(19.333333333vw, 56px);
    gap: min(5.333333333333vw, 20px) min(2.666666667vw, 10px);
}

.footer__logo--2 a {
    width: calc(50% - 5px);
    display: flex;
    align-items: center;
}

.footer__logo--2 svg {
    /* width: 100%; removed to let height drive width */
    width: auto;
    height: 100%;
    max-width: 100%;
    fill: var(--dark-gray);
    overflow: visible;
}

.footer__logo--2 a:nth-child(1) {
    height: min(10.66666667vw, 40px);
}

.footer__logo--2 a:nth-child(2) {
    height: min(5.6vw, 21px);
}

.footer__logo--2 a:nth-child(3) {
    height: min(14.66666667vw, 55px);
}

.footer__logo--2 a:nth-child(4) {
    height: min(17.6vw, 66px);
}

.footer__list {
    display: flex;
    flex-direction: column;
    gap: min(.3125vw, 6px);
}

.footer__item {
    width: -moz-fit-content;
    width: fit-content;
}

.footer__link {
    font-size: min(1.0416666667vw, 20px);
    font-weight: 400;
    line-height: 1.2;
    position: relative;
}

.footer__link:before {
    background-color: var(--dark);
    bottom: 0;
    content: "";
    height: 1px;
    margin: min(-.1041666667vw, -2px) 0;
    position: absolute;
    transform: scaleX(0);
    transition: all .4s ease;
    visibility: hidden;
    width: 100%;
}

.footer__link:hover:before {
    transform: scaleX(1);
    visibility: visible;
}

.footer__socials-list {
    display: flex;
    flex-direction: column;
    gap: min(.3125vw, 6px);
}

.footer__social-item {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}

.footer__social-item:before {
    background-color: var(--dark);
    bottom: 0;
    content: "";
    height: 1px;
    margin: min(-.1041666667vw, -2px) 0;
    position: absolute;
    transform: scaleX(0);
    transition: all .4s ease;
    visibility: hidden;
    width: 100%;
}

.footer__social-item:hover:before {
    transform: scaleX(1);
    visibility: visible;
}

.footer__social-link {
    font-size: min(1.0416666667vw, 20px);
    font-weight: 400;
    line-height: 1.2;
}

.footer__social-link svg {
    height: min(1.0416666667vw, 20px);
    position: relative;
    width: min(1.0416666667vw, 20px);
    fill: var(--dark-gray);
    margin: min(0.26041667vw, 5px);
}


.footer__location {
    font-size: min(1.0416666667vw, 20px);
    font-weight: 400;
    height: -moz-fit-content;
    height: fit-content;
    line-height: 1.2;
    position: relative;
}

/* .footer__location:before {
    background-color: var(--dark);
    bottom: 0;
    content: "";
    height: 1px;
    margin: min(-.1041666667vw, -2px) 0;
    position: absolute;
    transform: scaleX(0);
    transition: all .4s ease;
    visibility: hidden;
    width: 100%;
}

.footer__location:hover:before {
    transform: scaleX(1);
    visibility: visible;
} */

.footer__legals {
    margin-top: min(2.91666667vw, 56px);
}

.footer__line {
    background-color: var(--border-color);
    display: block;
    height: 1px;
    width: 100%;
}

.footer__legals-content {
    margin-top: min(1.25vw, 24px);
}

.footer__rights {
    font-size: min(1.0416666667vw, 20px);
    font-weight: 400;
    grid-column: 1 / 10;
    line-height: 1.2;
}

.footer__legals-link {
    font-size: min(1.0416666667vw, 20px);
    font-weight: 400;
    line-height: 1.2;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}

.footer__legals-link:last-child {
    grid-column: 13 / 15;
}

.footer__legals-link:before {
    background-color: var(--dark);
    bottom: 0;
    content: "";
    height: 1px;
    margin: min(-.1041666667vw, -2px) 0;
    position: absolute;
    transform: scaleX(0);
    transition: all .4s ease;
    visibility: hidden;
    width: 100%;
}

.footer__legals-link:hover:before {
    transform: scaleX(1);
    visibility: visible;
}

@media (min-width: 768px) {
    .footer__logo--2 {
        gap: min(5.333333333333vw, 20px);
    }

    .footer__logo--2 a {
        display: flex;
        align-items: center;
        width: auto;
    }

    .footer__logo--2 svg {
        width: auto;
    }
}

@media (min-width: 1060px) {

    .footer__logo p,
    .footer__logo--2 p {
        font-size: 12px;
        margin-top: min(1vw, 19.2px);
        width: 100%;
        display: block;
    }

    .footer .grid {
        grid-template-columns: repeat(14, 1fr);
        align-items: start;
        gap: 0 min(5.3333333333vw, 20px);
    }

    .footer__logo {
        grid-column: 1 / 5;
        flex-direction: row;
        align-items: end;
        flex-wrap: wrap;
    }

    .footer__logo .eu--logo {
        height: min(2.5vw, 48px);
        margin-bottom: min(0.3125vw, 6px);
        margin-left: min(.9375vw, 18px);
    }

    .footer__logo--2 {
        grid-column: 6 / 11;
        justify-content: space-between;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        margin-top: 0;
    }

    .footer__logo--2 a:nth-child(1) {
        height: min(2.25vw, 44px);
    }

    .footer__logo--2 a:nth-child(2) {
        height: min(0.8888888888vw, 17px);
    }

    .footer__logo--2 a:nth-child(3) {
        height: min(2.86458333vw, 55px);
    }

    .footer__logo--2 a:nth-child(4) {
        height: min(3.275vw, 60px);
    }

    .footer__list {
        grid-column: 7 / 9;
    }

    .footer__socials-list {
        grid-column: 13 / 15;
    }

    .footer__location {
        grid-column: 13 / 15;
        display: flex;
    }

    .footer .button {
        font-size: min(1.125vw, 20px)
    }
}

@media (max-width: 1060px) {
    .grid {
        gap: min(5.3333333333vw, 20px);
        grid-template-columns: repeat(4, 1fr);
    }

    .footer {
        padding: 0;
    }

    .footer__wrapper {
        border-radius: 0;
        padding: min(10.6666666667vw, 40px) min(5.3333333333vw, 20px) min(5.3333333333vw, 20px);
        row-gap: min(10.6666666667vw, 40px);
    }

    .footer__top {
        flex-direction: column;
        justify-content: flex-start;
        row-gap: min(7.4666666667vw, 28px);
    }

    .footer__title {
        font-size: min(9.6vw, 36px);
        line-height: 1.1em;
        max-width: min(89.3333333333vw, 335px);
    }

    /* .footer__bottom { margin-top: min(5.33333333vw, 20px); } */
    .footer__nav-content {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .footer__logo p,
    .footer__logo--2 p {
        font-size: 14px;
    }

    .footer__logo svg {
        height: min(19.2vw, 72px);
    }

    .footer__logo .eu--logo {
        height: min(15.46666667vw, 58px);
    }

    .footer__list {
        gap: min(2.1333333333vw, 8px);
        margin-top: min(7.4666666667vw, 28px);
    }

    .footer__link {
        font-size: min(3.7333333333vw, 14px);
        margin: min(-.5333333333vw, -2px) 0;
    }

    .footer__socials-list {
        gap: min(2.1333333333vw, 8px);
        margin-top: min(6.4vw, 24px);
        flex-direction: row;
    }

    .footer__social-item {
        margin: min(-.5333333333vw, -2px) 0;
    }

    .footer__social-link {
        font-size: min(3.7333333333vw, 14px);
    }

    .footer__social-link svg {
        height: min(4.26666667vw, 16px);
        width: min(4.26666667vw, 16px);
    }

    .footer__location {
        font-size: min(3.7333333333vw, 14px);
        margin-top: min(19.333333333vw, 56px);
        max-width: min(53.3333333333vw, 200px);
    }

    .footer__legals {
        margin-top: min(12.8vw, 48px);
    }

    .footer__legals-content {
        gap: min(5.333333333333vw, 20px);
        margin-top: min(3.7333333333vw, 14px);
    }

    .footer__rights {
        font-size: min(3.7333333333vw, 14px);
        grid-column: 1 / 13;
        grid-row: 2 / 3;
    }

    .footer__legals-link {
        font-size: min(3.7333333333vw, 14px);
        margin: min(-.5333333333vw, -2px) 0;
    }

    .footer__legals-link:last-child {
        grid-column: 1 / 13;
        justify-self: flex-start;
    }
}

.partners {
    padding-top: min(9.375vw, 180px);
    padding-bottom: min(3.333333333vw, 64px);
    position: relative;
}

.patners__wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.partners__top {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
}

.partners__title {
    font-size: min(6.25vw, 120px);
    font-weight: 400;
    line-height: 1em;
}

.partners__text {
    font-size: min(1.0416666667vw, 20px);
    font-weight: 400;
    line-height: 1em;
    line-height: 1.3em;
    max-width: min(30.5729166667vw, 587px);
}

.partners__text svg {
    height: min(6.25vw, 120px);
    fill: var(--dark-bg);
    margin-top: min(.625vw, 12px);
}

.partners__text img {
    height: min(4.58333333vw, 88px);
    width: auto;
    margin-top: min(.625vw, 12px);
}

.partners__bottom {
    width: 100%;
    align-items: end;
}

.partners__btn {
    margin-top: min(2.5vw, 48px);
}

.partners__info-title {
    font-size: min(2.0833333333vw, 40px);
    font-weight: 400;
    line-height: 1.2em;
}

.partners__investing-text {
    font-size: min(1.25vw, 24px);
    line-height: 1.3em;
}

.partners__list {
    display: flex;
    flex-direction: column;
    margin-top: min(2.08333333vw, 40px);
    row-gap: min(.5208333333vw, 10px);
}

.partners__item {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
}

.partners__item-text {
    font-size: min(1.25vw, 24px);
    line-height: 1.3em;
}

.partners__item-text--main {
    font-size: min(1.25vw, 24px);
    line-height: 1.3em;
    font-weight: 400;
    text-align: right;
}

@media (min-width: 1060px) {
    .patners__wrapper {
        height: min(31.66666667vw, 608px);
    }

    .partners__top {
        display: grid;
        gap: min(1.0416666667vw, 20px);
        grid-auto-flow: row;
        grid-template-columns: repeat(12, 1fr);
        width: 100%;
    }

    .partners__title {
        /* max-width: min(37.5vw, 800px); */
        grid-column: 1 / 7;
    }

    .--webinars .partners__title {
        font-size: min(5vw, 96px);
        grid-column: 1 / 10;
    }

    .partners__text {
        grid-column: 9 / 13;
    }

    .partners__investing {
        align-self: flex-end;
        grid-column: 1 / 6;
    }

    .partners__info {
        grid-column: 9 / 13;
        margin-bottom: min(5.3125vw, 102px);
    }

    .partners--wide .partners__investing {
        grid-column: 1 / 8;
    }

    .--showcase .partners__bottom {
        display: block;
    }

    .--showcase .partners__investing {
        max-width: min(55vw, 1000px);
    }

    .--showcase .partners__title {
        grid-column: 1 / -1;
        max-width: min(55vw, 1000px);
        width: 100%;
    }
}

@media (max-width: 1060px) {
    .partners {
        padding-bottom: min(26.6666666667vw, 100px);
        padding-top: min(32vw, 120px);
    }

    .partners__top {
        flex-direction: column;
    }

    .partners__bottom {
        align-items: flex-start;
        display: flex;
        flex-direction: column-reverse;
        justify-content: flex-start;
        margin-top: min(10.6666666667vw, 40px);
    }

    .partners__title {
        font-size: min(5.2083333333vw, 100px);
        font-weight: 400;
        line-height: 1em;
        display: none;
    }

    .--webinars .partners__title {
        display: block;
        grid-column: 1 / 4;
        font-size: min(12.8vw, 48px);
    }

    .partners__text {
        font-size: min(3.7333333333vw, 14px);
        margin-top: 0;
        max-width: min(89.3333333333vw, 335px);
    }

    .partners__text img,
    .partners__text svg {
        height: auto;
        margin-top: 0;
        transform: none !important;
        width: auto;
    }

    .partners__text svg.cortona-on-the-move {
        height: min(21.33333333vw, 80px);
    }

    .partners__text svg.photo-museum-ireland {
        height: min(21.33333333vw, 80px);
    }

    .partners__text svg.fotohof {
        height: min(21.33333333vw, 32px) !important;
    }

    .partners__text svg.imago-lisbon-photo-festival {
        height: min(21.33333333vw, 88px) !important;
    }

    .partners__investing {
        width: 100%;
        border-top: 1px solid var(--border-color);
        padding-top: min(5.3333333333vw, 20px);
    }

    .partners__investing-text {
        font-size: min(4.2666666667vw, 16px);
    }

    .partners__btn {
        margin-top: min(10.6666666667vw, 40px);
    }

    .--showcase .partners__investing {
        margin-inline: auto;
    }

    .partners__info {
        width: 100%;
    }

    .partners__info-title {
        font-size: min(6.4vw, 24px);
    }

    .partners__list {
        margin-top: min(5.3333333333vw, 20px);
        row-gap: min(5.3333333333vw, 20px);
    }

    .partners__item {
        -moz-column-gap: min(2.6666666667vw, 10px);
        column-gap: min(2.6666666667vw, 10px);
    }

    .partners__item-text {
        font-size: min(4.2666666667vw, 16px);
    }

    .partners__item-text--main {
        font-size: min(4.2666666667vw, 16px);
    }
}

@media (max-width: 1060px) and (max-width: 1060px) {
    .partners__title {
        font-size: min(9.6vw, 36px);
        line-height: 1.1em;
    }
}

@media (max-width: 479px) {
    .--webinars .partners__title {
        grid-column: 1 / 5;
    }
}



.portfolio {
    padding-bottom: min(7.8125vw, 150px);
}

.stx-portfolio-stack {
    transition: opacity 1.2s;
    transition-delay: calc(var(--ost-init-delay) + var(--ost-stagger-delay)* 2);
    display: grid;
    row-gap: 2.727272727272727rem;
}

.stx-portfolio-stack-item {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.stx-portfolio-stack-item-logo {
    width: calc(var(--width)* 1vw);
    transition: transform .25s var(--ease-out-quart);
    font-family: var(--alt-font);
    font-size: calc(1.325rem + 1vw);
}

.--webinars .stx-portfolio-stack-item-logo {
    text-align: center;
    font-size: calc(1rem + 1vw);
}

.stx-portfolio-stack-item-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    transition: .25s var(--ease-out-quart);
    transition-property: visibility, opacity;
}

.stx-portfolio-stack-item-desc {
    max-width: 19em;
    height: calc(var(--base-line-height)* 3em);
    margin-bottom: 1.3636363636363635rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (min-width: 1060px),
(min-width: 768px) and (orientation: portrait) {
    .stx-portfolio-stack {
        grid-template-columns: 1fr 1fr;
        row-gap: 3.6363636363636362rem;
    }

    .stx-portfolio-stack-item {
        height: 14.318181818181818rem;
    }

    .stx-portfolio-stack-item:not(:nth-child(2n+1)) {
        border-left: 1px solid var(--border-color);
    }

    .stx-portfolio-stack-item-details {
        position: absolute;
        right: 1.3636363636363635rem;
        bottom: 0;
        left: 1.3636363636363635rem;
    }

    .--webinars .stx-portfolio-stack {
        grid-template-columns: repeat(3, 1fr);
    }

    .--webinars .stx-portfolio-stack .stx-portfolio-stack-item:not(:nth-child(2n+1)) {
        border-left: 0;
    }

    .--webinars .stx-portfolio-stack .stx-portfolio-stack-item+.stx-portfolio-stack-item {
        border-left: 1px solid var(--border-color) !important;
    }
}

@media (min-width: 1060px) {
    .stx-portfolio-stack-item-details {
        bottom: 1.0909090909090908rem;
    }

    .stx-portfolio-stack-item:hover .stx-portfolio-stack-item-logo {
        transform: translateY(-4.545454545454546rem);
    }

    .stx-portfolio-stack-item:not(:hover) .stx-portfolio-stack-item-details {
        visibility: hidden;
        opacity: 0;
    }

    .--webinars .stx-portfolio-stack-item-logo {
        --width: 25;
        font-size: calc(1rem + 1vw);
    }
}

@media (min-width: 1060px) and (max-width: 1059px),
(min-width: 768px) and (orientation: portrait) and (max-width: 1059px) {
    .stx-portfolio-stack-item {
        padding-bottom: 8.090909090909092rem;
    }

    .stx-portfolio-stack-item-desc {
        font-size: .85em;
    }
}

@media (max-width: 767px),
(max-width: 1059px) and (orientation: landscape) {
    .partners {
        padding-top: min(30vw, 620px);
        padding-bottom: min(14.6vw, 300px);
    }

    .stx-portfolio-stack-item {
        flex-direction: column;
        gap: 2.727272727272727rem;
    }

    .stx-portfolio-stack-item:nth-child(n+2) {
        padding-top: 2.727272727272727rem;
        border-top: 1px solid var(--border-color);
    }
}

.asset-management {
    padding-top: min(6.66666667vw, 128px);
    position: relative;
    padding-bottom: min(3.333333333vw, 64px);
}

.asset-management__left {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.asset-management__title {
    font-size: min(3.75vw, 72px);
    font-weight: 400;
    line-height: 1.1em;
}

.asset-management__description {
    font-size: min(1.25vw, 24px);
    margin-top: min(2.0833333333vw, 40px);
    max-width: min(40vw, 720px);
}

.asset-management__img {
    display: block;
    height: min(49.1145833333vw, 943px);
    max-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}

.--webinars .asset-management__img {
    height: min(33.3333333333vw, 943px);
}

@media (min-width: 1060px) {
    .asset-management__left {
        grid-column: 1 / 8;
    }

    .asset-management__right {
        grid-column: 8 / 13;
    }

    .asset-management__img {
        border-radius: min(2.0833333333vw, 40px);
    }
}

@media (max-width: 1060px) {
    .asset-management {
        padding-top: min(19.2vw, 72px);
        padding-bottom: min(14.4vw, 64px);
    }

    .asset-management__wrapper {
        display: flex;
        flex-direction: column;
    }

    .asset-management__left {
        order: 1;
    }

    .asset-management__title {
        font-size: min(5.2083333333vw, 100px);
        font-weight: 400;
        line-height: 1em;
        margin-top: min(5.3333333333vw, 20px);
    }

    .asset-management__description {
        font-size: min(4.2666666667vw, 16px);
        font-size: min(1.25vw, 24px);
        margin-top: min(4.2666666667vw, 16px);
        max-width: 100%;
    }
}

@media (max-width: 1060px) and (max-width: 1060px) {
    .asset-management__title {
        font-size: min(9.6vw, 36px);
        line-height: 1.1em;
    }

    .asset-management__description {
        font-size: min(4.2666666667vw, 16px);
    }

    .asset-management__img {
        height: auto;
        border-radius: min(5.3333333333vw, 20px);
    }

    .--webinars .asset-management__img {
        height: auto !important;
        max-height: min(150vw, 563px);
    }
}

.accessibility__img-wrapper {
    display: block;
    padding-top: min(3.75vw, 72px);
    max-width: 100%;
    width: 100%;
}

.accessibility__img {
    display: block;
    max-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}

.--webinar_1 .accessibility__img {
    object-fit: contain;
}

@media (min-width: 1060px) {
    .accessibility__img {
        height: 66vh;
    }

    .--webinar_1 .accessibility__img {
        height: auto;
    }
}

@media (max-width: 1060px) {
    .accessibility__img-wrapper {
        height: min(94.1333333333vw, 353px);
        margin-top: min(9.3333333333vw, 35px);
        padding: 0 min(5.3333333333vw, 20px);
    }

    .accessibility__img {
        border-radius: min(5.3333333333vw, 20px);
        height: min(94.1333333333vw, 353px);
    }

    .--webinars .accessibility__img-wrapper {
        height: auto;
    }

    .--webinars .accessibility__img {
        height: auto;
    }
}

.-bg-dark-gray .stx-headline em {
    display: inline-block;
    line-height: 1.1;
    border-bottom: 1px solid var(--accent);
}

.-bg-dark-gray .stx-headline+.stx-headline {
    margin-top: 1.25rem;
    padding-top: 1.125rem;
    border-top: 1px solid var(--border-color);
}

.experise-list {
    grid-column-gap: 1.2vw;
    grid-row-gap: 1.2vw;
    flex-flow: column;
    display: flex;
}

.expertise {
    background-color: var(--gray);
    cursor: pointer;
    display: flex;
    color: var(--dark-bg);
}

.container--expertise {
    justify-content: flex-start;
    align-items: flex-end;
    padding: 1.2vw;
    display: flex;
}

.container--expertise._100 {
    width: 100%;
    height: 100%;
}

._6-col-grid {
    grid-column-gap: 1.2vw;
    grid-row-gap: 1.2vw;
    grid-template-rows: auto;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-columns: 1fr;
    place-items: center start;
    width: 100%;
    display: grid;
}

._6-col-grid.top-align {
    grid-column-gap: 1.2vw;
    place-items: start;
}

.elipse {
    background-color: var(--bg);
    border-radius: 100%;
    width: 1vw;
    height: 1vw;
}

.exp-h-info {
    flex-flow: column;
    width: 100%;
    display: flex;
    grid-area: 1 / 4 / 2 / 7;
}

.exp-h-plus {
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding-right: 1.2vw;
    display: flex;
}

.expertise--h1 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 4vw;
    line-height: 100%;
    display: block;
    font-weight: 300;
}

.plus-img {
    width: 1.4vw;
    margin-top: 0;
    grid-area: 1 / 6 / 2 / 7;
    justify-self: end;
    transition: transform 0.3s ease;
}

.plus-img.marg {
    margin-top: 1.75vw;
}

.exp-info {
    padding-top: 2.4vw;
    padding-right: 3.6vw;
    display: none;
    will-change: display;
    transition: display 0.3s ease;
    grid-area: 2 / 1 / 3 / 7;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 1.2vw;
}

.exp-info.-two-columns {
    grid-template-columns: repeat(2, 1fr);
}

.p21px {
    z-index: 1;
    margin-bottom: 0;
    font-size: 1.25vw;
    font-weight: 700;
    line-height: 105%;
}

.is--active .exp-info {
    display: grid;
}

.is--active .plus-img {
    transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(45deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
}

.expertise small {
    opacity: 0.56;
}

@media screen and (max-width: 991px) {
    .container--expertise {
        padding: 2.4vw;
    }

    .experise-list {
        grid-column-gap: 2.4vw;
        grid-row-gap: 2.4vw;
    }

    ._6-col-grid.top-align {
        grid-column-gap: 2.4vw;
        grid-row-gap: 2.4vw;
    }

    .elipse {
        width: 2vw;
        height: 2vw;
    }

    .exp-h-info {
        grid-column-start: 2;
    }

    .expertise--h1 {
        font-size: 9vw;
    }

    .plus-img {
        width: 3vw;
    }

    .plus-img.marg {
        margin-top: 3vw;
    }

}

@media screen and (max-width: 767px) {

    .exp-info,
    .exp-info.-two-columns {
        grid-row-gap: 2.4vw;
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 479px) {
    .container--expertise {
        padding: 3.2vw;
    }

    .experise-list {
        grid-column-gap: 3.2vw;
        grid-row-gap: 3.2vw;
    }

    .elipse {
        width: 3vw;
        height: 3vw;
    }

    .elipse.margin {
        margin-top: 2.9vw;
    }

    .exp-h-plus {
        justify-content: space-between;
        align-items: flex-start;
    }

    .expertise--h1 {
        font-size: 9.5vw;
    }

    .plus-img {
        width: 3.6vw;
        margin-top: 0;
    }

    .exp-info {
        padding-top: 8vw;
    }
}

@media (min-width: 1024px) {}

.body-1 {
    font-size: clamp(20px, 1.611vw, 1.611vw);
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: 0;
}

/* .body-2 { font-size: clamp(16px, 1.171vw, 18px); font-weight: 300; line-height: 1.3; letter-spacing: 0; } */
.cursor-pointer {
    cursor: pointer;
}

.relative {
    position: relative;
}

.overflow-visible {
    overflow: visible;
}

.w-full {
    width: 100%;
}

.h-full {
    height: 100%;
}

.z-50 {
    z-index: 50;
}

.top-0 {
    top: 0;
}

.left-0 {
    left: 0;
}

.absolute {
    position: absolute;
}

.pointer-events-none {
    pointer-events: none;
}

.text-center {
    text-align: center;
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.pt-\[1\.1em\] {
    padding-top: 1.1em;
}

.rounded-full {
    border-radius: 9999px;
}

.w-max {
    width: -moz-max-content;
    width: max-content;
}

.hidden {
    display: none;
}

.text-cement {
    --tw-text-opacity: 1;
    color: var(--accent);
}

.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.gap-y-\[80px\] {
    row-gap: 80px;
}

.mb-8 {
    margin-bottom: 2rem;
}

.pill {
    background-color: var(--dark-bg);
    border-radius: min(4.1666666667vw, 80px);
    color: var(--bg);
    display: block;
    height: -moz-fit-content;
    height: fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    overflow: hidden;
    padding: min(.3125vw, 6px) min(1.0833333333vw, 20px);
    position: relative;
    opacity: 0;
    transition: opacity 0.3s cubic-bezier(0, 0, 0.3, 1);
}

.team-member:hover .pill {
    opacity: 1;
}

.team-members-grid {
    display: grid;
    border-top: 1px solid var(--border-color);
    padding-top: 2rem;
}

.team-member-modal {
    pointer-events: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
    display: flex;
    opacity: 0;
    transition: opacity 0.3s cubic-bezier(0, 0, 0.3, 1);
    color: var(--dark-gray);
}

.team-member-modal__bg {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    --tw-bg-opacity: 1;
    background-color: rgb(29 29 29 / var(--tw-bg-opacity));
    opacity: 0.3;
}

.team-member-modal__content {
    position: relative;
    z-index: 10;
    margin-left: auto;
    display: grid;
    height: 100%;
    width: calc(100% - 24px);
    grid-template-columns: repeat(1, minmax(0, 1fr));
    overflow: scroll;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    -webkit-transform: translateX(103%);
    transform: translateX(103%);
    transition: all 130ms ease-in;
}

.team-member-modal__body {
    font-size: clamp(20px, 1.611vw, 1.611vw);
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: 0;
}

.team-member-modal__body {
    order: 2;
    height: -moz-fit-content;
    height: fit-content;
    width: 100%;
    padding: 1rem;
}

.team-member-modal__info {
    padding-bottom: 90px;
}

.team-member-modal__image {
    margin-bottom: 2rem;
}

.team-member-modal__image img {
    margin-bottom: 2rem;
    max-height: 600px;
}

.team-member-modal__role {
    margin-bottom: 2rem;
    --tw-text-opacity: 1;
    color: var(--accent);
}

.team-member-modal__header {
    position: relative;
    order: 1;
    padding: 1rem;
    text-align: right;
}

.team-member-modal__close {
    position: sticky;
    top: 1rem;
    cursor: pointer;
}

.team-member-modal--active .team-member-modal {
    z-index: 1001;
    pointer-events: auto;
    opacity: 1;
    visibility: inherit;
}

.team-member-modal--active .team-member-modal__content {
    translate: none;
    rotate: none;
    scale: none;
    -webkit-transform: none;
    transform: none;
    transition: all 330ms ease-out;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

@media (min-width: 640px) {
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1060px) {
    .lg\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:block {
        display: block;
    }

    .lg\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .body-1 {
        font-size: clamp(20px, 1.611vw, 22px);
    }

    .team-member-modal__content {
        width: 50%;
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .team-member-modal__body {
        font-size: clamp(20px, 1.611vw, 22px);
    }

    .team-member-modal__body {
        order: 1;
        grid-column: span 5 / span 5;
    }

    .team-member-modal__header {
        order: 2;
    }
}


.play-container {
    max-width: 100%;
    margin: auto;
    padding-inline: var(--grid-gap);
    --col-width: calc(((100vw / 4) -(var(--grid-gap) / 4)));
    --grid-gap: 1rem;
    --scrollbar-width: 20px;
}

.title {
    grid-area: title;
    font-size: 16.75vw;
    padding-top: 3.3333333333rem;
    position: relative;
    line-height: 1;
    text-align: center;
    max-width: none;
    margin: 0 0 2rem;
    text-align: justify;
}

.title a {
    text-decoration: none;
    text-transform: uppercase;
}

.title-mask {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--grid-gap);
    right: var(--grid-gap);
    background: var(--dark-bg);
    mix-blend-mode: difference;
    pointer-events: none;
    display: none;
    transition: transform .55s;
}

.title-mask--top {
    mix-blend-mode: multiply;
}

.title-mask--top.is-light {
    display: none;
}

.title-mask--bottom {
    mix-blend-mode: exclusion;
}

.title:hover .title-mask {
    transform: scale(1);
}

@media screen and (min-width: 48em) {
    .play-container {
        max-width: none;
        --grid-gap: .8888888889rem;
        --col-width: calc(((min(42.6666666667rem, 100vw - var(--scrollbar-width)) / 8) -(var(--grid-gap) / 8)) - .05px);
    }

    .title {
        white-space: nowrap;
        font-size: 9.125vw;
        padding-top: 0;
        margin-bottom: 3.5rem;
    }

    .title-mask {
        display: block;
        transform-origin: top;
        transform: scaleY(0);
    }
}

@media screen and (min-width: 80em) {
    .play-container {
        max-width: none;
        --grid-gap: 1.3333333333rem;
        --col-width: calc(((min(71.1111111111rem, 100vw - var(--scrollbar-width)) / 10) -(var(--grid-gap) / 10)) - .05px);
    }

    .title {
        margin-bottom: 4rem;
        font-size: 9.25vw;
    }

    .title-mask {
        transform: scaleX(0);
        transform-origin: right;
    }
}

/* Gallery (previously inline styles) */

.gallery {
    columns: 3;
    column-gap: 1.5rem;
    width: 100%;
}

@media (max-width: 767px) {
    .gallery {
        columns: 1;
    }
}

@media (max-width: 479px) {
    .gallery {
        columns: 1;
    }
}

.gallery-item {
    break-inside: avoid;
    margin-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 0.8s ease forwards;
    animation-delay: calc(var(--delay) * 0.2s);
}

.gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.photo-credit {
    position: absolute;
    bottom: 10px;
    right: 15px;
    color: white;
    font-size: 0.625rem;
    opacity: 0.8;
    text-decoration: none;
}

.scroll-indicator {
    position: fixed;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--dark);
    z-index: 1000;
    transition: width 0.3s ease;
}

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

.exp-h-info {
    grid-area: 1 / 2 / 2 / 7;
}

.exp-info {
    grid-area: 2 / 2 / 3 / 7;
    grid-template-columns: repeat(1, 1fr);
}

@media (min-width: 1060px) {
    .exp-h-info {
        grid-area: auto;
    }

    .exp-info {
        grid-area: auto;
        grid-template-columns: repeat(5, 1fr);
    }
}

/* Showcase Masonry */
.showcase-masonry {
    position: relative;
}

.showcase-sizer,
.showcase-item {
    width: 100%;
}

.showcase-gutter {
    width: 20px;
}

@media (min-width: 640px) {

    .showcase-sizer,
    .showcase-item {
        width: calc((100% - 20px) / 2);
    }
}

@media (min-width: 1060px) {

    .showcase-sizer,
    .showcase-item {
        width: calc((100% - 40px) / 3);
    }
}

@media (min-width: 1400px) {

    .showcase-sizer,
    .showcase-item {
        width: calc((100% - 60px) / 4);
    }
}

.showcase-item {
    margin-bottom: 20px;
    display: block;
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s var(--ease-out-quart), transform 0.7s var(--ease-out-quart);
}

.showcase-item.is--visible {
    opacity: 1;
    transform: none;
}

.showcase-item__image {
    position: relative;
    overflow: hidden;
    line-height: 0;
    background-color: var(--gray);
    border-radius: 8px;
}

.showcase-masonry--gallery .showcase-item {
    cursor: default;
}

.showcase-item__image img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.6s var(--ease-out-quart);
}

.showcase-item:hover .showcase-item__image img {
    transform: scale(1.03);
}

.showcase-item__info {
    padding: 0.75em 0.125em 0;
}

.showcase-item__name {
    font-weight: 300;
}

.showcase-item__name b {
    font-weight: 600;
}

.showcase-item__name small {
    opacity: 0.5;
    font-size: 0.85em;
}

.showcase-item__project {
    color: var(--accent);
    font-family: var(--alt-font), serif;
    letter-spacing: 0;
    margin-top: 0.1em;
}

/* Showcase: clickable items */
.showcase-item {
    cursor: pointer;
}

/* Play icon overlay */
.showcase-item__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.85);
    width: 64px;
    height: 64px;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s var(--ease-out-quart);
    pointer-events: none;
    z-index: 2;
}

.showcase-item__play svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .25));
}

.showcase-item:hover .showcase-item__play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

@media (max-width: 1059px) {
    .showcase-item__play {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
        width: 48px;
        height: 48px;
    }
}

/* Video Modal */
[x-cloak] {
    display: none !important;
}

.video-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(1, 56, 52, 0.85);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    padding: 1.5rem;
}

.video-modal--entering,
.video-modal--leaving {
    transition: opacity 0.3s var(--ease-out-quart);
}

.video-modal--hidden {
    opacity: 0;
}

.video-modal--visible {
    opacity: 1;
}

.video-modal__inner {
    position: relative;
    width: 100%;
    max-width: 900px;
}

.video-modal__card {
    position: relative;
    background: #fff;
    border-radius: 12px;
    width: 100%;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .3);
}

.video-modal__close {
    position: absolute;
    top: -2.5rem;
    right: 0;
    z-index: 10;
    background: none;
    border: none;
    font-size: 1.75rem;
    line-height: 1;
    color: var(--bg);
    cursor: pointer;
    padding: 0.25rem;
    transition: opacity 0.2s ease;
    opacity: 0.8;
}

.video-modal__close:hover {
    opacity: 1;
}

/* Consent notice */
.video-modal__consent {
    padding: 3rem 2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}

.video-modal__consent-text {
    font-size: 1.1rem;
    line-height: 1.5;
    color: var(--dark-gray);
    max-width: 32em;
}

.video-modal__consent-link {
    font-size: 0.9rem;
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.video-modal__consent-link:hover {
    color: var(--dark);
}

.video-modal__consent-btn {
    margin-top: 0.5rem;
}

/* Video player 16:9 */
.video-modal__player {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.video-modal__player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 640px) {
    .video-modal {
        padding: 0.75rem;
    }

    .video-modal__consent {
        padding: 2rem 1.25rem;
    }

    .video-modal__consent-text {
        font-size: 0.95rem;
    }
}

#exhibitions,
#books {
    padding-top: min(5vw, 96px);
}

/* Exhibition Cards */
.exhibitions__title {
    font-family: var(--main-font), sans-serif;
    font-weight: 300;
    font-size: min(3vw, 2.5rem);
    color: var(--black);
    letter-spacing: var(--base-letter-spacing);
    margin-bottom: 0.5em;
}

.exhibitions__title em {
    font-family: var(--alt-font), serif;
    font-weight: 400;
}

.exhibitions__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-top: 2rem;
}

.exhibition-card {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.4s var(--ease-out-quart), box-shadow 0.4s var(--ease-out-quart);
}

.exhibition-card--live {
    text-decoration: none;
    color: inherit;
    display: block;
}

.exhibition-card--live:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(1, 56, 52, 0.15);
}

.exhibition-card__image {
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    line-height: 0;
}

.exhibition-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s var(--ease-out-quart);
}

.exhibition-card--live:hover .exhibition-card__image img {
    transform: scale(1.04);
}

.exhibition-card__badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    background: var(--secondary);
    color: var(--black);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.25em 0.7em;
    border-radius: 100px;
    line-height: 1.4;
}

.exhibition-card__placeholder {
    aspect-ratio: 3 / 2;
    background: var(--black);
    display: flex;
    align-items: center;
    justify-content: center;
}

.exhibition-card__coming {
    color: rgba(235, 234, 229, 0.5);
    font-family: var(--alt-font), serif;
    font-style: italic;
    font-size: 1rem;
    letter-spacing: 0;
}

.exhibition-card__info {
    padding: 0.875rem 1rem 1rem;
}

.exhibition-card__venue {
    font-family: var(--main-font), sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--black);
    line-height: 1.3;
    letter-spacing: -0.02em;
}

.exhibition-card__meta {
    font-size: 0.8rem;
    color: var(--dark-gray);
    margin-top: 0.2em;
    font-weight: 300;
}

.exhibition-card__btn {
    margin: 0 1rem 1rem;
    text-align: center;
    font-size: min(1.1vw, 16px) !important;
    display: inline-block;
}

@media (max-width: 1059px) {
    .exhibitions__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .exhibition-card__btn {
        font-size: 14px !important;
    }
}

@media (max-width: 460px) {
    .exhibitions__grid {
        grid-template-columns: 1fr;
    }
}

.book-card__image {
    aspect-ratio: 1 / 1;
}