@media (max-width: 1024px) {
  .jme h1 { font-size: 46px; }
  .jme h2 { font-size: 34px; }
  .jme .jme-hero-grid { column-gap: 36px; grid-template-columns: .86fr 1.14fr; }
  .jme .jme-scope-grid, .jme .jme-stack-grid, .jme .jme-rfq-grid, .jme .jme-faq-grid { gap: 46px; }
  .jme .jme-route-card { grid-template-columns: 150px minmax(0, 1fr); }
  .jme .jme-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; }
  .jme .jme-process-grid li:nth-child(4) { border-left: 0; padding-left: 0; }
  .jme .jme-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .jme .jme-related-grid a:nth-child(4) { border-left: 1px solid var(--line); }
}

@media (max-width: 767px) {
  .jme h1 { font-size: 38px; }
  .jme h2 { font-size: 30px; }
  .jme h3 { font-size: 20px; }
  .jme p { font-size: 16px; }
  .jme .jme-shell { padding-left: 18px; padding-right: 18px; }
  .jme .jme-breadcrumb { overflow-wrap: anywhere; padding: 16px 18px 10px; }
  .jme .jme-hero-grid { grid-template-areas: "intro" "media" "details"; grid-template-columns: 1fr; min-height: 0; padding-bottom: 36px; padding-top: 14px; row-gap: 16px; }
  .jme .jme-hero-media { height: 218px; min-height: 0; padding: 12px; width: 100%; }
  .jme .jme-hero-media img { max-height: 194px; }
  .jme .jme-hero-intro h1 { margin-bottom: 0; }
  .jme .jme-hero-details > p:not(.jme-lead) { display: none; }
  .jme .jme-hero-details .jme-lead { font-size: 16px; line-height: 1.5; margin-bottom: 12px; }
  .jme .jme-actions { align-items: stretch; flex-direction: column; }
  .jme .jme-button { width: 100%; }
  .jme .jme-hero-details .jme-button-secondary { background: transparent; border: 0; min-height: 32px; padding: 4px; text-decoration: underline; text-underline-offset: 4px; }
  .jme .jme-proof { display: none; }
  .jme .jme-scope, .jme .jme-routes, .jme .jme-options, .jme .jme-stack, .jme .jme-process, .jme .jme-rfq, .jme .jme-related, .jme .jme-faq { padding: 62px 0; }
  .jme .jme-scope-grid, .jme .jme-stack-grid, .jme .jme-rfq-grid, .jme .jme-faq-grid { grid-template-columns: 1fr; }
  .jme .jme-scope-columns { border-left: 0; border-top: 1px solid var(--line); grid-template-columns: 1fr; padding-left: 0; padding-top: 30px; }
  .jme .jme-route-grid { grid-template-columns: 1fr; }
  .jme .jme-route-card, .jme .jme-route-card-wide { grid-column: auto; grid-template-columns: 1fr; }
  .jme .jme-route-card img { aspect-ratio: 4 / 3; height: auto; object-fit: cover; }
  .jme .jme-route-card:nth-child(3) img { object-fit: contain; padding: 18px; }
  .jme .jme-route-copy { padding: 24px 22px 28px; }
  .jme .jme-option-grid { grid-template-columns: 1fr; }
  .jme .jme-option-grid div, .jme .jme-option-grid div:nth-child(even) { border-left: 0; gap: 8px; grid-template-columns: 1fr; padding: 18px 0; }
  .jme .jme-stack-media { order: 2; }
  .jme .jme-stack-copy { order: 1; }
  .jme .jme-process-grid { grid-template-columns: 1fr; }
  .jme .jme-process-grid li, .jme .jme-process-grid li:first-child, .jme .jme-process-grid li:nth-child(4) { border-left: 0; border-top: 1px solid var(--line); min-height: 0; padding: 22px 0; }
  .jme .jme-process-grid span { margin-bottom: 12px; }
  .jme .jme-rfq-list { column-count: 1; }
  .jme .jme-related-grid { grid-template-columns: 1fr; }
  .jme .jme-related-grid a, .jme .jme-related-grid a:first-child, .jme .jme-related-grid a:nth-child(4) { border-left: 1px solid var(--line); min-height: 0; }
  .jme .jme-related-grid span { margin-bottom: 16px; }
  .jme .jme-final { padding: 58px 0; }
  .jme .jme-final-inner { grid-template-columns: 1fr; }
  .jme .jme-final .jme-actions { justify-content: flex-start; }
}

@media (max-width: 420px) {
  .jme h1 { font-size: 34px; overflow-wrap: anywhere; }
  .jme h2 { font-size: 28px; }
  .jme .jme-lead { font-size: 18px; }
  .jme .jme-hero-media { min-height: 220px; }
}
