/* ==========================================================================
   responsive.css — all breakpoints (loaded last)
   ========================================================================== */

/* ---- ≤1199px ---- */
@media (max-width: 1199.98px) {
  .nav-menu > li > a { padding: 11px 12px; font-size: .9rem; }
  .header-cta span { display: none; }
  .header-cta { --pad-x: 16px; }
  .industry-chips { grid-template-columns: repeat(2, 1fr); }
  .values-grid { grid-template-columns: repeat(3, 1fr); }
  .process-short { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
  .process-short::before { display: none; }
}

/* ---- ≤991px : tablet — nav becomes off-canvas ---- */
@media (max-width: 991.98px) {
  :root { --header-h: 76px; }
  .primary-nav { display: none; }
  .menu-toggle { display: block; }
  .header-actions { margin-left: auto; }
  .header-cta span { display: inline; }
  .header-bar { padding: 8px 8px 8px 18px; }

  .hero { min-height: 0; padding-top: calc(var(--header-h) + 56px); }
  .hero-visual { max-width: 560px; margin: 20px auto 0; }
  .intro-tile:nth-child(even) { translate: none; }

  .service-row, .service-row.is-reverse { grid-template-columns: 1fr; gap: 28px; }
  .service-row.is-reverse .sr-media { order: 0; }
  .sr-media { max-width: 320px; aspect-ratio: 16 / 10; max-height: 220px; width: 100%; }
  .side-sticky { position: static; }

  .timeline::before { left: 27px; }
  .tl-item, .tl-item:nth-child(even) { width: 100%; margin-left: 0; padding: 0 0 36px 78px; }
  .tl-dot, .tl-item:nth-child(even) .tl-dot { left: 0; right: auto; }

  .values-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---- ≤767px : mobile ---- */
@media (max-width: 767.98px) {
  .header-cta { display: none; }
  .site-header { padding: 10px 0; }
  .brand-img { max-height: 38px; }

  .hero-title { font-size: clamp(2.2rem, 10vw, 3rem); }
  .hero-actions .btn-binfo, .page-actions .btn-binfo { width: 100%; justify-content: center; }
  .float-chip { font-size: .7rem; padding: 8px 12px; }
  .chip-2 { right: -2px; } .chip-3 { left: -4px; }
  .hero-visual { padding: 18px 8px; }

  .intro-grid { grid-template-columns: 1fr; }
  .check-list, .offer-grid { grid-template-columns: 1fr; }
  .industry-chips { grid-template-columns: 1fr; }
  .process-short { grid-template-columns: 1fr 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .commit-box, .inline-cta { flex-direction: column; align-items: flex-start; }
  .commit-box .btn-binfo, .inline-cta .btn-binfo { width: 100%; justify-content: center; }
  .cta-box .btn-binfo { width: 100%; justify-content: center; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .wa-float { right: 16px; bottom: 16px; width: 52px; height: 52px; }
  .to-top { right: 20px; bottom: 16px; }
  .has-wa-float .to-top { bottom: 80px; }
  .ticker-track { gap: 36px; }
}

/* ---- ≤479px ---- */
@media (max-width: 479.98px) {
  .process-short { grid-template-columns: 1fr; }
  .brand-text strong { font-size: 1.1rem; }
  .brand-text small { letter-spacing: .18em; }
  .service-card { padding: 28px 22px 24px; }
  .form-card { padding: 26px 18px; }
  .page-title { font-size: 2rem; }
}

/* ---- Large screens ---- */
@media (min-width: 1600px) {
  .container { max-width: 1360px; }
}
