.section{ position:relative; z-index:1; max-width:var(--container); margin:0 auto; padding:120px 24px; }
.section h2{ font-size:clamp(28px,4vw,44px); max-width:720px; margin-bottom:20px; font-weight:600; line-height:1.15; }
.lead{ color:var(--ink-dim); max-width:620px; font-size:17px; margin-bottom:56px; }

.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.stack-groups{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.project-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.contact-section{ text-align:center; padding-bottom:100px; }
.contact-section .eyebrow{ display:block; }
.contact-section h2{ margin-left:auto; margin-right:auto; }
.contact-section p{ color:var(--ink-dim); max-width:520px; margin:0 auto 40px; }
.contact-section .hero-cta{ justify-content:center; }

@media (max-width:900px){
  .grid-3, .project-grid, .stack-groups{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:720px){
  .grid-3, .project-grid, .stack-groups{ grid-template-columns:1fr; }
}
