/* QRM shared identity: homepage, service form and customer portal. */
:root {
  --qrm-navy: #082943;
  --qrm-blue: #0b5cad;
  --qrm-blue-dark: #084a88;
  --qrm-ink: #1f2933;
  --qrm-muted: #5d6b78;
  --qrm-bg: #f3f6f9;
  --qrm-border: #d5e0e9;
  --qrm-orange: #f28a24;
  --qrm-radius: 12px;
  color-scheme: light;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--qrm-bg); color: var(--qrm-ink); font: 16px/1.6 Arial, Helvetica, sans-serif; }
img { display: block; max-width: 100%; }
a { color: var(--qrm-blue); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #ec8c2d; outline-offset: 4px; }
.qrm-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.qrm-skip { position: absolute; top: -100px; left: 16px; z-index: 200; padding: 12px 20px; background: white; color: var(--qrm-navy); }
.qrm-skip:focus { top: 10px; }
.qrm-header { background: #fff; border-top: 4px solid var(--qrm-orange); }
.qrm-brand-row { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.qrm-brand { display: block; width: 218px; flex: 0 0 auto; }
.qrm-brand img { width: 218px; height: 96px; object-fit: contain; }
.qrm-brand-note { color: var(--qrm-muted); font-size: .875rem; text-align: right; }
.qrm-brand-note strong { display: block; color: var(--qrm-navy); font-size: 1rem; }
.qrm-nav { background: var(--qrm-navy); }
.qrm-nav-inner { display: flex; align-items: stretch; gap: 4px; }
.qrm-nav a { display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 12px 19px; text-decoration: none; color: #f4f9fc; font-size: .875rem; font-weight: 700; border-bottom: 3px solid transparent; }
.qrm-nav a:hover, .qrm-nav a[aria-current="page"] { background: #113d5e; border-bottom-color: var(--qrm-orange); }
.qrm-nav .qrm-nav-portal { margin-left: auto; background: #0b5cad; border-bottom-color: #3f9ee8; }
.qrm-menu { display: none; margin: 0; background: var(--qrm-navy); color: white; border: 1px solid #315370; border-radius: 8px; padding: 10px 16px; min-height: 44px; }
.qrm-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 21px; border: 1px solid transparent; border-radius: 8px; background: var(--qrm-blue); color: #fff; font-weight: 700; text-decoration: none; cursor: pointer; line-height: 1.35; }
.qrm-button:hover { background: var(--qrm-blue-dark); color: #fff; }
.qrm-button-primary { background: #0b3856; border-color: var(--qrm-orange); box-shadow: 0 4px 12px #00132120; }
.qrm-button-primary:hover { background: #174e74; }
.qrm-button-light { background: #fff; border-color: #c6d5e0; color: var(--qrm-navy); }
.qrm-button-light:hover { background: #eaf3fb; color: var(--qrm-navy); }
.qrm-button-ghost { background: #ffffff0d; border-color: #7e9bb5; color: white; }
.qrm-button-ghost:hover { background: #ffffff20; }
.qrm-arrow { font-size: 1.25rem; line-height: 1; }
.qrm-eyebrow { margin: 0 0 16px; color: #88d0ff; font-size: .75rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.qrm-section-label { margin: 0 0 10px; color: var(--qrm-blue); font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.qrm-page-title { margin: 0 0 12px; color: var(--qrm-navy); font-size: clamp(1.8rem, 4vw, 2.65rem); letter-spacing: -.025em; line-height: 1.15; }
.qrm-page-heading { padding: 38px 0 24px; }
.qrm-page-heading p:last-child { max-width: 720px; color: var(--qrm-muted); margin: 0; }
.qrm-breadcrumb { margin-bottom: 22px; font-size: .875rem; color: var(--qrm-muted); }
.qrm-breadcrumb a { text-decoration: none; }
.qrm-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.qrm-footer { margin-top: 64px; padding: 40px 0 24px; color: #b5c8d8; background: #061e32; }
.qrm-footer-top { display: flex; justify-content: space-between; gap: 32px; padding-bottom: 28px; }
.qrm-footer strong { color: #fff; }
.qrm-footer p { margin: 6px 0 0; font-size: .875rem; }
.qrm-footer nav { display: flex; flex-wrap: wrap; align-items: start; gap: 14px 24px; }
.qrm-footer a { color: #e0eef9; text-decoration: none; font-size: .875rem; }
.qrm-footer a:hover { text-decoration: underline; }
.qrm-footer-bottom { padding-top: 22px; border-top: 1px solid #ffffff20; font-size: .75rem; display: flex; justify-content: space-between; gap: 20px; }
.qrm-footer-bottom span:last-child { color: #f7aa5f; }
.qrm-help-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #e9f2f9; border: 1px solid #cbdce9; border-radius: 12px; padding: 24px 32px; }
.qrm-help-band h2 { margin: 0 0 6px; color: var(--qrm-navy); font-size: 1.4rem; }
.qrm-help-band p { margin: 0; color: var(--qrm-muted); }
@media (max-width: 760px) {
  .qrm-container { width: calc(100% - 32px); }
  .qrm-brand-row { min-height: 98px; }
  .qrm-brand, .qrm-brand img { width: 182px; }
  .qrm-brand img { height: 86px; }
  .qrm-brand-note { display: none; }
  .qrm-nav-inner { flex-wrap: wrap; padding: 6px 0; }
  .qrm-nav a { min-height: 48px; flex: 1 1 auto; padding: 10px 12px; }
  .qrm-nav .qrm-nav-portal { margin: 0; }
  .js .qrm-menu { display: inline-flex; align-items: center; }
  .js .qrm-nav:not(.is-open) { display: none; }
  .js .qrm-nav a { flex-basis: 45%; }
  .qrm-footer-top, .qrm-footer-bottom, .qrm-help-band { flex-direction: column; align-items: flex-start; }
  .qrm-help-band { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
