/* ============================================================
   MTS — responsive.css
   Mobile-first breakpoints: 640 / 768 / 1024 / 1280 / 1536
   ============================================================ */

/* ── Base Mobile (< 640px) ───────────────────────────────── */
/* All base styles assume mobile-first */

.utility-bar { display: none; }
.site-nav { display: none; }
.header-contact { display: none; }
.hamburger { display: flex; }

.slider-slide__content { max-width: 100%; }
.hero { padding-top: calc(var(--header-height) + 2rem); }

.services-grid { grid-template-columns: 1fr; }
.stats-grid { grid-template-columns: 1fr 1fr; }
.commitment-grid { grid-template-columns: 1fr; }
.vision-mission-grid { grid-template-columns: 1fr; }
.two-col { grid-template-columns: 1fr; }
.form-grid--2 { grid-template-columns: 1fr; }
.contact-cards-grid { grid-template-columns: 1fr 1fr; }
.process-timeline { grid-template-columns: 1fr 1fr; }
.process-timeline::before { display: none; }
.process-line-fill { display: none; }
.related-services { grid-template-columns: 1fr; }
.footer-grid { grid-template-columns: 1fr; gap: 2rem; }
.testimonial-card { flex: 0 0 100%; }
.zigzag-item { grid-template-columns: 1fr; }
.zigzag-item:nth-child(even) .zigzag-image { order: 1; }
.zigzag-item:nth-child(even) .zigzag-content { order: 2; }
.skeleton-grid { grid-template-columns: 1fr; }
.sso-btns { grid-template-columns: 1fr; }
.hero-float-card { display: none; }
.cursor-dot, .cursor-ring { display: none; }
.scroll-indicator { display: none; }
.quick-quote { margin-top: 0; }
.notify-form { flex-direction: column; }
.footer-bottom { flex-direction: column; text-align: center; }
.slider-dot { } /* keep visible */

/* Heading size corrections on small screens */
.stat-value { font-size: 2rem; }
.section-number { font-size: 4rem; }

/* ── 640px+ ──────────────────────────────────────────────── */
@media (min-width: 640px) {
  .utility-bar { display: flex; }
  .contact-cards-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .skeleton-grid { grid-template-columns: repeat(3, 1fr); }
  .quick-quote { margin-top: -40px; }
  .hero-float-card { display: block; }
  .notify-form { flex-direction: row; }
  .sso-btns { grid-template-columns: 1fr 1fr; }
}

/* ── 768px+ ──────────────────────────────────────────────── */
@media (min-width: 768px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .commitment-grid { grid-template-columns: repeat(3, 1fr); }
  .vision-mission-grid { grid-template-columns: 1fr 1fr; }
  .two-col { grid-template-columns: 1fr 1fr; }
  .form-grid--2 { grid-template-columns: 1fr 1fr; }
  .contact-cards-grid { grid-template-columns: repeat(2, 1fr); }
  .related-services { grid-template-columns: 1fr 1fr; }
  .testimonial-card { flex: 0 0 calc(50% - 0.75rem); }
  .hero-float-card { display: block; }
  .quick-quote { margin-top: -60px; }
  .scroll-indicator { display: flex; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

/* ── 1024px+ ─────────────────────────────────────────────── */
@media (min-width: 1024px) {
  .site-nav { display: flex; }
  .header-contact { display: flex; }
  .hamburger { display: none; }
  .mobile-menu { display: none !important; }

  .services-grid { grid-template-columns: repeat(3, 1fr); }
  .stats-grid { grid-template-columns: repeat(4, 1fr); }
  .commitment-grid { grid-template-columns: repeat(3, 1fr); }
  .contact-cards-grid { grid-template-columns: repeat(4, 1fr); }
  .process-timeline { grid-template-columns: repeat(6, 1fr); }
  .process-timeline::before { display: block; }
  .process-line-fill { display: block; }
  .testimonial-card { flex: 0 0 calc(33.33% - 1rem); }
  .zigzag-item { grid-template-columns: 1fr 1fr; }
  .zigzag-item:nth-child(even) .zigzag-image { order: 2; }
  .zigzag-item:nth-child(even) .zigzag-content { order: 1; }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; }
  .footer-bottom { flex-direction: row; text-align: left; }
  .quick-quote { margin-top: -80px; }
  .hero-float-card { display: block; }
  .cursor-dot, .cursor-ring { display: block; }
  .scroll-indicator { display: flex; }
}

/* ── 1280px+ ─────────────────────────────────────────────── */
@media (min-width: 1280px) {
  /* Hero layout with float card */
  .hero-slider .container,
  .slider-slide .container {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 3rem;
  }
  .hero-float-card { display: block; width: 320px; }
}

/* ── 1536px+ ─────────────────────────────────────────────── */
@media (min-width: 1536px) {
  .hero-float-card { width: 360px; }
}

/* ── Header responsive overrides ────────────────────────── */
@media (max-width: 1023px) {
  .site-header.scrolled .hamburger span { background: var(--text-primary); }
  .header-cta .btn-login { display: none; }

  /* mobile menu transition delays */
  .mobile-menu.active .mobile-nav-link:nth-child(1) { transition-delay: 50ms; }
  .mobile-menu.active .mobile-nav-link:nth-child(2) { transition-delay: 120ms; }
  .mobile-menu.active .mobile-nav-link:nth-child(3) { transition-delay: 190ms; }
  .mobile-menu.active .mobile-nav-link:nth-child(4) { transition-delay: 260ms; }
  .mobile-menu.active .mobile-nav-link:nth-child(5) { transition-delay: 330ms; }
  .mobile-menu.active .mobile-nav-link:nth-child(6) { transition-delay: 400ms; }
}

/* ── Hero-slider responsive ──────────────────────────────── */
@media (max-width: 1279px) {
  .slider-slide__content { max-width: 620px; }
  .hero-float-card { position: absolute; right: -20px; top: 50%; transform: translateY(-50%); opacity: 0.3; pointer-events: none; width: 260px; }
}

@media (max-width: 767px) {
  .hero-float-card { display: none !important; }
  .slider-controls { bottom: 1.5rem; }
  .hero--short { min-height: 50vh; }

  .statement-line { font-size: clamp(1.5rem, 6vw, 2.5rem); }

  .mega-menu { display: none; }

  .trust-badges { gap: 1rem; }
  .partner-logo { font-size: 0.875rem; }

  .stat-item { padding: 1.5rem 1rem; }

  .process-timeline { grid-template-columns: 1fr; gap: 1.5rem; }
  .process-step { flex-direction: row; text-align: left; gap: 1.25rem; }
  .process-num { flex-shrink: 0; margin-bottom: 0; }

  .contact-info-card { padding: 1.25rem; }

  .login-card { padding: 2rem 1.5rem; }
}

@media (max-width: 479px) {
  .btn-group { flex-direction: column; align-items: stretch; }
  .btn-group .btn { justify-content: center; }
  .stats-grid { grid-template-columns: 1fr; }
  .contact-cards-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }

  .quick-quote__card { border-radius: var(--radius-lg); padding: 1.5rem; }
  .cta-banner { padding: 3rem 0; }
}

/* ── Print ───────────────────────────────────────────────── */
@media print {
  .site-header, .site-footer, .back-to-top, #scroll-progress,
  .cursor-dot, .cursor-ring, .hamburger, .mobile-menu { display: none !important; }
  body { color: #000; background: #fff; }
  a { color: #000; text-decoration: underline; }
}
