/* NAKAJP shared 4-step form wizard */
.nakajp-form-wizard{width:100%;max-width:760px;margin:0 auto;box-sizing:border-box}
.nakajp-form-wizard *{box-sizing:border-box}
.nw-progress{margin:0 0 20px}
.nw-progress__meta{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;line-height:1.4;margin-bottom:8px}
.nw-progress__meta strong{font-size:15px}
.nw-progress__track{height:6px;background:rgba(25,25,25,.12);border-radius:999px;overflow:hidden}
.nw-progress__track span{display:block;height:100%;width:25%;background:currentColor;border-radius:999px;transition:width .18s ease}
.nw-step[hidden]{display:none!important}
.nw-step h3{margin:0 0 18px;font-size:clamp(20px,5vw,26px);line-height:1.3}
.nw-question{margin:0 0 24px;padding:0;border:0;min-width:0}
.nw-question>label,.nw-question>legend{display:block!important;width:100%!important;margin:0 0 11px!important;padding:0!important;font-weight:700;line-height:1.45;font-size:16px}
.nw-required{color:#b42318}
.nw-choices{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;min-width:0}
.nw-choice{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  min-width:0!important;
  width:100%!important;
  min-height:52px;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid rgba(28,28,28,.22);
  border-radius:12px;
  cursor:pointer;
  line-height:1.4;
  background:rgba(255,255,255,.76);
  color:inherit!important;
  font-size:16px!important;
  font-weight:500!important;
  text-align:left!important;
  overflow:hidden;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease
}
/* Reset page-level form input rules. Several legacy LP styles target every .lead-form input. */
.nakajp-form-wizard .nw-choice>input[type="radio"]{
  appearance:auto!important;
  -webkit-appearance:radio!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  flex:0 0 20px!important;
  display:block!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
  border:initial!important;
  border-radius:50%!important;
  background:initial!important;
  box-shadow:none!important;
  opacity:1!important;
  accent-color:currentColor
}
.nakajp-form-wizard .nw-choice>span{
  display:block!important;
  position:static!important;
  transform:none!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
  line-height:1.4!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.nw-choice:has(input:checked){border-color:currentColor;box-shadow:0 0 0 2px rgba(30,30,30,.08);background:#fff}
.nw-choice:focus-within{outline:2px solid currentColor;outline-offset:2px}
.nw-question input[type="text"],.nw-question input[type="tel"],.nw-note textarea{display:block;width:100%;min-height:52px;padding:13px 14px;border:1px solid rgba(28,28,28,.24);border-radius:12px;background:#fff;color:inherit;font:inherit;font-size:16px;line-height:1.45}
.nw-note textarea{min-height:112px;resize:vertical}
.nw-question input:focus,.nw-note textarea:focus{outline:2px solid currentColor;outline-offset:1px;border-color:currentColor}
.nw-other-area[hidden],.nw-note-panel[hidden]{display:none!important}
.nw-error{min-height:0;margin:7px 0 0;color:#b42318;font-size:14px;line-height:1.4}
.nw-error:empty{display:none}
.has-error .nw-choice,.has-error>input{border-color:#b42318}
.nw-note{margin:2px 0 20px}
.nw-note-toggle{display:inline-flex;align-items:center;min-height:48px;padding:10px 0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;text-align:left}
.nw-note-panel{margin-top:10px}
.nw-note-panel label{display:block;margin-bottom:10px;font-weight:700;line-height:1.45}
.nw-supporting-note{font-size:14px;line-height:1.55;opacity:.78;margin:0 0 16px}
.nw-actions{position:sticky;bottom:0;z-index:20;display:grid;grid-template-columns:1fr;gap:9px;margin:10px -4px 0;padding:11px 4px calc(11px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.96) 18%,rgba(255,255,255,.99))}
body:has(.nakajp-mobile-actions) .nw-actions{bottom:calc(62px + env(safe-area-inset-bottom))}
.nw-actions:has(.nw-back){grid-template-columns:minmax(104px,.42fr) minmax(0,1fr)}
.nw-actions button{width:100%;min-height:52px;border-radius:12px;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.nw-next,.nw-actions button[type="submit"]{border:1px solid transparent}
.nw-back{border:1px solid rgba(28,28,28,.24);background:#fff;color:inherit}
.nw-actions button:focus-visible,.nw-note-toggle:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.nakajp-form-wizard .form-status{margin-top:14px;min-height:0;line-height:1.5}

@media (min-width:768px){
  .nakajp-form-wizard{max-width:900px}
  .nw-progress{margin-bottom:14px}
  .nw-step h3{margin-bottom:14px;font-size:22px}
  .nw-question{margin-bottom:18px}
  .nw-question>label,.nw-question>legend{margin-bottom:8px!important;font-size:15px}
  .nw-choices,.nw-choices--two{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px}
  .nw-choice{min-height:44px;padding:9px 12px!important;font-size:15px!important}
  .nakajp-form-wizard .nw-choice>input[type="radio"]{flex-basis:18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important}
  .nw-note{margin-bottom:14px}
  .nw-actions{position:static!important;bottom:auto!important;background:none;padding:6px 0 0;margin:6px 0 0;grid-template-columns:1fr}
  .nw-actions:has(.nw-back){grid-template-columns:150px minmax(240px,1fr)}
  .nw-actions button{min-height:48px}
}
@media (max-width:430px){
  .nw-progress{margin-bottom:18px}
  .nw-question{margin-bottom:22px}
  .nw-choice{min-height:52px;padding:12px!important}
  .nw-actions{margin-left:-2px;margin-right:-2px}
}
@media (max-width:340px){
  .nw-actions:has(.nw-back){grid-template-columns:92px minmax(0,1fr)}
  .nw-actions button{font-size:15px}
}


/* Submit success: keep Step 4 visible and make completion state unmistakable. */
.nakajp-form-wizard .form-status.is-success{
  display:grid;
  gap:6px;
  margin:18px 0 10px;
  padding:16px 18px;
  border:1px solid rgba(31,112,72,.28);
  border-radius:14px;
  background:rgba(238,248,242,.96);
  color:#173e2c;
}
.nakajp-form-wizard .form-status.is-success .form-status__heading{
  display:block;
  font-size:18px;
  line-height:1.35;
  font-weight:800;
}
.nakajp-form-wizard .form-status.is-success .form-status__text{
  display:block;
  font-size:15px;
  line-height:1.5;
}
.nakajp-form-wizard .form-status.is-success .form-status__note{
  display:block;
  font-size:13px;
  line-height:1.45;
  opacity:.82;
}
form.is-submit-success .nakajp-form-wizard .nw-actions--final .nw-back{
  display:none;
}
form.is-submit-success .nakajp-form-wizard .nw-actions--final{
  grid-template-columns:1fr;
}
form.is-submit-success .nakajp-form-wizard .nw-actions--final button[type="submit"]{
  cursor:default;
}
