/* Shared responsive layout fixes */
.container {
  padding-inline: 16px;
}

@media (min-width: 992px) {
  .container { padding-inline: 20px; }
}

@media (min-width: 768px) and (max-width: 991px) {
  .container > .d-flex.flex-column.flex-lg-row,
  .container > .d-flex.flex-column.flex-lg-row-reverse {
    flex-direction: row;
  }

  .container > .d-flex.flex-column.flex-lg-row-reverse {
    flex-direction: row-reverse;
  }

  .container > .d-flex.flex-column.flex-lg-row > .flex-1,
  .container > .d-flex.flex-column.flex-lg-row-reverse > .flex-1 {
    min-width: 0;
  }
}

@media (max-width: 767px) {
  .container { padding-inline: 16px; }
  .nav-head .container { padding-inline: 12px; }
  .nav-head .primary-btn { display: none; }

  .site-menu {
    right: -4px;
    width: min(240px, calc(100vw - 24px));
    min-width: 0;
  }

  .hero-container { padding-inline: 16px; }
  .hero-description br,
  .services-cta br { display: none; }

  .services-cta .container > .d-flex {
    align-items: stretch;
    flex-direction: column;
    gap: 24px;
  }

  .services-cta .card-number { width: 100%; }
  .site-footer-links { gap: 24px 16px; }
}

@media (max-width: 575px) {
  .container { padding-inline: 12px; }
  .hero-container { padding-inline: 12px; }
  .hero-actions { width: 100%; }
  .hero-button { width: 100%; }
  .site-footer-links { grid-template-columns: 1fr; }
}
