.consent {
  position: fixed;
  z-index: 1000;
  inset: auto 1rem 1rem;
  max-width: 40rem;
  margin: auto;
  padding: 1.25rem;
  border: 1px solid var(--line, #e7e2f0);
  border-radius: 12px;
  background: #fff;
  color: var(--ink, #1a1626);
  box-shadow: 0 12px 40px rgba(26, 22, 38, .22);
}
.consent[hidden] { display: none; }
.consent h2 { margin: 0 0 .25rem; }
.consent p { margin: 0 0 1rem; }
.consent fieldset { display: flex; gap: 1.25rem; border: 0; padding: 0; }
.consent legend { font-weight: 600; margin-bottom: .4rem; }
.consent-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.consent button, .consent-manage {
  border: 1px solid #6b4fb0;
  border-radius: 8px;
  background: #fff;
  color: #4a3a7a;
  cursor: pointer;
  font: inherit;
  padding: .55rem .85rem;
}
.consent button[data-consent="accept"] { background: #6b4fb0; color: #fff; }
.consent-manage { position: fixed; z-index: 900; right: 1rem; bottom: 1rem; font-size: .82rem; }
.consent button:focus-visible, .consent-manage:focus-visible, .consent input:focus-visible {
  outline: 3px solid #f0b429;
  outline-offset: 3px;
}
@media (max-width: 520px) {
  .consent fieldset { flex-direction: column; gap: .4rem; }
}

.lead-form { margin-top: 1.25rem; }
.lead-form label { display: block; font-weight: 600; margin-bottom: .85rem; }
.lead-form input, .lead-form select, .lead-form textarea {
  display: block;
  width: 100%;
  margin-top: .25rem;
  padding: .65rem .7rem;
  border: 1px solid #9b93aa;
  border-radius: 7px;
  background: #fff;
  color: #1a1626;
  font: inherit;
}
.lead-form input:focus-visible, .lead-form select:focus-visible, .lead-form textarea:focus-visible,
.lead-modal button:focus-visible {
  outline: 3px solid #f0b429;
  outline-offset: 2px;
}
.lead-form [aria-invalid="true"] { border-color: #a4262c; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.field-error { display: block; min-height: 1.25em; color: #8b1a1f; font-size: .82rem; font-weight: 400; }
.form-status { min-height: 1.5em; margin-bottom: 0; }
.field-note { color: var(--muted, #5c5470); font-size: .86rem; margin: -.5rem 0 .85rem; }
.consent-line { color: var(--muted, #5c5470); font-size: .86rem; }
.lead-form .consent-line input[type="checkbox"] {
  display: inline-block;
  width: auto;
  margin: 0 .35rem 0 0;
  vertical-align: middle;
}
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.lead-form button[disabled] { cursor: wait; opacity: .65; }

.modal-backdrop {
  position: fixed;
  z-index: 1100;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(26, 22, 38, .72);
  animation: pg-fade-in .18s ease-out;
}
.modal-backdrop[hidden] { display: none; }
.lead-modal {
  position: relative;
  width: min(34rem, 100%);
  max-height: calc(100vh - 2rem);
  overflow: auto;
  padding: 1.5rem;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: var(--ink, #1a1626);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .35);
}
.lead-modal h2 { margin: 0 2rem .25rem 0; }
.lead-modal > p { margin-top: 0; color: var(--muted, #5c5470); }
.modal-close {
  position: absolute;
  top: .65rem;
  right: .75rem;
  border: 0;
  background: transparent;
  color: #4a3a7a;
  cursor: pointer;
  font-size: 1.75rem;
}
@keyframes pg-fade-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .modal-backdrop { animation: none; }
}
@media (max-width: 520px) {
  .form-grid { grid-template-columns: 1fr; }
}
