.estates-project {
    --estates-muted: #555;
    --estates-line: #ddd;
}

html.dark-mode .estates-project {
    --estates-muted: #c4c4c4;
    --estates-line: #3a3a3a;
}

.estates-project .page-header { padding-bottom: 0; }
.estates-project .page-header h1 { font-size: clamp(2rem, 4vw, 3rem); }
.estates-project .page-header .eyebrow { font-size: .875rem; margin-bottom: 12px; }
.estates-project .estates-overview { padding-top: 36px; padding-bottom: 0; }
.estates-project h2 { line-height: 1.25; }
.estates-project h3 { font-size: 1.2rem; line-height: 1.4; margin-bottom: 12px; }
.estates-intro { align-items: center; gap: 48px; }
.estates-intro h2 { margin-bottom: 18px; }
.estates-intro .prose p,
.estates-screen-grid p,
.estates-detail-grid p,
.estates-mobile-copy p { color: var(--estates-muted); }

.estates-screen { margin: 0; min-width: 0; }
.estates-screen a { display: block; border-radius: 16px; }
.estates-screen a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.estates-screen img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: contain;
    border: 1px solid var(--estates-line);
    border-radius: 16px;
}
.estates-screen figcaption,
.estates-project .estates-sample-note {
    color: var(--estates-muted);
    font-size: .875rem;
    line-height: 1.6;
    margin-top: 12px;
}
.estates-project .estates-sample-note { margin-top: 6px; }
.estates-screen-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 32px;
}
.estates-screen-grid article { min-width: 0; }
.estates-screen-grid h3 { margin-top: 24px; }
.estates-screen-grid p + p,
.estates-mobile-copy p + p { margin-top: 14px; }
.estates-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}
.estates-mobile-copy { gap: 40px; }
.estates-phone-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 280px));
    justify-content: center;
    gap: 32px;
    margin-top: 36px;
}
.estates-phone-screen img { aspect-ratio: 430 / 932; }
.estates-phone-screen figcaption { text-align: center; }

@media (max-width: 800px) {
    .estates-project .section { padding-top: 44px; padding-bottom: 44px; }
    .estates-project .estates-overview { padding-top: 28px; padding-bottom: 0; }
    .estates-project .section-alt .section-inner { padding: 0; }
    .estates-intro,
    .estates-mobile-copy { grid-template-columns: 1fr; gap: 28px; }
    .estates-detail-grid { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 600px) {
    .estates-screen-grid { grid-template-columns: 1fr; gap: 36px; }
    .estates-screen-grid h3 { margin-top: 18px; }
    .estates-phone-grid { gap: 16px; }
    .estates-screen img,
    .estates-screen a { border-radius: 10px; }
}
