/* Prime Transition Service — Responsive Overrides
   Strategy: CSS classes + !important overrides for media queries.
   Inline styles in JSX handle visual properties; these classes handle layout.
   Breakpoints: tablet ≤ 960px, mobile ≤ 768px, small ≤ 400px */

/* ── Header: hamburger button (hidden on desktop) ── */
.header-hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  align-items: center;
  justify-content: center;
  color: #16324F;
  margin-left: auto;
  flex-shrink: 0;
}

/* ── Mobile nav overlay ── */
.mobile-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(247, 242, 234, 0.97);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.mobile-nav-overlay.open { display: flex; }

.mobile-nav-link {
  font-family: 'Cormorant Garant', Georgia, serif;
  font-size: 2.25rem;
  font-weight: 400;
  color: #16324F;
  text-decoration: none;
  padding: 16px 28px;
  letter-spacing: -0.01em;
  width: 100%;
  text-align: center;
  border-bottom: 1px solid #E4DDCF;
}
.mobile-nav-link:first-of-type { border-top: 1px solid #E4DDCF; }

.mobile-nav-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 30px;
  color: #4A565C;
  line-height: 1;
  padding: 4px 10px;
}

.mobile-nav-cta {
  margin-top: 28px;
  padding: 0 28px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

/* ── Tablet (≤ 960px) ── */
@media (max-width: 960px) {
  /* WhyUs: stack left/right + flatten 3-col reasons */
  .why-top-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .why-reasons-grid {
    grid-template-columns: 1fr !important;
  }
  .why-reason-card {
    border-right: none !important;
    border-bottom: 1px solid rgba(247, 242, 234, 0.10) !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .why-reason-card:last-child {
    border-bottom: none !important;
  }

  /* Footer: 2-column */
  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
  .footer-brand-col {
    grid-column: 1 / -1 !important;
  }

  /* Process: 2×2 steps */
  .process-steps-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  .process-curve-svg { display: none !important; }
}

/* ── Mobile (≤ 768px) ── */
@media (max-width: 768px) {
  /* Header */
  .header-inner {
    padding: 14px 20px !important;
    gap: 0 !important;
  }
  .header-site-nav  { display: none !important; }
  .header-actions   { display: none !important; }
  .header-hamburger { display: flex !important; }

  /* Hero */
  .hero-section { padding: 28px 20px 56px !important; }

  .hero-pills-bar {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    margin-bottom: 28px !important;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .hero-pills-bar::-webkit-scrollbar { display: none; }

  .hero-pills-label   { display: none !important; }
  .hero-pills-divider { display: none !important; }

  .hero-inner-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .hero-h1 {
    font-size: clamp(2.2rem, 10vw, 3.2rem) !important;
    line-height: 1.1 !important;
  }

  .hero-card-col { display: none !important; }

  .hero-cta-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .hero-stats-row {
    gap: 20px !important;
    flex-wrap: wrap !important;
  }

  /* Services */
  .services-section { padding: 64px 20px 56px !important; }

  .services-header-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-bottom: 36px !important;
  }
  .services-h2 { font-size: 36px !important; }

  .services-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  /* Remove the 5th card's full-width span on mobile */
  .services-cards-grid > div { grid-column: unset !important; }

  /* WhyUs */
  .why-section { padding: 64px 20px !important; }
  .why-top-grid { margin-bottom: 0 !important; }
  .why-h2 { font-size: 36px !important; }

  /* Process */
  .process-section { padding: 64px 20px !important; }

  .process-header-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-bottom: 40px !important;
  }
  .process-h2 { font-size: 36px !important; }

  .process-steps-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .process-cta-box  { padding: 32px 24px !important; margin-top: 56px !important; }
  .process-cta-inner-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .process-cta-h2 { font-size: 32px !important; }

  /* Footer */
  .footer-section { padding: 56px 20px 28px !important; }
  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
  }
  .footer-brand-col  { grid-column: 1 / -1 !important; }
  .footer-bottom-bar {
    flex-direction: column !important;
    text-align: center !important;
    gap: 6px !important;
  }

  /* Consultation form */
  .form-modal-inner { padding: 24px 20px 20px !important; }
  .form-2col { grid-template-columns: 1fr !important; }

  /* L1A form 2-col row */
  .l1a-2col {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* ── Very small (≤ 400px) ── */
@media (max-width: 400px) {
  .process-steps-grid {
    grid-template-columns: 1fr !important;
  }
}
