.project-hero {
    position: relative;
    background: #1a1a1a;
    min-height: 70vh;
}
.project-hero .project-gallery {
    display: block;
    line-height: 0;
}
.project-hero img {
    width: 100%;
    height: 78vh;
    min-height: 420px;
    object-fit: cover;
    display: block;
}
.project-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(26, 26, 26, 0.88) 0%,
        rgba(26, 26, 26, 0.28) 42%,
        rgba(26, 26, 26, 0.35) 100%
    );
    pointer-events: none;
}
.project-hero-copy {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 1.25rem 2.5rem;
}
@media (min-width: 1024px) {
    .project-hero-copy { padding: 0 2rem 3.5rem; }
}
.project-hero-copy .crumb {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.8125rem;
    margin-bottom: 0.75rem;
}
.project-hero-copy .crumb a { color: #d4a94e; }
.project-hero-copy .crumb a:hover { color: #c9973b; }
.project-facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem 2rem;
    padding: 1.5rem 0 2rem;
    border-bottom: 1px solid #e8e4df;
    margin-bottom: 2rem;
}
@media (min-width: 640px) {
    .project-facts { grid-template-columns: repeat(3, 1fr); }
}
.project-facts dt {
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #c9973b;
    margin-bottom: 0.35rem;
}
.project-facts dd {
    color: #1a1a1a;
    font-size: 1rem;
}
.project-room {
    margin-top: 3rem;
}
.project-room h2 {
    font-family: "DM Serif Display", serif;
    font-size: 1.5rem;
    color: #1a1a1a;
    margin-bottom: 1rem;
}
.project-room .project-gallery {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}
@media (min-width: 640px) {
    .project-room .project-gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .project-room .project-gallery { grid-template-columns: repeat(3, 1fr); }
}
.project-room .project-gallery img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 0.5rem;
}
.project-room .span-2 {
    grid-column: span 1;
}
@media (min-width: 1024px) {
    .project-room .span-2 { grid-column: span 2; }
    .project-room .span-2 { aspect-ratio: 16 / 9; }
}
