/* Scoped structural additions inherit the approved template visual language. */
.whm-project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.whm-system-hero { height: auto; min-height: 70vh; padding-top: 144px; padding-bottom: 64px; }
.whm-system-hero .arch-hero-background { inset: 0; width: 100%; height: 100%; }
.whm-project-hero-image { background-size: cover; background-position: center; }
.whm-project-disciplines { color: var(--accent-color); }
.whm-development-note { border-left: 1px solid var(--accent-color); padding-left: 1rem; }
.whm-project-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 3rem; }
.whm-project-facts div { min-width: 0; }
.whm-project-facts dd { margin-bottom: 0; }
.whm-project-gallery img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.whm-project-feature img { display: block; width: 100%; height: auto; }
.whm-project-card-type { margin-top: .5rem; }
.whm-project-grid .portfolio-card:focus-within .portfolio-overlay { opacity: 1; }
.whm-project-grid .portfolio-card:focus-within .portfolio-content { transform: translateY(0); }
@media (max-width: 991px) { .whm-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .whm-project-grid, .whm-project-facts { grid-template-columns: minmax(0, 1fr); } }
