.lead-transport {
  position: fixed;
  width: 1px;
  height: 1px;
  inset: 0 auto auto 0;
  border: 0;
  visibility: hidden;
  pointer-events: none;
}

.lead-honeypot,
.lead-status {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

body.ui-study #lead .form-submit-error {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #fff3ec;
  color: #963519;
  font-size: 14px;
  line-height: 1.5;
  scroll-margin-block: 100px 24px;
}
body.ui-study #lead .form-submit-error > svg {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 1px;
}
body.ui-study #lead .form-submit-error strong { font-weight: 500; }
body.ui-study #lead .form-submit-error p { margin: 4px 0 0; color: #765d53; }
body.ui-study #lead .button:disabled {
  cursor: wait;
  opacity: .75;
  transform: none;
}
body.ui-study #lead .lead-form[data-state=pending] button[type=submit]::after {
  content: '';
  width: 16px;
  height: 16px;
  border: 1.5px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: lead-submit-spin .8s linear infinite;
}
body.ui-study #lead .lead-form[data-state=pending] :is(input, select) { opacity: .65; }

body.ui-study #lead .form-success {
  min-height: 390px;
  padding-block: 28px;
  align-items: center;
  text-align: center;
  scroll-margin-block: 100px 24px;
}
body.ui-study #lead .form-success-mark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  margin-bottom: 28px;
  border-radius: 24px;
  color: #b94015;
  background: linear-gradient(135deg, #fff2e7, #ffd0b9);
  box-shadow: inset 0 0 0 1px #f5be9f70;
}
body.ui-study #lead .form-success-mark svg { width: 36px; height: 36px; }
body.ui-study #lead .form-success h3 {
  margin: 0;
  font-size: clamp(26px, 2.6vw, 34px);
  line-height: 1.15;
  letter-spacing: -.035em;
  text-wrap: balance;
}
body.ui-study #lead .form-success .form-success-intro {
  max-width: 350px;
  margin: 16px 0 0;
  color: #707070;
  font-size: 16px;
  line-height: 1.5;
  text-wrap: pretty;
}
body.ui-study #lead .form-success .form-success-note {
  max-width: 280px;
  margin-top: 20px;
  color: #707070;
  font-size: 13px;
  line-height: 1.5;
  text-wrap: pretty;
}
body.ui-study #lead :is(.form-success, .form-submit-error):focus { outline: none; }
@media (max-width: 767px) {
  body.ui-study #lead .form-success { min-height: 350px; padding-block: 16px; }
  body.ui-study #lead .form-success-mark { width: 64px; height: 64px; border-radius: 22px; margin-bottom: 24px; }
  body.ui-study #lead .form-success .form-success-intro { font-size: 15px; }
  body.ui-study #lead .form-submit-error { padding: 12px; font-size: 13px; }
}
@keyframes lead-submit-spin { to { transform: rotate(360deg); } }
@keyframes lead-success-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  body.ui-study #lead .form-success:not([hidden]) > * { animation: lead-success-enter .3s ease-out both; }
  body.ui-study #lead .form-success:not([hidden]) > :nth-child(n+2) { animation-delay: .1s; }
  body.ui-study #lead .form-success:not([hidden]) > :nth-child(n+4) { animation-delay: .2s; }
}
@media (prefers-reduced-motion: reduce) {
  body.ui-study #lead .lead-form[data-state=pending] button[type=submit]::after { animation: none; }
}
