/* Scoped to the projects overview. */
body.projects-page { background: #fff; }
body.projects-page .projects-main { width: 100%; max-width: none; min-width: 0; padding: 0; margin: 0; }
.projects-page .projects-hero { position: relative; isolation: isolate; background: #202e3c; }
.projects-page .projects-hero > img { display: block; width: 100%; height: clamp(260px, 24vw, 440px); object-fit: cover; object-position: center 65%; }
.projects-page .projects-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.65), transparent 80%); pointer-events: none; }
.projects-page .projects-hero-title { position: absolute; inset: auto 0 0; width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding-bottom: clamp(28px, 4vw, 56px); z-index: 1; }
.projects-page .projects-hero h1 { margin: 0; color: #fff; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.1; letter-spacing: -.035em; }
.projects-page .projects-overview { width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: clamp(48px, 6vw, 88px) 0; }
.projects-page .projects-heading { margin-bottom: 32px; }
.projects-page .projects-heading > p { color: #0b5ed7; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; margin: 0 0 12px; }
.projects-page .projects-heading h2 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.15; letter-spacing: -.03em; color: #202e3c; margin: 0; }
.projects-page .projects-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.projects-page .project-card { position: relative; min-width: 0; border-bottom: 1px solid #ced7df; background: #fff; }
.projects-page .project-card-placeholder { display: grid; place-items: center; aspect-ratio: 4 / 3; background: #edf0f2; color: #5b6670; font-size: 15px; }
.projects-page .project-card > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.projects-page .project-card-copy { padding: 24px 0 28px; }
.projects-page .project-card-location { color: #5b6670; font-size: 14px; margin: 0 0 10px; }
.projects-page .project-card h3 { color: #202e3c; font-size: 25px; line-height: 1.2; margin: 0 0 14px; overflow-wrap: anywhere; }
.projects-page .project-card-copy > p:not(.project-card-location) { margin: 0 0 24px; line-height: 1.65; color: #465360; }
.projects-page .project-card-pending { font-size: 15px; color: #5b6670; }
.projects-page .project-card-link { color: #0b5ed7; font-weight: 700; text-decoration: none; }
.projects-page .project-card-link::after { content: ''; position: absolute; inset: 0; }
.projects-page .project-card:focus-within { outline: 3px solid #0b5ed7; outline-offset: 6px; }
@media (max-width: 1024px) { .projects-page .projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; } }
@media (max-width: 600px) {
  .projects-page .projects-hero > img { height: 260px; object-position: 58% center; }
  .projects-page .projects-hero-title, .projects-page .projects-overview { width: calc(100% - 40px); }
  .projects-page .projects-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
.projects-page .project-card > img.project-photo-contain { object-fit: contain; object-position: center; background: #edf0f2; }
