body:has(.company-subpage-hero) .home-header.is-idle:not(.is-scrolled) { transform: none; pointer-events: auto; }
body main .company-subpage-hero {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
}
.company-subpage-hero .photo-story-banner {
    position: relative;
    isolation: isolate;
    display: grid;
    align-items: center;
    min-height: 100vh;
    min-height: 100svh;
    background: #18242a;
}
.photo-story-banner > img,
.photo-story-banner::after {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.photo-story-banner > img {
    z-index: -2;
    object-fit: cover;
}
.photo-story-banner::after {
    content: "";
    z-index: -1;
    background: rgba(9, 17, 22, .56);
}
.photo-story-copy {
    display: grid;
    gap: 48px;
    width: min(900px, calc(100% - 40px));
    margin: auto;
    padding-block: calc(var(--home-header-height, 64px) + 32px) 112px;
    text-align: center;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
body main .company-subpage-hero :is(h1, h2) {
    margin: 0;
    color: #fff;
    font-size: var(--npr-type-title, 40px);
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -.035em;
    text-align: center;
    text-wrap: balance;
}
body main .photo-story-step p { margin: 20px 0 0; color: #fff; line-height: 1.75; }
body main .photo-story-step .photo-story-label { margin: 0 0 18px; font-weight: 600; letter-spacing: .07em; }
body main .company-subpage-hero .photo-story-link {
    position: absolute;
    bottom: clamp(22px, 4vh, 48px);
    left: 50%;
    transform: translateX(-50%);
    display: grid;
    justify-items: center;
    gap: 4px;
    padding: 8px 16px;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}
.photo-story-link span { font-size: 22px; line-height: 1; }
.photo-story-link:hover { text-decoration: underline; text-underline-offset: 4px; }
body main .photo-story-link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
/* The body enters the space released as the sticky photo folds. */
.company-subpage-hero.is-scroll-ready {
    z-index: 1;
    height: 300svh;
    margin-bottom: -60svh;
    pointer-events: none;
}
.company-subpage-hero.is-scroll-ready .photo-story-link { pointer-events: auto; }
.company-subpage-hero.is-scroll-ready .photo-story-banner > img,
.company-subpage-hero.is-scroll-ready .photo-story-banner::after {
    --photo-inset: calc(var(--ss-fold, 0) * var(--ss-fold-gutter, 40px));
    inset: 0 var(--photo-inset) auto;
    width: calc(100% - 2 * var(--photo-inset));
    height: calc(100% - var(--ss-fold, 0) * 60%);
    border-radius: calc(var(--ss-fold, 0) * var(--npr-radius, 24px));
}
.company-subpage-hero.is-scroll-ready .photo-story-banner {
    position: sticky;
    top: 0;
    height: 100svh;
    min-height: 0;
    background: transparent;
}
@media (max-height: 479px) {
    .is-scroll-ready .photo-story-copy { padding-block: var(--home-header-height, 60px) 54px; }
    body main .is-scroll-ready .photo-story-link { bottom: 4px; }
    body main .is-scroll-ready .photo-story-label { margin-bottom: 4px; }
    body main .is-scroll-ready .photo-story-step p { margin-top: 4px; }
}
.is-scroll-ready .photo-story-step { grid-area: 1 / 1; align-self: center; opacity: 0; }
.is-scroll-ready .photo-story-step:first-child { opacity: 1; }
.company-subpage-hero + [tabindex="-1"] { scroll-margin-top: var(--home-header-height, 64px); }
body.company-page main .company-subpage-hero + .company-section { padding-top: var(--npr-section-space, 64px); }
body.company-page main .company-subpage-hero + .company-organization .company-organization-chart { margin-top: 0; }
body.npr-redesign main .company-subpage-hero + .site-library-layout { margin-top: var(--npr-section-space, 64px); }
body.npr-redesign main #careers-jobs .career-result-count { margin: 0 0 16px; }
