/*
 * Final public hero layer.
 *
 * Loaded after the legacy and compact layers with a new asset name so a
 * browser cannot keep the broken pre-fix stylesheet from its cache. The
 * public heroes are deliberately content-driven and compact; their copy is
 * laid out as a column to prevent legacy implicit grid rows from overlapping
 * the call-to-action and helper text.
 */

:root {
    --copp-hero-final-height: 340px;
    --copp-hero-final-media-height: 250px;
}

/* Homepage slider */
.copp-hero,
.copp-hero__slides,
.copp-hero__track,
.copp-hero__slide,
.copp-hero__inner {
    height: var(--copp-hero-final-height) !important;
    min-height: var(--copp-hero-final-height) !important;
}

.copp-hero__inner {
    align-items: center !important;
    padding: 18px 108px 22px !important;
}

.copp-hero__copy {
    align-content: initial !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    height: auto !important;
    justify-content: center !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.copp-hero__copy h1 {
    color: #263746 !important;
    font-size: 46px !important;
    line-height: 1.06 !important;
    margin: 0 0 10px !important;
    -webkit-text-fill-color: currentColor !important;
}

.copp-hero__copy h1 span {
    color: var(--copp-red) !important;
    -webkit-text-fill-color: currentColor !important;
}

.copp-hero__copy > p {
    color: #263746 !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
    margin: 0 0 12px !important;
    -webkit-text-fill-color: currentColor !important;
}

.copp-hero__actions {
    flex: 0 0 auto !important;
    gap: 16px !important;
    grid-row: auto !important;
    grid-template-columns: repeat(2, minmax(0, 220px)) !important;
    height: 48px !important;
    margin: 0 !important;
}

.copp-hero__btn {
    height: 48px !important;
}

.copp-hero__visual,
.copp-visual {
    min-height: 0 !important;
}

.copp-hero__people {
    bottom: -12px !important;
    height: calc(100% + 12px) !important;
    right: -12px !important;
    width: min(74%, 470px) !important;
}

/* All public entry heroes */
.copp-news-hero,
.copp-gallery-hero {
    min-height: 0 !important;
    padding: 12px 0 16px !important;
}

.copp-news-hero > .copp-news-hero__inner,
.copp-gallery-hero > .copp-gallery-hero__inner {
    align-items: center !important;
    gap: 24px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 72px 16px !important;
}

.copp-news-hero__copy,
.copp-gallery-hero__copy {
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 0 !important;
}

.copp-news-hero .copp-news-hero__title,
.copp-gallery-hero .copp-gallery-hero__title {
    color: #263746 !important;
    font-size: clamp(34px, 3vw, 42px) !important;
    line-height: 1.05 !important;
    margin: 0 0 8px !important;
    -webkit-text-fill-color: currentColor !important;
}

.copp-news-hero .copp-about-hero__subtitle,
.copp-news-hero [class$="__subtitle"],
.copp-gallery-hero [class$="__subtitle"] {
    color: #263746 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin: 0 0 6px !important;
    -webkit-text-fill-color: currentColor !important;
}

.copp-news-hero .copp-news-hero__lead,
.copp-news-hero [class$="__lead"],
.copp-news-hero [class$="__lead-copy"],
.copp-gallery-hero [class$="__lead"],
.copp-gallery-hero [class$="__lead-copy"] {
    color: #263746 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    margin: 6px 0 0 !important;
    -webkit-text-fill-color: currentColor !important;
}

.copp-news-hero .copp-news-hero__actions,
.copp-gallery-hero .copp-gallery-hero__actions {
    flex: 0 0 auto !important;
    margin: 10px 0 0 !important;
}

.copp-news-hero .copp-news-hero__media,
.copp-gallery-hero .copp-gallery-hero__media,
.copp-gallery-hero .copp-gallery-hero__frame {
    height: var(--copp-hero-final-media-height) !important;
    min-height: var(--copp-hero-final-media-height) !important;
    max-height: var(--copp-hero-final-media-height) !important;
    overflow: hidden !important;
}

.copp-news-hero .copp-news-hero__media img {
    height: var(--copp-hero-final-media-height) !important;
    min-height: 0 !important;
    max-height: var(--copp-hero-final-media-height) !important;
}

/* Article and catalog hero cards use the same compact rhythm. */
:is(
    .copp-programs-archive__hero,
    .copp-program-article__hero,
    .copp-news-article__hero,
    .copp-project-article__hero,
    .copp-equipment-article__hero,
    .copp-contest-article__hero,
    .copp-knowledge-item__hero,
    .copp-resources-archive__hero,
    .copp-resource-article__hero
) {
    min-height: 0 !important;
    padding: 20px 28px 24px !important;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .copp-hero,
    .copp-hero__slides,
    .copp-hero__track,
    .copp-hero__slide,
    .copp-hero__inner {
        height: 340px !important;
        min-height: 340px !important;
    }

    .copp-hero__inner,
    .copp-news-hero > .copp-news-hero__inner,
    .copp-gallery-hero > .copp-gallery-hero__inner {
        padding-left: 48px !important;
        padding-right: 48px !important;
    }

    .copp-news-hero .copp-news-hero__media,
    .copp-gallery-hero .copp-gallery-hero__media,
    .copp-gallery-hero .copp-gallery-hero__frame {
        height: 220px !important;
        min-height: 220px !important;
        max-height: 220px !important;
    }
}

@media (max-width: 991.98px) {
    .copp-hero,
    .copp-hero__slides,
    .copp-hero__track,
    .copp-hero__slide,
    .copp-news-hero,
    .copp-gallery-hero {
        height: auto !important;
        min-height: 0 !important;
    }

    .copp-hero__inner,
    .copp-news-hero > .copp-news-hero__inner,
    .copp-gallery-hero > .copp-gallery-hero__inner {
        height: auto !important;
        min-height: 0 !important;
        padding: 24px 32px 30px !important;
    }

    .copp-hero__copy {
        justify-content: flex-start !important;
    }

    .copp-hero__visual,
    .copp-visual {
        min-height: 220px !important;
    }

    .copp-news-hero .copp-news-hero__media,
    .copp-gallery-hero .copp-gallery-hero__media,
    .copp-gallery-hero .copp-gallery-hero__frame {
        height: 220px !important;
        min-height: 220px !important;
        max-height: 220px !important;
    }
}

@media (max-width: 767.98px) {
    .copp-hero__inner,
    .copp-news-hero > .copp-news-hero__inner,
    .copp-gallery-hero > .copp-gallery-hero__inner {
        padding: 20px 18px 24px !important;
    }

    .copp-hero__copy h1 {
        font-size: 38px !important;
    }

    .copp-hero__copy > p,
    .copp-news-hero .copp-news-hero__lead,
    .copp-news-hero [class$="__lead"],
    .copp-news-hero [class$="__lead-copy"],
    .copp-gallery-hero [class$="__lead"],
    .copp-gallery-hero [class$="__lead-copy"] {
        font-size: 14px !important;
    }

    .copp-news-hero .copp-news-hero__title,
    .copp-gallery-hero .copp-gallery-hero__title {
        font-size: 34px !important;
    }

    .copp-news-hero .copp-news-hero__media,
    .copp-gallery-hero .copp-gallery-hero__media,
    .copp-gallery-hero .copp-gallery-hero__frame {
        height: 190px !important;
        min-height: 190px !important;
        max-height: 190px !important;
    }

    .copp-news-hero .copp-news-hero__media img {
        height: 190px !important;
        max-height: 190px !important;
    }
}
