.lf { max-width: 40rem; }
.lf-step { border: 0; margin: 0 0 1.5rem; padding: 0; min-width: 0; }
.lf-js .lf-step { margin-bottom: 0; }
.lf-js .lf-step[hidden] { display: none; }
.lf-title { font-weight: 700; font-size: 1.15em; padding: 0; margin: 0 0 .75rem; }
.lf-title:focus { outline: none; }
.lf-note, .lf-progress, .lf-info { font-size: .9em; opacity: .85; margin: 0 0 .75rem; }
.lf-field { margin: 0 0 1rem; }
.lf-field label { display: block; margin: 0 0 .3rem; font-weight: 600; }
.lf input[type="text"], .lf input[type="tel"], .lf input[type="email"], .lf select, .lf textarea {
  box-sizing: border-box; width: 100%; min-height: 2.75rem; padding: .6rem .75rem;
  font: inherit; color: inherit; background-color: transparent;
  border: 1px solid currentColor; border-radius: .4rem;
}
.lf textarea { min-height: 5rem; resize: vertical; }
.lf select option { color: CanvasText; background-color: Canvas; }
.lf-choice { position: relative; margin: 0 0 .5rem; }
.lf-choice input { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); margin: 0; accent-color: currentColor; }
.lf-choice label { display: block; padding: .75rem 1rem .75rem 2.5rem; border: 1px solid currentColor; border-radius: .4rem; cursor: pointer; }
.lf-choice input:checked + label { font-weight: 700; box-shadow: inset 0 0 0 1px currentColor; }
.lf-choice input:focus-visible + label { outline: 2px solid currentColor; outline-offset: 2px; }
.lf-check { display: flex; gap: .6rem; align-items: flex-start; margin: 0 0 .9rem; }
.lf-check input { flex: none; width: 1.15rem; height: 1.15rem; margin: .15rem 0 0; accent-color: currentColor; }
.lf-check label { cursor: pointer; }
.lf-opt { opacity: .85; white-space: nowrap; }
.lf a { color: inherit; text-decoration: underline; }
.lf button { min-height: 2.75rem; padding: .65rem 1.4rem; font: inherit; color: inherit; background-color: transparent; border: 2px solid currentColor; border-radius: .4rem; cursor: pointer; }
.lf button[type="submit"], .lf .lf-next { font-weight: 700; margin-left: auto; }
.lf-nav, .lf-submit { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: 1rem 0 0; }
.lf :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.lf-hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
