/* Final layout pass: consistent project rhythm and fewer competing elements. */
.project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.project-card--lime, .project-card--ink { grid-column: span 1; min-height: 500px; }
.project-card--paper { grid-column: span 2; min-height: 345px; }
.project-card--mini { grid-column: span 1; min-height: 390px; }
.project-card--news { grid-column: span 2; min-height: 330px; }
.project-card--news .mini-visual { height: 48%; top: 16%; width: 24%; }
.project-card--news .project-title { bottom: 42px; left: 8%; }
.project-card--news .project-title p { max-width: 370px; }
.project-card--news .project-title h3 { font-size: 49px; }
.project-card--paper .paper-visual { width: 39%; }
.project-card--paper .project-title { left: 8%; }
.section-head { margin-bottom: 44px; }
.projects { padding-bottom: 104px; padding-top: 112px; }
.about { padding-top: 92px; padding-bottom: 92px; }
.contact { padding-bottom: 88px; padding-top: 74px; }
.building-strip { margin-top: 30px; }
@media (max-width: 760px) {
  .project-grid { display: block; }
  .project-card--news .project-title { bottom: 24px; left: 24px; }
  .project-card--news .project-title h3 { font-size: 41px; }
  .project-card--news .mini-visual { width: 36%; }
}
