.platform-chapter article [id] {
    scroll-margin-top: 115px;
}

.platform-wordmark {
    align-items: center;
    color: #002d74;
    display: inline-flex;
    font-size: clamp(1rem, 2.1vw, 1.4rem);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.platform-wordmark:hover,
.platform-wordmark:focus-visible {
    color: #002d74;
}

body.dark-mode .platform-wordmark {
    color: #fff;
}

.platform-footer-cta {
    align-items: center;
    background-color: #9dc3ff;
    border-radius: 50px;
    color: #002d74;
    display: inline-flex;
    font-weight: 600;
    gap: 12px;
    padding: 12px 16px;
    text-decoration: none;
    width: fit-content;
}

.platform-footer-cta:hover,
.platform-footer-cta:focus-visible {
    background-color: #54bce8;
    color: #001b46;
}

.eyd-home-who-we-are__image picture .platform-history-image {
    background-color: #f3efe3;
    object-fit: contain;
}

.platform-figure {
    margin: 1.5rem 0;
}

.platform-figure--compact {
    max-width: 36rem;
}

.platform-figure img {
    border-radius: 8px;
    display: block;
    height: auto;
    width: 100%;
}

.platform-figure figcaption {
    font-size: .875rem;
    line-height: 1.5;
    margin-top: .5rem;
}

/* Match the fixed header offset so the homepage carousel fills the first screen. */
.eyd-home-hero-carousel {
    --hero-header-height: 64px;
    --hero-height: calc(100vh - var(--hero-header-height));
    --hero-height: calc(100svh - var(--hero-header-height));
}

.eyd-home-hero-carousel__container {
    height: var(--hero-height);
}

.eyd-home-hero-carousel__img,
.eyd-home-hero-carousel__img picture,
.eyd-home-hero-carousel__img img {
    display: block;
    height: 100%;
    max-height: none;
}

@media (min-width: 1024px) {
    .eyd-home-hero-carousel {
        --hero-header-height: 91px;
    }
}

@media (max-width: 1023px) {
    .eyd-home-hero-carousel__footer {
        position: absolute;
        inset: auto 0 0;
        height: auto;
        padding: 24px 48px 48px;
        background: rgba(0, 27, 70, .88);
    }

    .eyd-home-hero-carousel__footer-link {
        padding: 12px 0 0;
    }

    .eyd-home-hero-carousel [data-carousel-arrows] {
        bottom: 28px;
        padding: 0 4px;
        z-index: 2;
    }

    .eyd-home-hero-carousel [data-carousel-arrows] .slick-arrow:is(.slick-prev, .slick-next) {
        height: 44px;
        width: 44px;
    }

    .eyd-home-hero-carousel .slick-dots {
        bottom: 16px;
        z-index: 2;
    }
}

@media (max-width: 767px) {
    .eyd-home-hero-carousel__img.platform-hero-group-photo {
        isolation: isolate;
        background: #001b46;
    }

    .platform-hero-group-photo::before {
        position: absolute;
        inset: 0;
        content: "";
        background: linear-gradient(0deg, #001b46, rgba(0, 27, 70, .25)), url("../image/platform/hero-finance-group-mobile.webp") center / cover;
        filter: blur(16px);
        transform: scale(1.1);
    }

    .eyd-home-hero-carousel__img.platform-hero-group-photo picture {
        box-sizing: border-box;
        padding-bottom: min(25svh, 220px);
    }

    .eyd-home-hero-carousel__img.platform-hero-group-photo img {
        object-fit: contain;
    }

    .eyd-home-who-we-are__image picture .platform-history-image {
        height: auto;
    }

    .eyd-home-hero-carousel__footer h4 {
        text-wrap: balance;
    }
}

/* Supplied transparent logo: keep the existing header dimensions. */
.site-header--logo.platform-wordmark > .platform-brand-image {
    display: block;
    height: 43px;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

body.dark-mode .site-header--logo.platform-wordmark > .platform-brand-image {
    display: block;
}

@media (min-width: 1024px) {
    .site-header--logo.platform-wordmark > .platform-brand-image {
        height: 72px;
    }
}

.site-header--logo.platform-wordmark > .platform-brand-globe {
    display: block;
    flex: none;
    height: 38px;
    object-fit: contain;
    width: 63px;
}

body.dark-mode .site-header--logo.platform-wordmark > .platform-brand-globe {
    display: block;
}

.platform-brand-name {
    flex: none;
    font-family: Montserrat, Inter, Arial, sans-serif;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .015em;
    line-height: 1;
    margin-inline-start: 9px;
}

@media (min-width: 1024px) {
    .site-header--logo.platform-wordmark > .platform-brand-globe {
        height: 46px;
        width: 74px;
    }

    .platform-brand-name {
        font-size: 29px;
        margin-inline-start: 10px;
    }
}

@media (min-width: 1280px) {
    .site-header--logo.platform-wordmark > .platform-brand-globe {
        height: 51px;
        width: 85px;
    }

    .platform-brand-name {
        font-size: 33px;
        margin-inline-start: 12px;
    }
}
