.page-hero__text {
    display: grid;
    gap: 0.8rem;
    align-content: center;
    min-width: 0;
}

.page-hero__text .eyebrow {
    margin: 0;
}

.page-hero__title {
    color: var(--ink);
    font-size: clamp(2.6rem, 1.8rem + 3vw, 4.4rem);
    font-weight: 500;
    line-height: 1;
    font-variant-numeric: lining-nums;
}

.page-hero__body {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.75;
}

.page-hero__links {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.5rem;
}

.page-hero__links-label {
    margin: 0;
    color: var(--ink-mute);
    font: 600 0.66rem/1.2 var(--font-sans);
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.page-hero__links-label--light {
    color: var(--text-light);
}

.page-hero--align-center .page-hero__links .chip-list,
.page-hero-after--align-center .page-hero__links .chip-list {
    justify-content: center;
}

.page-hero--align-end .page-hero__links .chip-list,
.page-hero-after--align-end .page-hero__links .chip-list {
    justify-content: flex-end;
}

.page-hero--align-center .page-hero__text {
    justify-items: center;
    text-align: center;
}

.page-hero--align-end .page-hero__text {
    justify-items: end;
    text-align: right;
}

.page-hero--split {
    display: grid;
    gap: 1.5rem;
    margin-top: 1.25rem;
}

.page-hero--split .hero-media {
    aspect-ratio: 1 / 1;
}

.page-hero--text {
    margin-top: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
}

.page-hero--text.page-hero--bare {
    margin-top: 0;
}

.page-hero--text.page-hero--narrow .page-hero__text {
    max-width: 46rem;
}

.page-hero--text.page-hero--align-center .page-hero__text {
    margin-inline: auto;
}

.page-hero--text.page-hero--align-end .page-hero__text {
    margin-left: auto;
}

.page-hero--half {
    display: grid;
    background: var(--cream);
}

.page-hero--half .hero-media {
    aspect-ratio: 4 / 5;
}

.page-hero--half.page-hero--height-compact .hero-media {
    aspect-ratio: 1 / 1;
}

.page-hero--half.page-hero--height-full .hero-media {
    aspect-ratio: auto;
    height: calc(100svh - var(--announce-h) - var(--header-h));
}

.page-hero--half .page-hero__panel {
    display: grid;
    align-items: center;
    padding: clamp(2rem, 1.5rem + 3vw, 4.5rem) var(--gutter);
}

.page-hero--half.page-hero--narrow .page-hero__text {
    max-width: 34rem;
}

.page-hero--half.page-hero--align-center .page-hero__text {
    justify-self: center;
}

.page-hero--half.page-hero--align-end .page-hero__text {
    justify-self: end;
}

.page-hero--banner {
    --hero-h: 75svh;
    position: relative;
    display: grid;
    min-height: max(var(--hero-h), 22rem);
    overflow: hidden;
    background: var(--navy-800);
}

.page-hero--banner.page-hero--height-compact {
    --hero-h: 60svh;
}

.page-hero--banner.page-hero--height-full {
    --hero-h: calc(100svh - var(--announce-h));
}

.page-hero--banner .hero-media {
    position: absolute;
    inset: 0;
    background: transparent;
}

.page-slider,
.page-slider__slides,
.page-slider__slide {
    position: absolute;
    inset: 0;
}

.page-slider {
    touch-action: pan-y;
}

.page-slider__slide {
    display: none;
}

.page-slider__slide.is-active,
.page-slider__slide.is-leaving {
    display: block;
}

.page-slider__slide.is-entering {
    animation: page-slider-in 0.9s var(--ease-out) both;
}

.page-slider__controls {
    position: absolute;
    left: 50%;
    bottom: clamp(0.85rem, 0.6rem + 1vw, 1.5rem);
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transform: translateX(-50%);
}

.page-slider__arrow,
.page-slider__pause {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid var(--control-line, rgba(255, 255, 255, 0.4));
    border-radius: var(--control-radius, 50%);
    background: var(--control-fill, rgba(11, 16, 32, 0.35));
    color: var(--control-icon, var(--white));
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.page-slider__arrow:hover,
.page-slider__pause:hover {
    border-color: var(--control-hover-line, rgba(255, 255, 255, 0.4));
    background: var(--control-hover-fill, rgba(11, 16, 32, 0.65));
    color: var(--control-hover-icon, var(--white));
}

.page-slider__arrow .icon,
.page-slider__pause .icon {
    width: 0.95rem;
    height: 0.95rem;
}

.page-slider__icon--play,
.page-slider__pause[aria-pressed="true"] .page-slider__icon--pause {
    display: none;
}

.page-slider__pause[aria-pressed="true"] .page-slider__icon--play {
    display: block;
}

.page-slider__dots {
    display: flex;
    gap: 0.35rem;
}

.page-slider__dot {
    position: relative;
    width: 2rem;
    height: 2.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.page-slider__dot::before,
.page-slider__progress {
    position: absolute;
    top: 50%;
    left: 0;
    height: 2px;
    margin-top: -1px;
}

.page-slider__dot::before {
    content: "";
    right: 0;
    background: rgba(255, 255, 255, 0.45);
}

.page-slider__progress {
    width: 0;
    background: var(--white);
}

.page-slider__dot.is-active .page-slider__progress {
    width: 100%;
}

.page-slider.is-running .page-slider__dot.is-active .page-slider__progress {
    animation: page-slider-progress var(--slide-time, 6.5s) linear both;
}

.page-hero--slider.page-hero--position-bottom .page-hero__inner {
    padding-bottom: calc(clamp(2.5rem, 1.5rem + 4vw, 5rem) + 2.5rem);
}

@keyframes page-slider-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes page-slider-progress {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

.page-hero--banner::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.page-hero--banner.page-hero--bare::after {
    display: none;
}

.page-hero--banner.page-hero--tone-light::after {
    background: linear-gradient(to top, rgba(11, 16, 32, 0.72) 0%, rgba(11, 16, 32, 0.3) 45%, rgba(11, 16, 32, 0) 72%);
}

.page-hero--banner.page-hero--tone-light.page-hero--position-top::after {
    background: linear-gradient(to bottom, rgba(11, 16, 32, 0.72) 0%, rgba(11, 16, 32, 0.3) 45%, rgba(11, 16, 32, 0) 72%);
}

.page-hero--banner.page-hero--tone-light.page-hero--position-middle::after {
    background: rgba(11, 16, 32, 0.48);
}

.page-hero--banner.page-hero--tone-dark::after {
    background: linear-gradient(to top, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.3) 45%, rgba(255, 255, 255, 0) 72%);
}

.page-hero--banner.page-hero--tone-dark.page-hero--position-top::after {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.3) 45%, rgba(255, 255, 255, 0) 72%);
}

.page-hero--banner.page-hero--tone-dark.page-hero--position-middle::after {
    background: rgba(255, 255, 255, 0.55);
}

.page-hero__overlay {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
}

.page-hero--position-top .page-hero__overlay {
    align-items: flex-start;
}

.page-hero--position-middle .page-hero__overlay {
    align-items: center;
}

.page-hero__inner {
    display: grid;
    padding-block: clamp(2.5rem, 1.5rem + 4vw, 5rem);
}

.page-hero--banner.page-hero--tone-light.page-hero--position-top .page-hero__inner {
    padding-top: calc(var(--header-h) + clamp(1.5rem, 1rem + 2vw, 3rem));
}

.page-hero--banner.page-hero--narrow .page-hero__text {
    max-width: 40rem;
}

.page-hero__frame {
    position: relative;
    display: grid;
    min-width: 0;
}

.page-hero__crumbs {
    position: absolute;
    inset: 0 0 auto;
    z-index: 3;
    padding-top: 1rem;
    pointer-events: none;
}

.page-hero__frame > .page-hero__crumbs {
    padding: 1rem var(--gutter) 0;
}

.page-hero__crumbs .breadcrumb {
    pointer-events: auto;
}

.has-overlay-header .page-hero--banner > .page-hero__crumbs {
    padding-top: calc(var(--header-h) + 0.75rem);
}

.page-hero__crumbs--light .breadcrumb__list {
    color: rgba(255, 255, 255, 0.82);
    text-shadow: 0 1px 2px rgba(11, 16, 32, 0.6), 0 0 10px rgba(11, 16, 32, 0.45);
}

.page-hero__crumbs--light .breadcrumb__item + .breadcrumb__item::before {
    color: rgba(255, 255, 255, 0.6);
}

.page-hero__crumbs--light .breadcrumb__link {
    color: rgba(255, 255, 255, 0.86);
}

.page-hero__crumbs--light .breadcrumb__link:hover,
.page-hero__crumbs--light .breadcrumb__item [aria-current] {
    color: var(--white);
}

.page-hero__crumbs--dark .breadcrumb__list {
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.7), 0 0 10px rgba(255, 255, 255, 0.55);
}

.page-hero--crumbed.page-hero--banner.page-hero--position-top .page-hero__inner {
    padding-top: calc(clamp(2.5rem, 1.5rem + 4vw, 5rem) + 2rem);
}

.page-hero--crumbed.page-hero--banner.page-hero--tone-light.page-hero--position-top .page-hero__inner {
    padding-top: calc(var(--header-h) + clamp(1.5rem, 1rem + 2vw, 3rem) + 2rem);
}

.page-hero--banner.page-hero--align-center .page-hero__text {
    justify-self: center;
}

.page-hero--banner.page-hero--align-end .page-hero__text {
    justify-self: end;
}

.page-hero--banner.page-hero--align-end.page-hero--position-bottom .hero-media__toggle {
    right: auto;
    left: 1rem;
}

.page-hero--tone-light .page-hero__title {
    color: var(--white);
}

.page-hero--tone-light .page-hero__overlay .page-hero__body {
    color: var(--text-light);
}

.page-hero--tone-dark .page-hero__title {
    color: var(--ink);
}

.page-hero--gallery {
    display: grid;
    gap: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
    margin-top: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
}

.page-hero--gallery.page-hero--narrow .page-hero__text {
    max-width: 46rem;
}

.page-hero--gallery.page-hero--align-center .page-hero__text {
    justify-self: center;
}

.page-hero--gallery.page-hero--align-end .page-hero__text {
    justify-self: end;
}

.page-gallery {
    --gallery-gap: clamp(0.5rem, 0.25rem + 1vw, 1.5rem);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gallery-gap);
}

.page-gallery__row {
    display: contents;
}

.page-gallery .hero-media {
    aspect-ratio: 4 / 5;
}

.page-gallery .page-gallery__item--span {
    grid-column: 1 / -1;
    aspect-ratio: 1 / 1;
}

.page-gallery--height-compact .hero-media {
    aspect-ratio: 1 / 1;
}

.page-gallery--height-compact .page-gallery__item--span {
    aspect-ratio: 4 / 3;
}

.page-gallery--height-full .hero-media {
    aspect-ratio: 2 / 3;
}

.page-gallery--height-full .page-gallery__item--span {
    aspect-ratio: 4 / 5;
}

.page-hero-after {
    display: grid;
    margin-top: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
}

.page-hero-extra {
    display: flow-root;
    margin-top: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
}

.page-hero-after .page-hero__text {
    gap: 0.8rem;
}

.page-hero-after--narrow .page-hero__text,
.page-hero-extra--narrow > :not(.rt-figure--wide, .rt-figure--full, .rt-gallery.rt-figure--wide, .rt-gallery.rt-figure--full) {
    max-width: 46rem;
}

.page-hero-extra > * + * {
    margin-top: 0.9rem;
}

.page-hero-extra > :is(h2, h3, hr, .rt-gallery, .rt-table, .rt-embed, .rt-products, .rt-figure--column, .rt-figure--wide, .rt-figure--full, .rt-toc, .rt-faq, .rt-actions) {
    clear: both;
}

.page-hero-after--align-center .page-hero__text {
    justify-self: center;
    justify-items: center;
    text-align: center;
}

.page-hero-after--align-end .page-hero__text {
    justify-self: end;
    justify-items: end;
    text-align: right;
}

.page-hero-extra--align-center {
    text-align: center;
}

.page-hero-extra--align-center > * {
    margin-inline: auto;
}

.page-hero-extra--align-end {
    text-align: right;
}

.page-hero-extra--align-end > * {
    margin-inline-start: auto;
}

.page-hero-extra__body {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.75;
}

.read-more,
.read-more__body {
    display: grid;
    gap: inherit;
}

.read-more__body {
    min-width: 0;
    transition: max-height 0.45s var(--ease-out);
}

.js .read-more:not(.is-open) .read-more__body {
    max-height: 5.4em;
    overflow: hidden;
}

.js .read-more.is-clamped:not(.is-open) .read-more__body {
    mask-image: linear-gradient(to bottom, #000 45%, transparent);
}

.read-more__toggle {
    padding: 0;
    border: 0;
    background: none;
    color: var(--ink);
    font: 500 0.78rem/1.4 var(--font-sans);
    letter-spacing: 0.14em;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.35em;
    text-transform: uppercase;
    cursor: pointer;
}

.page-hero--tone-light .page-hero__overlay .read-more__toggle {
    color: var(--white);
}

.page-hero--title-medium .page-hero__title,
.page-hero-after--title-medium .page-hero__title {
    font-size: clamp(2.1rem, 1.6rem + 1.8vw, 3.2rem);
}

.page-hero--title-small .page-hero__title,
.page-hero-after--title-small .page-hero__title {
    font-size: clamp(1.6rem, 1.35rem + 0.9vw, 2.2rem);
    line-height: 1.1;
}

.page-hero--banner.page-hero--boxed::after {
    display: none;
}

.page-hero--boxed .page-hero__overlay .page-hero__text {
    padding: clamp(1.25rem, 0.9rem + 1.6vw, 2.5rem);
    background: rgba(255, 255, 255, 0.94);
}

.page-hero--boxed.page-hero--tone-light .page-hero__overlay .page-hero__text {
    background: rgba(11, 16, 32, 0.8);
}

.page-hero--boxed.page-hero--align-start .page-hero__overlay .page-hero__text {
    justify-self: start;
}

.page-hero--boxed.page-hero--narrow .page-hero__overlay .page-hero__text {
    max-width: 34rem;
}

.page-hero--boxed.page-hero--wide .page-hero__overlay .page-hero__text {
    max-width: 48rem;
}

.page-end-text {
    padding-block: clamp(3rem, 2rem + 3vw, 5rem);
    border-top: 1px solid var(--line);
}

.page-end-text .page-hero-extra {
    margin-top: 0;
}

@media (max-width: 47.99em) {
    .hero-media__video--wide {
        display: none;
    }
}

@media (min-width: 48em) {
    .hero-media__video--phone {
        display: none;
    }

    .page-hero--split {
        grid-template-columns: minmax(0, 20rem) minmax(0, 1fr);
        gap: clamp(2rem, 4vw, 4.5rem);
        align-items: center;
        margin-top: 1.5rem;
    }

    .page-hero--split.page-hero--media-end {
        grid-template-columns: minmax(0, 1fr) minmax(0, 20rem);
    }

    .page-hero--split.page-hero--media-end .page-hero__media-slot {
        order: 2;
    }

    .page-hero--split.page-hero--narrow .page-hero__text {
        max-width: 40rem;
    }

    .page-hero--split.page-hero--narrow.page-hero--align-center .page-hero__text {
        justify-self: center;
    }

    .page-hero--split.page-hero--narrow.page-hero--align-end .page-hero__text {
        justify-self: end;
    }

    .page-hero--half {
        --hero-h: min(44rem, calc(100svh - var(--announce-h) - var(--header-h)));
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-height: var(--hero-h);
    }

    .page-hero--half.page-hero--height-compact {
        --hero-h: min(32rem, 62svh);
    }

    .page-hero--half.page-hero--height-full {
        --hero-h: calc(100svh - var(--announce-h) - var(--header-h));
    }

    .page-hero--half .hero-media,
    .page-hero--half.page-hero--height-compact .hero-media,
    .page-hero--half.page-hero--height-full .hero-media {
        aspect-ratio: auto;
        height: auto;
    }

    .page-hero--half.page-hero--media-end .page-hero__frame {
        order: 2;
    }

    .page-hero--half .page-hero__panel {
        padding-inline: clamp(2rem, 1rem + 4vw, 6rem);
    }

    .page-hero--half.page-hero--wide .page-hero__panel {
        padding-inline: var(--gutter);
    }

    .page-hero--banner {
        --hero-h: 70svh;
    }

    .page-gallery {
        --gallery-ratio: 2.25;
        display: flex;
        flex-direction: column;
    }

    .page-gallery--height-compact {
        --gallery-ratio: 3.2;
    }

    .page-gallery--height-full {
        --gallery-ratio: 1.75;
    }

    .page-gallery__row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--gallery-gap);
        aspect-ratio: var(--gallery-ratio);
        max-height: calc(100svh - var(--announce-h) - var(--header-h));
    }

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

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

    .page-gallery__row--feature {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
        grid-template-rows: repeat(2, minmax(0, 1fr));
    }

    .page-gallery--media-end .page-gallery__row--feature {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    }

    .page-gallery .hero-media,
    .page-gallery .page-gallery__item--span {
        grid-column: auto;
        aspect-ratio: auto;
    }

    .page-gallery__row--feature .page-gallery__item--feature,
    .page-gallery__row--feature .page-gallery__item:nth-child(2):last-child {
        grid-row: 1 / -1;
    }

    .page-gallery--media-end .page-gallery__row--feature .page-gallery__item--feature {
        grid-column: 2;
    }

    .page-gallery--media-end .page-gallery__row--feature .page-gallery__item:not(.page-gallery__item--feature) {
        grid-column: 1;
    }

    .page-hero--banner.page-hero--height-compact {
        --hero-h: 50svh;
    }

    .page-hero--banner.page-hero--tone-light.page-hero--position-middle::after {
        background: rgba(11, 16, 32, 0.4);
    }

    .page-hero--banner.page-hero--narrow.page-hero--tone-light.page-hero--position-middle.page-hero--align-start::after {
        background: linear-gradient(to right, rgba(11, 16, 32, 0.7) 0%, rgba(11, 16, 32, 0.38) 45%, rgba(11, 16, 32, 0.08) 100%);
    }

    .page-hero--banner.page-hero--narrow.page-hero--tone-light.page-hero--position-middle.page-hero--align-end::after {
        background: linear-gradient(to left, rgba(11, 16, 32, 0.7) 0%, rgba(11, 16, 32, 0.38) 45%, rgba(11, 16, 32, 0.08) 100%);
    }

    .page-hero--banner.page-hero--tone-dark.page-hero--position-middle::after {
        background: rgba(255, 255, 255, 0.45);
    }

    .page-hero--banner.page-hero--narrow.page-hero--tone-dark.page-hero--position-middle.page-hero--align-start::after {
        background: linear-gradient(to right, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.45) 45%, rgba(255, 255, 255, 0.08) 100%);
    }

    .page-hero--banner.page-hero--narrow.page-hero--tone-dark.page-hero--position-middle.page-hero--align-end::after {
        background: linear-gradient(to left, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.45) 45%, rgba(255, 255, 255, 0.08) 100%);
    }
}

@media (min-width: 75em) {
    .page-hero--split {
        grid-template-columns: minmax(0, 26rem) minmax(0, 1fr);
    }

    .page-hero--split.page-hero--media-end {
        grid-template-columns: minmax(0, 1fr) minmax(0, 26rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-media__video {
        transition: none;
    }
}
