.ess-case-abaco .ess-abaco-hero > img {
    object-position: center 58%;
}

.ess-case-abaco .ess-abaco-hero > video {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
}

.ess-case-abaco .ess-case-hero-shade {
    z-index: 1;
    background: linear-gradient(90deg, rgba(10, 15, 11, .84) 0%, rgba(10, 15, 11, .42) 45%, rgba(10, 15, 11, .08) 80%);
}

.ess-case-abaco .ess-case-hero h1 {
    font-size: clamp(70px, 8.6vw, 132px);
}

.ess-case-abaco .ess-abaco-threshold .ess-case-story-copy {
    background: #ebe6dc;
}

.ess-case-abaco .ess-abaco-arrival-story .ess-case-story-copy {
    background: #d5c7b5;
}

.ess-case-abaco .ess-abaco-arrival-story,
.ess-case-abaco .ess-abaco-arrival-story.ess-case-story-reverse {
    grid-template-columns: 1fr;
    min-height: 0;
}

.ess-case-abaco .ess-abaco-arrival-story .ess-case-story-media {
    order: 1;
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: 1672 / 941;
}

.ess-case-abaco .ess-abaco-arrival-story .ess-case-story-media img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center;
}

.ess-case-abaco .ess-abaco-arrival-story .ess-case-story-copy,
.ess-case-abaco .ess-abaco-arrival-story.ess-case-story-reverse .ess-case-story-copy {
    order: 2;
    min-height: 0;
    padding: 105px 7vw 115px;
}

.ess-case-abaco .ess-abaco-media-caption {
    position: absolute;
    z-index: 2;
    right: 22px;
    bottom: 20px;
    max-width: calc(100% - 44px);
    padding: 8px 10px;
    background: rgba(243, 240, 233, .9);
    color: #3d3f3a;
    font-size: 9px;
    line-height: 1.45;
    letter-spacing: .04em;
}

.ess-case-abaco .ess-abaco-entry-film {
    position: relative;
    background: #171a17;
}

.ess-case-abaco .ess-abaco-entry-film > video {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ess-case-abaco .ess-abaco-upper-story .ess-case-story-copy {
    background: #d4c7b5;
}

.ess-case-abaco .ess-abaco-interiors {
    background: #eee9e0;
    border-bottom: 1px solid var(--ess-line);
}

.ess-case-abaco .ess-abaco-interiors-heading {
    display: grid;
    grid-template-columns: .55fr 2.45fr;
    gap: 7vw;
    align-items: start;
    margin-bottom: 72px;
}

.ess-case-abaco .ess-abaco-interiors-heading h2 {
    max-width: 1080px;
    margin: 0 0 34px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(50px, 6vw, 88px);
    line-height: 1.02;
    letter-spacing: -.04em;
}

.ess-case-abaco .ess-abaco-interiors-lead {
    max-width: 770px;
    margin-bottom: 22px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.5;
    color: var(--ess-ink);
}

.ess-case-abaco .ess-abaco-interiors-heading div > p:last-child {
    max-width: 720px;
    font-size: 14px;
    line-height: 1.9;
    color: #565850;
}

.ess-case-abaco .ess-abaco-interiors figure {
    display: grid;
    gap: 14px;
}

.ess-case-abaco .ess-abaco-interior-wide {
    margin-bottom: 2vw;
}

.ess-case-abaco .ess-abaco-interior-wide img {
    width: 100%;
    height: min(55vw, 820px);
    min-height: 620px;
    object-fit: cover;
    object-position: center;
}

.ess-case-abaco .ess-abaco-interior-pair {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 2vw;
}

.ess-case-abaco .ess-abaco-interior-pair img {
    width: 100%;
    height: min(42vw, 650px);
    min-height: 520px;
    object-fit: cover;
}

.ess-case-abaco .ess-abaco-interior-pair figure:first-child img {
    object-position: center;
}

.ess-case-abaco .ess-abaco-interior-pair figure:last-child img {
    object-position: center;
}

.ess-case-abaco .ess-abaco-street img {
    object-position: center 55%;
}

.ess-case-abaco .ess-abaco-water-pair img,
.ess-case-abaco .ess-abaco-details img {
    object-position: center;
}

.ess-case-abaco .ess-abaco-film {
    background-image: none;
}

.ess-case-abaco .ess-abaco-film > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ess-case-abaco .ess-abaco-film > video {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.ess-case-abaco .ess-abaco-film .ess-case-film-caption {
    z-index: 2;
}

.ess-case-abaco .ess-abaco-evening img {
    object-position: center 54%;
}

@media (prefers-reduced-motion: reduce) {
    .ess-case-abaco .ess-abaco-hero > video,
    .ess-case-abaco .ess-abaco-entry-film > video {
        display: none;
    }
}

@media (max-width: 640px) {
    .ess-case-abaco .ess-abaco-hero > img {
        object-position: 63% center;
    }

    .ess-case-abaco .ess-abaco-hero > video {
        object-position: 63% center;
    }

    .ess-case-abaco .ess-case-hero h1 {
        font-size: 67px;
    }

    .ess-case-abaco .ess-abaco-media-caption {
        right: 14px;
        bottom: 14px;
        max-width: calc(100% - 28px);
    }

    .ess-case-abaco .ess-abaco-arrival-story .ess-case-story-media img {
        object-position: 52% center;
    }

    .ess-case-abaco .ess-abaco-arrival-story .ess-case-story-media {
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .ess-case-abaco .ess-abaco-arrival-story .ess-case-story-copy,
    .ess-case-abaco .ess-abaco-arrival-story.ess-case-story-reverse .ess-case-story-copy {
        padding: 76px 22px;
    }

    .ess-case-abaco .ess-abaco-interiors {
        padding: 82px 22px;
    }

    .ess-case-abaco .ess-abaco-interiors-heading {
        grid-template-columns: 1fr;
        gap: 35px;
        margin-bottom: 50px;
    }

    .ess-case-abaco .ess-abaco-interiors-heading h2 {
        font-size: 47px;
    }

    .ess-case-abaco .ess-abaco-interiors-lead {
        font-size: 21px;
    }

    .ess-case-abaco .ess-abaco-interior-wide {
        margin-bottom: 50px;
    }

    .ess-case-abaco .ess-abaco-interior-wide img {
        height: 105vw;
        min-height: 0;
    }

    .ess-case-abaco .ess-abaco-interior-pair {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .ess-case-abaco .ess-abaco-interior-pair img {
        height: 102vw;
        min-height: 0;
    }

    .ess-case-abaco .ess-abaco-evening img {
        object-position: 58% center;
    }
}
