.leadDialog {
  box-sizing: border-box;
  position: relative;
  width: min(560px, 94vw);
  max-height: 88svh;
  overflow-y: auto;
  border: 1px solid #444;
  border-radius: 12px;
  padding: 28px;
  background: #171717;
  color: #f5f3ef;
  box-shadow: 0 18px 60px #000a;
}
.leadDialog *, .leadDialog *::before, .leadDialog *::after { box-sizing: border-box; }
.leadDialog::backdrop { background: #000b; backdrop-filter: blur(3px); }
.leadDialog[open] { position: fixed; top: max(12px, env(safe-area-inset-top)); right: 0; bottom: auto; left: 0; margin: 0 auto; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); transform-origin: center top; animation: leadDialogIn .22s cubic-bezier(.2,.75,.25,1) both; }
.leadDialog[open]::backdrop { animation: leadBackdropIn .22s ease both; }
.leadDialog[open].isClosing { pointer-events: none; animation: leadDialogOut .22s ease both; }
.leadDialog[open].isClosing::backdrop { animation: leadBackdropOut .22s ease both; }
@keyframes leadDialogIn { from { opacity: 0; transform: translateY(9px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes leadDialogOut { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(5px) scale(.99); } }
@keyframes leadBackdropIn { from { opacity: 0; backdrop-filter: blur(0); } to { opacity: 1; backdrop-filter: blur(3px); } }
@keyframes leadBackdropOut { from { opacity: 1; backdrop-filter: blur(3px); } to { opacity: 0; backdrop-filter: blur(0); } }
body.leadModalOpen { overflow: hidden; }
.leadDialog [hidden] { display: none !important; }
.leadClose {
  position: absolute;
  top: 12px;
  right: 14px;
  border: 0;
  padding: 5px 0 5px 8px;
  background: transparent;
  color: #bbb;
  font-size: 16px;
  cursor: pointer;
}
.leadClose:hover { color: #fff; }
.leadKicker { display: flex; align-items: center; gap: 12px; margin: 0; color: #e9e5df; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.leadKicker::before { width: 24px; height: 2px; background: var(--orange); content: ""; }
.leadDialog h2 { margin: 14px 0 10px; font: 700 clamp(26px, 5vw, 32px)/1.12 Manrope, Arial, sans-serif; letter-spacing: -.045em; }
.leadIntro { margin: 0 0 19px; color: #bbb; font-size: 14px; line-height: 1.6; }
.leadChoices { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 19px; border: 0; padding: 0; }
.leadChoices legend { width: 100%; margin-bottom: 10px; font-size: 13px; font-weight: 700; }
.leadChoices label { display: flex; flex: 1 1 135px; min-height: 42px; align-items: center; gap: 7px; border: 1px solid #555; border-radius: 6px; padding: 9px 10px; font-size: 12px; white-space: nowrap; cursor: pointer; transition: border-color .15s, background .15s; }
.leadChoices label:hover { border-color: #888; }
.leadChoices label.isSelected { border-color: var(--orange); background: #ff8a001a; }
.leadChoices input { flex: none; margin: 0; accent-color: var(--orange); }
.leadGrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 15px; }
.leadWide { grid-column: 1 / -1; }
.leadField { display: flex; min-width: 0; flex-direction: column; gap: 7px; font-size: 13px; font-weight: 600; }
.leadField input, .leadField select, .leadField textarea { width: 100%; min-width: 0; border: 1px solid #555; border-radius: 5px; padding: 11px 12px; background: #222; color: #fff; font: inherit; font-size: 14px; }
.leadField input, .leadField select { height: 44px; }
.leadField textarea { resize: vertical; line-height: 1.45; }
.leadField input:focus, .leadField select:focus, .leadField textarea:focus { outline: 2px solid var(--orange); outline-offset: 1px; }
.leadField input::placeholder, .leadField textarea::placeholder { color: #777; }
.leadField small { color: #aaa; font-size: 11px; font-weight: 400; }
.leadHoneypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden; opacity: 0; }
.leadSubmit { width: 100%; justify-content: center; margin-top: 18px; background: #25d366; color: #05290f; white-space: normal; }
.leadSubmit:hover { background: #36e477; }
.leadNote { margin: 11px 0 0; color: #aaa; font-size: 11px; line-height: 1.55; }
.leadError { margin: 12px 0 0; color: #ffb666; font-size: 13px; }
.leadSuccess { margin: 12px 0 0; border: 1px solid #16854a; border-radius: 6px; padding: 11px 12px; background: #0f3925; color: #c5f5d9; font-size: 13px; line-height: 1.5; }
.leadSubmit:disabled { cursor: wait; opacity: .8; }
@media (max-width: 550px) {
  .leadDialog { width: 94vw; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); padding: 24px 18px; }
  .leadChoices { gap: 7px; }
  .leadChoices label { flex-basis: 125px; padding: 10px 8px; font-size: 11px; }
  .leadGrid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .leadWide { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .leadDialog[open], .leadDialog[open]::backdrop, .leadDialog[open].isClosing, .leadDialog[open].isClosing::backdrop { animation: none; }
  .leadChoices label { transition: none; }
}
.leadPrepared{display:grid;gap:12px;margin-top:20px;padding:16px;border:1px solid currentColor;border-radius:12px}.leadPrepared>label{font-weight:700}.leadPrepared textarea{width:100%;padding:12px;border:1px solid #777;border-radius:8px;background:#fff;color:#171717;font:inherit;resize:vertical}.leadPrepared button,.leadPrepared a{min-height:44px;padding:12px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:center;cursor:pointer}.leadPrepared :focus-visible{outline:3px solid #ffb47b;outline-offset:3px}.leadPrepared p{font-size:13px;line-height:1.5;margin:0}
.leadField input,.leadField select,.leadField textarea{border-color:#888b94}
.leadField input::placeholder,.leadField textarea::placeholder{color:#bbbcc4;opacity:1}
.leadClose{min-height:44px;min-width:80px}
.leadPrivacyAcknowledgement{display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:13px;line-height:1.6;color:#d2d3da}
.leadPrivacyAcknowledgement input{width:20px;height:20px;flex:none;margin:2px 0;accent-color:#ff7918}
.leadPrivacyAcknowledgement a{color:#ffb274;text-underline-offset:3px}
.leadDialog :focus-visible{outline:3px solid #ffb274;outline-offset:4px}
.leadDialog :where(input,select,textarea,button,a){scroll-margin-block:60px}
.leadNote,.leadField small{font-size:12px;color:#c2c3ca}
