body { margin: 0; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #1e2420; background: #ffffff; -webkit-font-smoothing: antialiased; }
@media (max-width: 920px) {
  .m-hero { grid-template-columns: 1fr !important; gap: 44px !important; padding: 60px 32px 80px !important; }
  .m-2col { grid-template-columns: 1fr !important; gap: 40px !important; }
  .m-grid4 { grid-template-columns: repeat(2, 1fr) !important; }
  .m-grid3 { grid-template-columns: repeat(2, 1fr) !important; }
  .m-foot { grid-template-columns: repeat(2, 1fr) !important; }
  .m-nav { height: auto !important; flex-wrap: nowrap; justify-content: flex-start; padding: 12px 20px !important; gap: 14px !important; }
  .m-links { display: none !important; }
  .m-cta { margin-left: auto; }
  .m-burger { display: flex !important; flex: none; }
  .m-logo { height: 32px !important; }
  .m-cta { padding: 10px 16px !important; font-size: 12.5px !important; }
}
@media (max-width: 600px) {
  .m-grid4, .m-grid3, .m-grid2, .m-foot { grid-template-columns: 1fr !important; }
  h1 { font-size: 36px !important; }
  h2 { font-size: 27px !important; }
  .m-hero-img-wrap { margin-bottom: 0 !important; }
  .m-repcard { position: static !important; margin-top: 14px; min-width: 0 !important; box-shadow: 0 8px 20px rgba(0,0,0,.3) !important; }
  .m-hide-sm { display: none !important; }
  .m-team { flex-direction: column; }
  .m-team .m-team-photo { height: 300px !important; }
  .m-row { flex-wrap: wrap; }
  .m-test { flex-wrap: wrap; }
  .m-tl-row { grid-template-columns: 26px 1fr !important; column-gap: 10px !important; }
  .m-tl-rail { left: 12px !important; }
  .m-cta { display: none !important; }
  .m-burger { margin-left: auto; }
}

@media (max-width: 640px) {
  .m-ptable { display: block; min-width: 0 !important; width: 100%; }
  .m-ptable thead { display: none; }
  .m-ptable tbody { display: block; }
  .m-ptable tr { display: grid; grid-template-columns: 1fr auto; column-gap: 18px; padding: 13px 0; border-bottom: 1px solid #d4dbd3; }
  .m-ptable td { display: block; border-bottom: none !important; padding: 1px 0 !important; white-space: normal !important; }
  .m-ptable td:nth-child(1) { grid-column: 1 / -1; padding-bottom: 5px !important; }
  .m-ptable td:nth-child(2), .m-ptable td:nth-child(3), .m-ptable td:nth-child(4) { grid-column: 1; }
  .m-ptable td:nth-child(5) { grid-column: 2; grid-row: 2 / span 3; align-self: center; font-size: 16.5px !important; }
}
@media (max-width: 640px) {
  .m-cta-row { justify-content: stretch !important; flex-wrap: nowrap !important; gap: 10px !important; }
  .m-cta-row a { flex: 1 1 0; text-align: center; padding: 14px 8px !important; font-size: 12.5px !important; letter-spacing: .05em !important; white-space: nowrap; }
}
@media (max-width: 920px) {
  .m-2col > .m-form-col { order: -1; }
}

/* Quality page — accreditation timeline on small screens */
@media (max-width: 920px) {
  .m-tl-grid { gap: 18px !important; }
}
@media (max-width: 600px) {
  .m-acc-num { font-size: 42px !important; }
  .sl-pdf-pages { max-height: 480px !important; }
  .m-tl-card { gap: 14px !important; padding: 14px !important; }
  .m-tl-thumb { width: 54px !important; height: 70px !important; }
  .m-tl-flag { width: 45px !important; height: 30px !important; }
  .m-tl-title { font-size: 16px !important; }
  .m-tl-meta { font-size: 11px !important; letter-spacing: .04em !important; }
  .m-tl-open { flex: 1 1 100% !important; text-align: right; margin-top: 2px; }
  .m-pts-btn { padding: 7px 11px !important; font-size: 12.5px !important; }
}

/* Test form — parameter checklist rows: name on line 1, standard code + badge on line 2 */
@media (max-width: 600px) {
  .m-test .m-test-name { flex: 1 1 calc(100% - 28px) !important; }
  .m-test .m-test-code { margin-left: 28px; }
  .m-test .m-test-badge { margin-left: 28px; }
}

/* Home — material quick-links: compact 2x2 on phones (overrides the .m-grid4 1-col rule) */
@media (max-width: 600px) {
  .m-quick4 { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .m-quick4 a { padding: 15px 10px !important; gap: 8px !important; }
  .m-quick4 a span:first-child { font-size: 15px !important; letter-spacing: .07em !important; }
  .m-quick4 a span:last-child { font-size: 15px !important; }
}


/* CMS rich-text bodies (Quill output): match the hardcoded paragraph styling they replaced */
.m-rich p { font-size: 16px; line-height: 1.7; color: #3f4842; margin: 0 0 18px; }
.m-rich p:last-child { margin-bottom: 0; }
.m-rich-lg p { font-size: 16px; line-height: 1.7; color: #3f4842; margin: 0 0 24px; }
.m-rich-lg p:last-child { margin-bottom: 0; }
