.jmec {
  --accent: #0879bd;
  --accent-dark: #075f94;
  --accent-soft: #e9f4fa;
  --ink: #101822;
  --muted: #526070;
  --line: #d9e1e7;
  --soft: #f3f6f8;
  --dark: #17232e;
  --success: #4d8845;
  color: var(--ink);
  font-family: inherit;
  line-height: 1.6;
  overflow: hidden;
}

.jmec-tens { --accent: #187c68; --accent-dark: #105e50; --accent-soft: #e9f4f1; }
.jmec-wearable { --accent: #315f94; --accent-dark: #244b77; --accent-soft: #eaf0f7; }
.jmec-agcl { --accent: #7a6328; --accent-dark: #5d4b1f; --accent-soft: #f5f1e6; }
.jmec-biosensor { --accent: #087c84; --accent-dark: #075f65; --accent-soft: #e7f4f4; }

.jmec *, .jmec *::before, .jmec *::after { box-sizing: border-box; }
.jmec img { display: block; max-width: 100%; }
.jmec a { color: inherit; }
.jmec h1, .jmec h2, .jmec h3, .jmec p, .jmec ul, .jmec ol, .jmec dl, .jmec figure { margin-top: 0; }
.jmec h1, .jmec h2, .jmec h3, .jmec strong { font-weight: 700; }
.jmec h1, .jmec h2, .jmec h3 { letter-spacing: 0; line-height: 1.15; }
.jmec h1 { font-size: 52px; margin-bottom: 24px; }
.jmec h2 { font-size: 38px; margin-bottom: 18px; }
.jmec h3 { font-size: 20px; margin-bottom: 10px; }
.jmec p { color: var(--muted); font-size: 17px; margin-bottom: 18px; }
.jmec .jmec-shell { margin: 0 auto; max-width: 1220px; padding-left: 24px; padding-right: 24px; width: 100%; }
.jmec .jmec-kicker { color: var(--accent-dark); font-size: 13px; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; }
.jmec .jmec-lead { color: #273443; font-size: 20px; line-height: 1.55; }
.jmec .jmec-section-heading { max-width: 540px; }
.jmec .jmec-heading-wide { max-width: 800px; }
.jmec .jmec-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.jmec .jmec-button {
  align-items: center;
  border: 2px solid transparent;
  border-radius: 4px;
  display: inline-flex;
  font-size: 16px;
  font-weight: 700;
  justify-content: center;
  min-height: 50px;
  padding: 10px 20px;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.jmec .jmec-button-primary { background: var(--accent); color: #fff; }
.jmec .jmec-button-primary:hover, .jmec .jmec-button-primary:focus { background: var(--accent-dark); color: #fff; }
.jmec .jmec-button-secondary { background: var(--accent-soft); color: var(--accent-dark); }
.jmec .jmec-button-secondary:hover, .jmec .jmec-button-secondary:focus { border-color: var(--accent); }
.jmec .jmec-button-light { background: #fff; color: var(--accent-dark); }
.jmec .jmec-button-light:hover, .jmec .jmec-button-light:focus { background: var(--accent-soft); }

.jmec .jmec-breadcrumb {
  color: #687485;
  font-size: 14px;
  margin: 0 auto;
  max-width: 1220px;
  padding: 20px 24px 12px;
}

.jmec .jmec-breadcrumb a { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.jmec .jmec-breadcrumb span { margin: 0 5px; }
.jmec .jmec-breadcrumb span:last-child { margin-right: 0; }
.jmec :focus-visible { outline: 3px solid #f0b836; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .jmec .jmec-button { transition: none; }
}
