/* ==========================================================================
   LEAP.SOLUTIONS — RESPONSIVE RULES
   File: responsive.css
   Breakpoint overrides layered on top of style.css / utilities.css.
   Bootstrap breakpoints: xs<576, sm>=576, md>=768, lg>=992, xl>=1200, xxl>=1400
   ========================================================================== */

/* ---- Base / mobile-first section spacing tightening ------------------- */
/* Bootstrap's g-5 gutter (3rem) is wider than the mobile container padding,
   so rows overhang the viewport by a few px. Match gutter to padding. */
@media (max-width: 767.98px) {
  .row.g-5 { --bs-gutter-x: 2rem; --bs-gutter-y: 2.5rem; }
}

@media (max-width: 575.98px) {
  .container-custom { padding-inline: 1rem; }
  .hero-content { padding-block: 3rem 3.5rem; }
  .display-heading { line-height: 1.1; }
  .proof-strip li { padding-inline: 0.85rem; font-size: var(--fs-xs); border-right: none; }
  .cta-banner { border-radius: var(--radius-lg); padding: 2rem 1.5rem; }
  .site-footer { padding-top: var(--section-py-sm); }
  .footer-bottom { flex-direction: column; text-align: center; justify-content: center; }
}

/* ---- Small devices (>=576px) ------------------------------------------ */
@media (min-width: 576px) and (max-width: 767.98px) {
  .industry-card { padding: 2.25rem 1.5rem; }
}

/* ---- Navbar behavior across breakpoints -------------------------------- */
@media (max-width: 991.98px) {
  .site-header { background: rgba(8, 31, 24, 0.96); backdrop-filter: blur(8px); padding-block: 0.85rem; }
  .site-header .nav-link { color: #fff; }
  .site-header .logo-dark { display: none; }
  .site-header .logo-light { display: inline-block; }
  .site-header.is-scrolled { padding-block: 0.65rem; }
  .hero-banner { padding-top: 5.5rem; min-height: auto; }
  .hero-content { padding-block: 3rem 3.5rem; }
}

@media (min-width: 992px) {
  .site-header .navbar-nav { align-items: center; }
}

/* ---- Tablet (>=768px) -------------------------------------------------- */
@media (min-width: 768px) {
  .section-title h2 { margin-top: 0.9rem; }
}

/* ---- Desktop (>=992px) -------------------------------------------------- */
@media (min-width: 992px) {
  .hero-content { padding-block: 6rem 6.5rem; }
}

/* ---- Large desktop (>=1200px) ------------------------------------------ */
@media (min-width: 1200px) {
  .container-custom { padding-inline: 2.5rem; }
}

/* ---- Extra-large desktop (>=1400px) ------------------------------------ */
@media (min-width: 1400px) {
  .container-custom { padding-inline: 0; }
}

/* ---- Fine pointer / hover-capable devices only -------------------------- */
@media (hover: none) {
  .card-elevated:hover,
  .feature-card:hover,
  .service-card:hover,
  .industry-card:hover,
  .expert-card:hover,
  .article-card:hover {
    transform: none;
  }
}

/* ---- Print ---------------------------------------------------------------- */
@media print {
  .site-header, .site-footer, .scroll-top-btn, .loading-screen, .hero-scroll-cue {
    display: none !important;
  }
  body { color: #000; }
}
