.lm-online {
  --lm-online-ink: #173d4b;
  --lm-online-muted: #58717a;
  --lm-online-line: #cbdbdd;
  --lm-online-pale: #eff6f5;
  color: var(--lm-online-ink);
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  background: #fff;
  border-radius: 18px;
}

.lm-online * { box-sizing: border-box; }
.lm-online-heading h3 { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; margin: .45rem 0 .65rem; }
.lm-online-heading p, .lm-online-step-head p { color: var(--lm-online-muted); max-width: 68ch; line-height: 1.65; }
.lm-online-heading { margin-bottom: 1.8rem; }
.lm-online-progress { display: grid; gap: .65rem; margin-bottom: 1.7rem; color: var(--lm-online-muted); font-size: .82rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.lm-online-progress-track { display: block; overflow: hidden; height: 7px; border-radius: 999px; background: #dce9e9; }
.lm-online-progress-track > span { display: block; height: 100%; border-radius: inherit; background: #2a7f83; transition: width .25s ease; }
.lm-online-step[hidden], .lm-online-navigation [hidden] { display: none !important; }
.lm-online-step-head { padding: 1.3rem 1.5rem; background: var(--lm-online-pale); border-left: 4px solid #2a7f83; border-radius: 8px; }
.lm-online-step-head > span { color: #26757a; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lm-online-step-head h4 { margin: .35rem 0 .45rem; font-size: clamp(1.35rem, 2.5vw, 1.8rem); line-height: 1.25; outline-offset: 5px; }
.lm-online-step-head p { margin: 0; }
.lm-online-group { padding: 1.35rem 0 1.55rem; border-bottom: 1px solid var(--lm-online-line); }
.lm-online-group h5 { margin: 0 0 1rem; font-size: 1.06rem; color: var(--lm-online-ink); }
.lm-online-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.35rem; }
.lm-online-conditional:not([hidden]) { display: contents; }
.lm-online-field { display: grid; gap: .42rem; min-width: 0; font-size: .91rem; font-weight: 650; }
.lm-online-field:has(textarea), .lm-online-choice, .lm-online-group .lm-intake-upload { grid-column: 1 / -1; }
.lm-online-field input, .lm-online-field textarea, .lm-online-field select { width: 100%; padding: .74rem .82rem; border: 1px solid #adc6ca; border-radius: 8px; background: #fff; color: #173d4b; font: inherit; font-weight: 400; }
.lm-online-field input:focus, .lm-online-field textarea:focus, .lm-online-field select:focus, .lm-online-choice input:focus-visible, .lm-online-check input:focus-visible { outline: 3px solid rgba(42,127,131,.24); outline-offset: 1px; border-color: #26757a; }
.lm-online-field textarea { min-height: 6rem; resize: vertical; }
.lm-online-field small { font-size: .79rem; font-weight: 400; color: var(--lm-online-muted); line-height: 1.5; }
.lm-online-field input[readonly] { background: #eff6f5; border-style: dashed; }
.lm-online-signature-use { justify-self: start; max-width: 100%; min-height: 42px; padding: 9px 14px; border: 1px solid #006c75; border-radius: 6px; background: #006c75; color: #fff; font: inherit; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; cursor: pointer; }
.lm-online-signature-use:hover, .lm-online-signature-use:focus-visible { background: #092d40; border-color: #092d40; color: #fff; }
.lm-online-signature-use:disabled { opacity: .6; cursor: default; }
.lm-online-date-today { justify-self: start; min-height: 38px; padding: 6px 10px; border: 1px solid #adc6ca; border-radius: 6px; background: #fff; color: #17525b; font: inherit; font-size: .85rem; cursor: pointer; }
.lm-online-date-today:hover, .lm-online-date-today:focus-visible { border-color: #26757a; background: #eff6f5; color: #092d40; }
.lm-online-signature-use[hidden], .lm-online-field [hidden] { display: none !important; }
.lm-online-required { color: #a64735; }
.lm-online-choice { min-width: 0; margin: 0; padding: 0; border: 0; }
.lm-online-choice legend { padding: 0; margin-bottom: .62rem; font-size: .91rem; font-weight: 650; }
.lm-online-options { display: flex; flex-wrap: wrap; gap: .55rem; }
.lm-online-option { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.45rem; padding: .45rem .8rem; border: 1px solid var(--lm-online-line); border-radius: 8px; background: #fff; font-size: .85rem; line-height: 1.3; cursor: pointer; }
.lm-online-option:has(input:checked) { border-color: #2a7f83; background: var(--lm-online-pale); }
.lm-online-option input { width: 1rem; height: 1rem; accent-color: #2a7f83; }
.lm-online-policy { max-width: 76ch; margin: .7rem 0; color: #3a555f; font-size: .91rem; line-height: 1.68; }
.lm-online-note { margin: 1rem 0; padding: .8rem 1rem; border-radius: 8px; background: var(--lm-online-pale); color: #355963; font-size: .85rem; line-height: 1.55; }
.lm-online-check { display: flex; align-items: flex-start; gap: .7rem; max-width: 72ch; margin: 1rem 0; font-size: .91rem; line-height: 1.55; cursor: pointer; }
.lm-online-check input { width: 1.1rem; height: 1.1rem; margin-top: .2rem; flex: 0 0 auto; accent-color: #2a7f83; }
.lm-online-navigation { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.6rem; }
.lm-online-navigation .button, .lm-online-submit { min-width: 11rem; text-align: center; }
.lm-online-navigation:not(.lm-online-navigation-final) [data-lm-online-next] { margin-left: auto; }

@media (max-width: 650px) {
  .lm-online { padding: 1rem; border-radius: 12px; }
  .lm-online-step-head { padding: 1rem; }
  .lm-online-fields { grid-template-columns: 1fr; }
  .lm-online-navigation { flex-wrap: wrap; }
  .lm-online-navigation .button { flex: 1 1 100%; }
  .lm-online-options { flex-direction: column; align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .lm-online-progress-track > span { transition: none; }
}
.lm-online-navigation[hidden] { display: none !important; }
