/* Projects page, following the supplied prototype within the shared site shell. */
.page-header:has(+ .page-body .nc-projects) h1 { font-size: clamp(2.5rem, 5.7vw, 4.25rem); font-weight: 500; line-height: 1.05; }
.page-body:has(.nc-projects) { padding: 0; }
.prose:has(.nc-projects) { max-width: 100%; }
.nc-projects { max-width: 1200px; margin: 0 auto; padding: 3.5rem 0 6rem; }
.nc-projects-intro { max-width: 760px; margin: 0 0 2.5rem !important; font-size: 1.2rem !important; line-height: 1.7 !important; }
.nc-project-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 3rem 3.5rem; margin-bottom: 2.5rem; }
.nc-project-card { display: flex; min-width: 0; flex-direction: column; gap: .625rem; padding-top: 1.25rem; border-top: 1px solid var(--rule); }
.nc-project-card .nc-project-category { margin: 0 !important; color: var(--blue) !important; font-size: .8125rem !important; letter-spacing: .14em; text-transform: uppercase; }
.nc-project-card h3 { margin: 0 !important; font-family: var(--serif); font-size: 1.75rem !important; font-weight: 500; line-height: 1.2; }
.nc-project-card p:last-child { margin: 0 !important; font-size: 1.0625rem; line-height: 1.6; }

@media (max-width: 640px) {
  .nc-projects { padding: 2.5rem 0 4rem; }
  .nc-project-grid { grid-template-columns: 1fr; gap: 2rem; }
}
