/* =====================================================
   Madison Bond LLC — Responsive Breakpoints
   Mobile-first overrides for the public site.
   ===================================================== */

/* ---------- Mobile < 576px ---------- */
@media (max-width: 575.98px) {
  .mb-top-bar { font-size: 0.7rem; }
  .mb-top-bar span { display: block; width: 100%; text-align: center; }
  .mb-accent-strip { height: 3px; }

  .mb-hero { min-height: auto; }
  .mb-hero-text { padding: 3rem 1.5rem; min-height: 400px; }
  .mb-hero-content { padding: 1.5rem; max-width: 90%; border-radius: 8px; }
  .mb-hero-content h1 { font-size: 1.7rem; }
  .mb-hero-content p { font-size: 0.95rem; }
  .mb-hero-visual-watermark img { max-height: 50%; }

  .mb-hero-simple { min-height: 280px; padding: 60px 0; }

  .mb-section { padding: 2.5rem 0; }
  .mb-section-title h2 { font-size: 1.5rem; }
  .mb-section-title p { font-size: 0.95rem; padding: 0 1rem; }

  .mb-cta-band h2 { font-size: 1.4rem; }
  .mb-cta-band { padding: 2.5rem 1rem; }

  .mb-contact-card { padding: 1.5rem; }

  .mb-footer { padding: 2rem 0 1rem; text-align: center; }
  .mb-footer .col-lg-3 { margin-bottom: 1.5rem; }

  .mb-keyfact-card .fact-num { font-size: 2rem; }

  .mb-card-glass { padding: 1.5rem 1rem; }
  .mb-card-glass i { font-size: 2rem; }
  .mb-card-glass h4 { font-size: 1rem; }

  .mb-quote-band { padding: 2.5rem 1rem; }
  .mb-quote-band blockquote { font-size: 1.2rem; }

  .btn-teal, .btn-gold, .btn-outline-gold {
    display: block;
    width: 100%;
    text-align: center;
  }
}

/* ---------- Tablet 576–991px ---------- */
@media (min-width: 576px) and (max-width: 991.98px) {
  .mb-hero-text { padding: 3rem 2rem; }
  .mb-hero-content { padding: 2rem; max-width: 85%; }
  .mb-hero-content h1 { font-size: 2.2rem; }

  .mb-hero-simple { min-height: 300px; padding: 70px 0; }

  .mb-section { padding: 3.5rem 0; }
  .mb-section-title h2 { font-size: 1.8rem; }

  .mb-footer .col-lg-3 { margin-bottom: 1.5rem; }

  .mb-quote-band blockquote { font-size: 1.5rem; }
}

/* ---------- Desktop ≥ 992px ---------- */
@media (min-width: 992px) {
  .mb-hero-content { max-width: 80%; }
  .mb-quote-band blockquote { font-size: 1.8rem; }
}

/* ---------- Extra-wide ≥ 1400px ---------- */
@media (min-width: 1400px) {
  .container { max-width: 1200px; }
  .mb-hero-content { padding: 4rem; max-width: 80%; }
}

/* ---------- Reduced motion preference ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- High-contrast mode support ---------- */
@media (prefers-contrast: more) {
  .mb-hero-content { border-width: 2px; }
  .mb-approach-card, .mb-news-card, .mb-contact-card, .mb-keyfact-card, .mb-card-glass {
    border: 2px solid var(--mb-forest-dark);
  }
}
