.movie-hero-container {
    max-width: 1200px;
    margin: 18px auto 24px;
    padding: 0 16px;
}

.movie-hero {
    position: relative;
    overflow: hidden;
    min-height: 480px;
    border-radius: 8px;
    background: #111d20;
    color: #fff;
    text-align: left;
}

.movie-hero__backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.movie-hero__backdrop--poster {
    object-position: center 32%;
    filter: blur(2px);
    transform: scale(1.025);
}

.movie-hero::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, rgba(9, 20, 25, .95), rgba(9, 20, 25, .76) 43%, rgba(9, 20, 25, .03)), linear-gradient(0deg, rgba(9, 20, 25, .45), transparent 60%);
}

.movie-hero__content {
    position: relative;
    z-index: 1;
    max-width: 690px;
    padding: 52px 46px 46px;
}

.movie-hero__eyebrow {
    margin: 0 0 14px;
    opacity: .72;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.movie-hero__title {
    margin: 0 0 10px;
    color: inherit;
    font-size: clamp(30px, 3.7vw, 52px);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -1.4px;
}

.movie-hero__meta {
    margin: 0 0 18px;
    opacity: .75;
    font-size: 14px;
}

.movie-hero__meta span { margin: 0 10px; }

.movie-hero__synopsis {
    max-width: 510px;
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.65;
    opacity: .85;
}

/* Override the site's generic mobile h2 size. */
.movie-hero .movie-hero__heading {
    font-size: 15px !important;
    font-weight: 700;
    margin: 0 0 12px;
    color: inherit;
}

.movie-hero__sources { display: flex; flex-wrap: wrap; gap: 9px; }

.movie-hero__source {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    min-height: 63px;
    padding: 12px 14px;
    border: 1px solid #dfe4eb;
    border-radius: 6px;
    background: rgba(255, 255, 255, .94);
    color: #172337;
    text-decoration: none;
}

.movie-hero__source:hover {
    color: #205ab3;
    border-color: #5785cc;
    background: #f3f7ff;
    text-decoration: none;
}

.movie-hero__source img { flex-shrink: 0; border-radius: 7px; }
.movie-hero__source-copy { display: flex; flex-direction: column; gap: 3px; }
.movie-hero__source-copy strong { font-size: 13px; line-height: 1.2; }
.movie-hero__source-copy small { color: #626b79; font-size: 10px; line-height: 1.3; }
.movie-hero__source-arrow { margin-left: auto; padding-left: 8px; font-size: 19px; }
.movie-hero__note { margin: 10px 0 0; font-size: 11px; opacity: .75; }
.movie-hero__poster { display: none; }

.movie-hero__empty { max-width: 430px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .25); }
.movie-hero__empty p { max-width: 350px; font-size: 14px; opacity: .85; margin-bottom: 17px; line-height: 1.6; }
.movie-hero__empty small { display: block; margin-top: 12px; font-size: 11px; opacity: .75; }
.movie-hero__explore { display: inline-flex; gap: 24px; align-items: center; padding: 11px 17px; border-radius: 5px; background: #fff; color: #172337; font-size: 13px; font-weight: 600; }
.movie-hero__explore:hover { color: #205ab3; background: #f3f7ff; text-decoration: none; }
.movie-hero a:focus-visible { outline: 3px solid #7cacf6; outline-offset: 3px; }
#movie-details { scroll-margin-top: 80px; }

@media (min-width: 900px) {
    .movie-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .movie-hero__content { flex: 1 1 690px; min-width: 0; }
    .movie-hero__poster { display: block; position: relative; z-index: 1; flex: 0 0 auto; width: clamp(180px, 19vw, 225px); height: auto; max-height: 340px; object-fit: contain; margin: 36px 60px 36px 0; border-radius: 4px; box-shadow: 0 12px 32px rgba(0, 0, 0, .4); }
}

@media (max-width: 650px) {
    .movie-hero-container { margin: 10px auto 18px; padding: 0 10px; }
    .movie-hero { min-height: 510px; }
    .movie-hero::after { background: linear-gradient(0deg, rgba(9, 20, 25, .98) 5%, rgba(9, 20, 25, .7) 70%, rgba(9, 20, 25, .29)); }
    .movie-hero__content { padding: 135px 24px 28px; }
    .movie-hero__title { font-size: 34px; letter-spacing: -.9px; }
    .movie-hero__synopsis { font-size: 13px; }
    .movie-hero__sources { flex-direction: column; }
}

/* Free videos: a direct link plus an expandable list of every version or episode. */
.watch-videos { margin-top: 24px; }
.watch-videos__primary { display: inline-flex; align-items: center; gap: 14px; padding: 16px 20px; background: #fff; color: #152d37; border-radius: 6px; font-size: 14px; line-height: 1.4; font-weight: 700; box-shadow: 0 4px 20px #0002; }
.watch-videos__primary:hover { background: #edf3fc; color: #205ab3; text-decoration: none; }
.watch-videos__primary .watch-videos__arrow { margin-left: 6px; font-size: 20px; font-weight: 400; }
.watch-videos__caption { font-size: 11px; opacity: .7; margin: 10px 0 18px; }
.watch-videos__more { border-top: 1px solid #ffffff35; margin-top: 24px; }
.watch-videos__more > summary { display: flex; justify-content: space-between; list-style: none; padding: 17px 0; cursor: pointer; font-size: 13px; font-weight: 600; }
.watch-videos__more > summary::-webkit-details-marker { display: none; }
.watch-videos__more > summary > span { transition: transform .45s cubic-bezier(.25, .8, .25, 1); }
.watch-videos__more.is-expanded > summary > span { transform: rotate(180deg); }
.watch-videos__library { color: #fff; padding-bottom: 12px; }
.watch-videos__tabs { display: flex; gap: 6px; overflow-x: auto; padding: 0 0 14px; }
.watch-videos__tabs button { flex-shrink: 0; border: 1px solid rgba(255, 255, 255, .2); border-radius: 20px; padding: 7px 12px; background: transparent; color: inherit; font-size: 12px; }
.watch-videos__tabs button[aria-pressed=true] { background: #fff; border-color: #fff; color: #183747; }
.watch-videos__list { max-height: 300px; overflow-y: auto; overscroll-behavior: contain; padding-right: 6px; }
.watch-videos__row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 0; border-top: 1px solid rgba(255, 255, 255, .2); }
.watch-videos__row-title { font-size: 13px; font-weight: 600; max-width: 230px; }
.watch-videos__links { display: flex; flex-wrap: wrap; gap: 6px; }
.watch-videos__link { display: grid; grid-template-columns: 1fr auto; column-gap: 16px; border: 1px solid #dfe7ef; background: #fff; color: #243b50; border-radius: 5px; padding: 8px 11px; text-align: left; }
.watch-videos__link strong { font-size: 12px; font-weight: 600; }
.watch-videos__link small { grid-row: 2; font-size: 10px; color: #647386; }
.watch-videos__link .watch-videos__arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.watch-videos__link:hover { background: #edf3fb; color: #245baa; text-decoration: none; }
/* Browser history marks the sources that have already been opened. */
.movie-hero__source:visited, .watch-videos__primary:visited, .watch-videos__link:visited { background-color: #f0e9fa; border-color: #b99bd5; color: #704393; }
.movie-hero__source:visited small, .watch-videos__link:visited small { color: #7c638e; }
.movie-hero__source:visited:hover, .watch-videos__primary:visited:hover, .watch-videos__link:visited:hover { background-color: #e7d9f5; color: #592d7d; }
.watch-videos__note { font-size: 11px; margin: 15px 0 0; opacity: .65; }
.watch-videos summary:focus-visible, .watch-videos__tabs button:focus-visible { outline: 3px solid #7cacf6; outline-offset: 3px; }

@media (max-width: 650px) {
    .watch-videos__primary { padding: 13px 14px; gap: 10px; font-size: 12px; }
    .watch-videos__row { align-items: flex-start; flex-direction: column; gap: 8px; }
    .watch-videos__row-title { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
    .watch-videos__more > summary > span { transition: none; }
}
