/* ==========================================================================
   VEXON AUTOMATION - Responsive Stylesheet (Mobile First breakpoints)
   Bootstrap 4 breakpoints: 576 / 768 / 992 / 1200
   ========================================================================== */

/* ----------------------- Large desktops (<= 1199px) ---------------------- */
@media (max-width: 1199.98px) {
  h1 { font-size: 2.9rem; }
  h2 { font-size: 2.1rem; }
  .section { padding: 88px 0; }
  .navbar-nav .nav-link { padding: 10px 12px; font-size: .84rem; }
}

/* --------------------------- Tablets (<= 991px) -------------------------- */
@media (max-width: 991.98px) {
  h1 { font-size: 2.4rem; }
  h2 { font-size: 1.85rem; }
  .section { padding: 72px 0; }

  .site-header { background: rgba(11, 26, 43, .97); position: fixed; }
  .navbar { padding: 12px 0; }
  .navbar-collapse {
    background: var(--navy-2);
    margin-top: 14px;
    padding: 14px 6px;
    border-radius: 3px;
    max-height: 76vh;
    overflow-y: auto;
  }
  .navbar-nav .nav-link { padding: 11px 14px; }
  .navbar-nav .nav-link::after { display: none; }
  .navbar-nav .nav-item.active .nav-link { color: var(--amber); }
  .navbar .btn { margin: 12px 14px 6px; display: inline-block; }

  .hero { min-height: auto; padding: 150px 0 80px; }
  .hero-overlay { background: linear-gradient(180deg, rgba(11, 26, 43, .93), rgba(11, 26, 43, .86)); }
  .hero-strip { margin-top: 46px; }
  .hero-strip .item { margin-bottom: 12px; }

  .page-banner { padding: 150px 0 70px; }
  .cta-band { background-attachment: scroll; }
  .img-frame { margin-bottom: 30px; }
  .stat-badge { position: static; max-width: 100%; margin-top: 0; }
  .site-footer { padding-top: 60px; }
  .site-footer .footer-col { margin-bottom: 38px; }
  .footer-bottom { margin-top: 20px; text-align: center; }
  .footer-bottom .text-md-right { text-align: center !important; }
}

/* --------------------------- Phones (<= 767px) --------------------------- */
@media (max-width: 767.98px) {
  body { font-size: 15px; }
  h1 { font-size: 2rem; }
  h2 { font-size: 1.6rem; }
  h3 { font-size: 1.2rem; }
  .section { padding: 60px 0; }
  .section-head { margin-bottom: 38px; }

  .topbar { text-align: center; font-size: .78rem; }
  .topbar .sep { display: none; }
  .topbar .tb-item { display: block; margin: 2px 0; }

  .hero { padding: 130px 0 64px; }
  .hero-sub { font-size: 1rem; }
  .hero .btn { display: block; width: 100%; margin-bottom: 12px; }
  .hero .btn + .btn { margin-left: 0 !important; }

  .page-banner { padding: 130px 0 56px; }

  .testi-card { padding: 32px 22px; }
  .testi-card p { font-size: 1rem; }

  .counter-box { padding: 14px 6px; }
  .counter-box .num { font-size: 2.3rem; }

  .card-vexon, .product-card, .process-step, .info-card { padding: 26px 22px; }
  .cta-band { padding: 64px 0; text-align: center; }
  .cta-band .btn { width: 100%; margin-bottom: 10px; }

  .map-placeholder { height: 300px; }
  #backToTop { right: 16px; bottom: 16px; }
}

/* ------------------------ Small phones (<= 575px) ------------------------ */
@media (max-width: 575.98px) {
  h1 { font-size: 1.75rem; }
  .brand-name { font-size: 1.1rem; letter-spacing: .12em; }
  .brand-mark { width: 40px; height: 40px; font-size: 1.15rem; }
  .eyebrow { font-size: .72rem; padding-left: 32px; }
  .eyebrow::before { width: 22px; }
  .btn { padding: 12px 22px; }
  .social-list li { margin-right: 8px; }
}
