/* layout.css — shell, grid, sections. Responsive. */
.site{ display:grid; grid-template-rows:auto 1fr auto; min-height:100vh }
main{ padding-block:2.5rem 4rem }
.section{ margin-block:3.5rem }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.4rem; flex-wrap:wrap }
.section-head h2{ margin:0 }
.kicker{ font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:.5rem }
.grid{ display:grid; gap:1.4rem }
.grid-3{ grid-template-columns:repeat(3,1fr) }
.grid-2{ grid-template-columns:repeat(2,1fr) }
.grid-auto{ grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) }
@media (max-width:900px){ .grid-3{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .grid-3,.grid-2{grid-template-columns:1fr} }
.stack{ display:flex; flex-direction:column; gap:1rem }
.row{ display:flex; gap:.7rem; align-items:center; flex-wrap:wrap }
