/* Keep the editorial identity while making decisions and controls easier to reach. */
.ess-custom-residences { background: #eee9e0; scroll-margin-top: 108px; }
.ess-custom-residences-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.ess-custom-residences-grid a { min-width: 0; }
.ess-custom-residences-grid img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.ess-custom-residences-grid .ess-label { margin-top: 22px; }
.ess-custom-residences-grid h3 { margin: 10px 0 16px; font: 400 clamp(28px, 2.8vw, 40px)/1.12 Georgia, serif; }
.ess-custom-residences-grid span { font-size: 12px; border-bottom: 1px solid currentColor; padding-bottom: 6px; }
.ess-custom-brief { max-width: 850px; margin-top: 56px; padding-top: 30px; border-top: 1px solid var(--ess-line); }
.ess-custom-brief h3 { font: 400 28px/1.2 Georgia, serif; }
.ess-custom-brief p { line-height: 1.8; }
.ess-header a:focus-visible, .ess-mobile-menu summary:focus-visible,
.ess-custom-residences a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.ess-journal-page .ess-journal-hero { min-height: 0; padding-top: 64px; padding-bottom: 64px; }
.ess-journal-page .ess-journal-hero h1 { font-size: clamp(48px, 5.8vw, 84px); line-height: 1.02; }
.ess-journal-page .ess-journal-spotlight { padding-top: 42px; }

/* Shared rows keep complete covers, excerpts and reading links aligned. */
.ess-journal-shelf {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(310px, 29vw, 430px);
    grid-template-rows: auto 1fr auto;
    row-gap: 0;
}
.ess-journal-issue {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
    row-gap: 0;
}
.ess-journal-issue-cover {
    grid-template-rows: auto clamp(340px, 31vw, 430px) auto 1fr;
}
.ess-journal-issue-image img { min-height: 0; }
.ess-journal-issue > .ess-text-link { align-self: end; justify-self: start; }

@media (max-width: 980px) {
    .ess-journal-shelf { grid-auto-columns: min(54vw, 420px); }
}

@media (max-width: 640px) {
    .ess-journal-shelf { grid-auto-columns: min(82vw, 360px); }
    .ess-header, .ess-header.is-scrolled {
        grid-template-columns: minmax(0, 1fr) auto;
        height: auto;
        min-height: 102px;
        padding: 10px 16px;
        gap: 4px 12px;
    }
    .ess-brand { grid-column: 1; grid-row: 1; }
    .ess-mobile-menu { grid-column: 2; grid-row: 1; }
    .ess-mobile-menu summary { font-size: 11px; min-height: 44px; padding: 12px 0 12px 12px; }
    .ess-header-actions { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; justify-content: space-between; gap: 12px; }
    .ess-language-switch { gap: 6px; font-size: 11px; }
    .ess-language-switch a { opacity: .75; }
    .ess-language-switch a, .ess-language-switch a[aria-current=page] {
        display: inline-flex; align-items: center; justify-content: center;
        min-width: 40px; min-height: 44px; padding: 0; border-bottom: 0;
    }
    .ess-language-switch a[aria-current=page] { text-decoration: underline; text-underline-offset: 6px; }
    .ess-header-cta { display: inline-flex; align-items: center; min-height: 44px; padding: 0; font-size: 10px; }
    .ess-hero { height: auto; min-height: 580px; }
    .ess-hero-copy { padding: 72px 22px; }
    .ess-hero h1 { font-size: clamp(38px, 10.5vw, 48px); line-height: 1.04; }
    .ess-residential-hero-copy { padding: 40px 22px 44px; }
    .ess-residential-signature { margin-bottom: 28px; }
    .ess-residential-hero-copy h1 { font-size: 44px; line-height: 1.06; letter-spacing: -.02em; margin: 24px 0; }
    .ess-custom-residences-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .ess-custom-residences-grid h3 { font-size: 32px; }
    .ess-custom-brief { margin-top: 42px; }
    .ess-journal-page .ess-journal-hero { padding: 48px 22px; }
    .ess-journal-page .ess-journal-hero h1 { font-size: 45px; }
    .ess-journal-page .ess-journal-spotlight { padding-top: 32px; }
}

@media (prefers-reduced-motion: reduce) {
    .ess-header, .ess-header.is-scrolled { transition: none; }
}
