/* Generic section */
section.block { padding:128px 24px; }
@media(min-width:768px){ section.block{ padding:128px 64px; } }
.container { max-width:1100px; margin:0 auto; }
.container-sm { max-width:640px; margin:0 auto; }
.container-md { max-width:880px; margin:0 auto; }
.eyebrow { font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:24px; }
.heading {
  font-size:clamp(36px,6vw,72px); font-weight:700;
  letter-spacing:-0.02em; line-height:0.95; margin-bottom:24px;
}
.grid-2 { display:grid; gap:64px; align-items:start; }
@media(min-width:768px){ .grid-2{ grid-template-columns:1fr 1fr; } }
.body-text { color:rgba(255,255,255,0.6); font-size:15px; line-height:1.7; margin-bottom:24px; }

.card-grid {
  aspect-ratio:1/1; border:1px solid rgba(255,255,255,0.15);
  background:rgba(255,255,255,0.02); border-radius:16px;
  padding:32px; display:flex; align-items:center; justify-content:center;
}
.card-grid .inner { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; width:100%; }
.card-grid .inner div {
  aspect-ratio:1/1; background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1); border-radius:8px;
  transition:transform .3s, background .3s;
}
.card-grid .inner div:hover { transform:scale(1.15); background:rgba(255,255,255,0.2); }

@keyframes pulse { 0%,100%{ opacity:.3; } 50%{ opacity:.8; } }
