/* =====================================================================
   Riverside Holdings — responsive.css
   Breakpoints: 1440 / 1280 / 1024 / 768 / 480 / 390 / 360
   Goal: zero horizontal scroll at every width.
   ===================================================================== */

html, body { overflow-x: hidden; }

/* Large desktop cap */
@media (max-width: 1440px) {
  :root { --rs-container: 1180px; }
}

@media (max-width: 1280px) {
  :root { --rs-container: 1080px; }
}

/* Tablet landscape */
@media (max-width: 1024px) {
  :root { --rs-sp-9: 72px; }
  .rs-container { padding-inline: var(--rs-sp-5); }
  .rs-card-grid { gap: var(--rs-sp-4); }
}

/* Tablet portrait — collapse nav to mobile pattern */
@media (max-width: 768px) {
  :root { --rs-sp-9: 56px; --rs-sp-8: 48px; }
  .rs-desktop-nav { display: none !important; }
  .rs-mobile-toggle { display: inline-flex !important; }
  .rs-card__body { padding: var(--rs-sp-4); }
}

/* Large phone */
@media (max-width: 480px) {
  :root { --rs-sp-9: 48px; }
  .rs-container { padding-inline: var(--rs-sp-4); }
  .rs-btn { width: 100%; justify-content: center; }
  .rs-card--stat .rs-stat__num { font-size: 2.25rem; }
}

/* Standard phone */
@media (max-width: 390px) {
  .rs-eyebrow { font-size: 0.72rem; }
}

/* Small phone */
@media (max-width: 360px) {
  .rs-container { padding-inline: var(--rs-sp-3); }
}

/* Landscape mobile */
@media (max-height: 480px) and (orientation: landscape) {
  .rs-mobile-nav { overflow-y: auto; }
}
