/* Request form only. Keep the existing fields, validation and delivery code. */
html body .lead-modal {
  --request-ink:#191919;
  --request-field:#fff;
  --request-line:#78877d;
  --request-muted:#526057;
  --request-accent:#087e30;
  --request-surface:#f7f9f6;
  --request-choice:#fff;
  --request-selected:#e0f3e3;
  --request-close:#e1e8e3;
}
html[data-ui-theme=dark] body .lead-modal {
  --request-ink:#f0f3ef;
  --request-field:#191f1b;
  --request-line:#84948a;
  --request-muted:#b9c3bc;
  --request-accent:#9ee5af;
  --request-surface:#242a25;
  --request-choice:#2b342d;
  --request-selected:#304f3a;
  --request-close:#354038;
}
html body .lead-modal .lead-modal__dialog {background:var(--request-surface)!important; color:var(--request-ink)!important}
html body .lead-modal .lead-modal__dialog :is(h2,label,legend) {color:var(--request-ink)!important}
html body .lead-modal .lead-modal__dialog>p,
html body .lead-modal .form .consent-row a {color:var(--request-muted)!important}
html body .lead-modal .lead-modal__close {background:var(--request-close)!important; color:var(--request-ink)!important}
html body .lead-modal .form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
html body .lead-modal .form select,
html body .lead-modal .form textarea {
  color:var(--request-ink)!important;
  -webkit-text-fill-color:var(--request-ink)!important;
  caret-color:var(--request-ink);
  background:var(--request-field)!important;
  border-color:var(--request-line)!important;
}
/* Safari autofill can paint text and background independently of color. */
html body .lead-modal .form input:autofill,
html body .lead-modal .form input:-webkit-autofill {
  -webkit-text-fill-color:var(--request-ink)!important;
  -webkit-box-shadow:0 0 0 1000px var(--request-field) inset!important;
  box-shadow:0 0 0 1000px var(--request-field) inset!important;
  caret-color:var(--request-ink);
}
html body .lead-modal .form :is(input,textarea)::placeholder {
  color:var(--request-muted)!important;
  -webkit-text-fill-color:var(--request-muted)!important;
  opacity:1;
}
html body .lead-modal .form .contact-method {
  min-width:0; min-height:44px; padding:9px 10px!important; gap:8px!important;
  font-size:14px!important; line-height:1.3;
  background:var(--request-choice)!important; color:var(--request-ink)!important;
  border-color:var(--request-line)!important;
}
html body .lead-modal .form .contact-method:has(input:checked) {
  background:var(--request-selected)!important; border-color:var(--request-accent)!important;
  box-shadow:inset 0 0 0 1px var(--request-accent)!important;
}
html body .lead-modal .form .contact-method::after,
html body .lead-modal .form .contact-method:has(input:checked)::after {display:none!important}
html body .lead-modal .form .contact-method input[type=radio] {
  appearance:none; -webkit-appearance:none; position:static; opacity:1;
  width:18px; height:18px; min-width:18px; min-height:18px; flex:0 0 18px;
  padding:0; margin:0; border:1.5px solid var(--request-line); border-radius:50%;
  background:transparent; box-shadow:none;
}
html body .lead-modal .form .contact-method input[type=radio]:checked {
  border-color:var(--request-accent);
  background:radial-gradient(circle,var(--request-accent) 0 4px,transparent 4.5px);
}
html body .lead-modal .form .contact-method__icon,
html body .lead-modal .form .contact-method__icon img {
  width:22px; height:22px; min-width:22px; flex:0 0 22px;
}
html body .lead-modal .form .contact-method:has(input:focus-visible),
html body .lead-modal .form :is(input,textarea,select,button):focus-visible {
  outline:2px solid var(--request-accent)!important; outline-offset:2px;
}
html body .lead-modal .form .consent-row input[type=checkbox] {
  width:18px; height:18px; min-width:18px; min-height:18px;
  padding:0; margin:2px 0 0; flex:0 0 18px;
}
html body .lead-modal .form .form__status:empty {display:none}
/* A required description is an ordinary field, not a collapsible option. */
html body .lead-modal .compact-comment:has(textarea:required)>summary {display:none}
html body .lead-modal .compact-comment:has(textarea:required)>summary::before {content:none}
html body .lead-modal .compact-comment>label {display:grid; gap:6px}
html body .lead-modal .compact-comment {margin:0; min-width:0}
html body .lead-modal .lead-modal__dialog {overscroll-behavior:contain; scroll-padding-block:56px 20px}
@media(max-width:760px) {
  html body .lead-modal {padding:12px!important; padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
  html body .lead-modal .lead-modal__dialog {
    width:100%!important; max-width:620px;
    max-height:calc(100dvh - 24px - env(safe-area-inset-bottom))!important;
    padding:16px!important; border-radius:18px!important;
    overflow-y:auto; overflow-x:hidden;
  }
  html body .lead-modal .lead-modal__dialog h2 {font-size:24px!important; margin-bottom:14px!important}
  html body .lead-modal .compact-flow-nav {margin-bottom:14px; padding:4px}
  html body .lead-modal .compact-flow-panel {gap:10px}
  html body .lead-modal .form {gap:10px}
  html body .lead-modal .form label {font-size:14px; line-height:1.4}
  html body .lead-modal .form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
  html body .lead-modal .form select {min-height:44px; font-size:16px; padding:9px 11px}
  html body .lead-modal .form textarea {min-height:72px; font-size:16px; padding:9px 11px}
  html body .lead-modal .contact-methods legend {font-size:14px; margin-bottom:7px}
  html body .lead-modal .form .consent-row {min-height:44px; align-items:center; font-size:12px!important; line-height:1.4}
  html body .lead-modal .form button[type=submit] {min-height:48px; width:100%; margin:0}
}
@media(forced-colors:active) {
  html body .lead-modal .form .contact-method input[type=radio] {appearance:auto; -webkit-appearance:auto}
}
