/* Kigali Sunlife — responsive overrides.
   Inline styles carry the desktop layout; these media queries collapse
   grids and shrink type at tablet/phone using !important to win over inline. */

/* Tablet / small laptop */
@media (max-width: 1024px) {
  .r-cap { padding-left: 20px !important; padding-right: 20px !important; }
  .r-hero { grid-template-columns: 1fr !important; gap: 40px !important; }
  .r-2col { grid-template-columns: 1fr !important; gap: 40px !important; }
  .r-sticky { position: static !important; top: auto !important; }
  .r-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .r-h1 { font-size: 42px !important; }
  .r-h2 { font-size: 30px !important; }
}

/* Landscape phone / small tablet */
@media (max-width: 760px) {
  .r-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
  .r-sec { padding-top: 56px !important; padding-bottom: 56px !important; }
  .r-h1 { font-size: 36px !important; }
  .r-h2 { font-size: 27px !important; }
  .r-row-stack { flex-direction: column !important; align-items: stretch !important; }
  .r-hero-img { height: 260px !important; }
}

/* Phone */
@media (max-width: 560px) {
  .r-cap { padding-left: 16px !important; padding-right: 16px !important; }
  .r-grid-4, .r-grid-3, .r-grid-2 { grid-template-columns: 1fr !important; }
  .r-sec { padding-top: 48px !important; padding-bottom: 48px !important; }
  .r-h1 { font-size: 30px !important; line-height: 1.12 !important; }
  .r-h2 { font-size: 24px !important; }
  .r-hero-img { height: 220px !important; }
  .r-btn { width: 100% !important; text-align: center !important; }
  .r-full-sm { width: 100% !important; }
}
