/* =========================================================
   Responsive adjustments (desktop-first breakpoints match Bootstrap)
   ========================================================= */

@media (max-width: 1399.98px) {
  .site-header .brand-tag { display: none; }
  .main-nav .nav-link-ms { padding: .55rem .65rem; }
}

/* Desktop navigation needs ~1200px; below that the offcanvas menu is used. */
@media (max-width: 1199.98px) {
  .main-nav { display: none; }
  .nav-toggler { display: inline-grid; }
  .header-actions { margin-left: auto; }
  .detail-layout { grid-template-columns: minmax(0, 1fr) 320px; }
}

@media (max-width: 991.98px) {
  :root { --ms-header-h: 68px; }
  .header-actions .btn-consult { display: none; }

  .pathway { max-width: 520px; margin: 2.5rem auto 0; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(3) { border-left: 0; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--ms-border); }
  .pillars { grid-template-columns: 1fr; }
  .pillar { border-left: 0; border-top: 1px solid var(--ms-border); }
  .pillar:first-child { border-top: 0; }

  .service-row { grid-template-columns: 56px minmax(0, 1fr) 44px; }
  .service-row .sr-desc { grid-column: 2 / 3; grid-row: 2; }
  .service-row .sr-go { grid-row: 1 / span 2; grid-column: 3; }

  .serve-panel { grid-template-columns: 1fr; }
  .serve-col { border-left: 0; border-top: 1px solid var(--ms-border); }
  .serve-col:first-child { border-top: 0; }

  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .process { grid-template-columns: 1fr; gap: 1.5rem; }
  .process::before { left: 27px; right: auto; top: 28px; bottom: 28px; border-top: 0; border-left: 2px dashed var(--ms-border-strong); }
  .process-step { text-align: left; display: grid; grid-template-columns: 56px 1fr; gap: 0 1.25rem; padding: 0; }
  .process-step .ps-icon { margin: 0; grid-row: 1 / span 3; }

  .detail-layout, .legal-layout { grid-template-columns: 1fr; }
  .sticky-aside { position: static; }
  .legal-layout aside { order: 2; }
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .filter-bar .fb-search { grid-column: 1 / -1; }
  .value-item { grid-template-columns: 1fr; gap: .5rem; }
  .division-head { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 767.98px) {
  .infobar .ib-hide-sm { display: none !important; }
  .brand-tag { display: none; }
  .brand-logo { height: 24px; }
  .hero-actions .btn { flex: 1 1 100%; }
  .pw-card { min-width: 0; padding: .5rem .65rem; gap: .5rem; }
  .pw-card .pw-ic { width: 30px; height: 30px; font-size: .9rem; }
  .pw-card .pw-name { font-size: .85rem; }
  .pw-card .pw-step { font-size: .625rem; }
  .stat { padding: 1.4rem 1rem; }
  .why-grid { grid-template-columns: 1fr; }
  .sj-facts { grid-template-columns: 1fr; }
  .sj-fact + .sj-fact { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); margin-top: 1.25rem; }
  .stepper { grid-template-columns: repeat(4, 1fr); }
  .stepper li .st-label { display: none; }
  .form-nav .btn { flex: 1 1 auto; }
  .job-card { grid-template-columns: 1fr; }
  .job-summary-grid { grid-template-columns: 1fr; }
  .job-summary-grid > div:nth-child(odd) { border-right: 0; }
  .job-summary-grid > div:nth-last-child(2) { border-bottom: 1px solid var(--ms-border); }
  .filter-bar { grid-template-columns: 1fr; }
  .split-list { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .cookie-banner { left: 8px; right: 8px; bottom: 8px; padding: 1rem; }
  .cookie-banner .cb-actions .btn { flex: 1 1 100%; }
  .search-modal .modal-dialog { margin: 0; max-width: none; min-height: 100%; }
  .search-modal .modal-content { border-radius: 0; min-height: 100vh; }
  .search-page-form { flex-direction: column; }
  .file-drop { flex-direction: column; align-items: stretch; }
  .file-drop > .bi { display: none; }
}

@media (max-width: 575.98px) {
  .infobar .infobar-tag { display: none; }
  .infobar .container { justify-content: center !important; }
  .section-head-split { flex-direction: column; align-items: flex-start; }
  .service-row { grid-template-columns: 1fr 44px; gap: .5rem 1rem; padding: 1.25rem .25rem; }
  .service-row .sr-num { grid-column: 1; }
  .service-row .sr-desc { grid-column: 1; grid-row: 3; }
  .service-row > div:nth-child(2) { grid-column: 1; grid-row: 2; }
  .service-row .sr-go { grid-column: 2; grid-row: 1 / span 3; }
  .pathway { aspect-ratio: 560 / 560; }
}
