@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .section { padding: 80px 0; }
  .section-alt { padding: 80px 0; }
}

@media (max-width: 768px) {
  body { font-size: 15px; }
  .container { padding: 0 20px; }
  .section, .section-alt { padding: 60px 0; }
  .section-title { font-size: clamp(1.4rem, 5vw, 1.8rem); }
  .section-desc { font-size: 14px; }
  .section-header { margin-bottom: 36px; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .btn-lg { padding: 14px 28px; font-size: 14px; width: 100%; }
  .card-body { padding: 20px; }
  .card-body h3 { font-size: 15px; }
}

@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .section, .section-alt { padding: 48px 0; }
  .section-title { font-size: 1.3rem; }
  .btn { padding: 12px 24px; font-size: 13px; }
}
