.ess-film-page {
    min-height: 100vh;
    padding-top: clamp(128px, 15vw, 210px);
    background: #11130f;
    color: #f0eee7;
}

.ess-film-intro,
.ess-film-stage,
.ess-film-context {
    width: min(100% - 10vw, 1500px);
    margin-inline: auto;
}

.ess-film-intro {
    display: grid;
    grid-template-columns: minmax(150px, .55fr) minmax(0, 2.45fr);
    column-gap: 7vw;
    padding-bottom: clamp(52px, 7vw, 94px);
}

.ess-film-intro .ess-label {
    color: rgba(240, 238, 231, .7);
}

.ess-film-intro h1 {
    max-width: 1220px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(54px, 7.3vw, 112px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.045em;
}

.ess-film-lead {
    grid-column: 2;
    max-width: 760px;
    margin: 38px 0 0;
    color: rgba(240, 238, 231, .78);
    font-size: clamp(18px, 1.7vw, 25px);
    line-height: 1.55;
}

.ess-film-stage video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #050604;
    object-fit: cover;
}

.ess-film-stage > p {
    margin: 14px 0 0;
    color: rgba(240, 238, 231, .55);
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ess-film-context {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) auto auto;
    gap: 28px;
    align-items: end;
    padding: clamp(62px, 8vw, 118px) 0 clamp(90px, 11vw, 160px);
}

.ess-film-context > p {
    max-width: 760px;
    margin: 0;
    color: rgba(240, 238, 231, .76);
    font-size: clamp(17px, 1.3vw, 21px);
    line-height: 1.7;
}

.ess-film-context .ess-button {
    border-color: #f0eee7;
    color: #11130f;
    background: #f0eee7;
    white-space: nowrap;
}

.ess-film-context .ess-text-link {
    color: #f0eee7;
    white-space: nowrap;
}

@media (max-width: 860px) {
    .ess-film-intro,
    .ess-film-context {
        grid-template-columns: 1fr;
    }

    .ess-film-lead {
        grid-column: 1;
    }

    .ess-film-context {
        align-items: start;
    }
}

@media (max-width: 600px) {
    .ess-film-intro,
    .ess-film-stage,
    .ess-film-context {
        width: min(100% - 36px, 1500px);
    }

    .ess-film-page {
        padding-top: 112px;
    }
}
