/* The shared demo form owns its layout independently of imported page styles. */
.lead-modal { --lead-ink:#183d34; --lead-muted:#586c64; --lead-border:#d7e1db; --lead-accent:#195b46; }
.lead-modal *, .lead-modal *::before, .lead-modal *::after { box-sizing:border-box; }
.lead-modal .modal_overlay { z-index:1010; position:fixed; inset:0; width:100%; height:100%; display:block; background:#102b24; opacity:0; visibility:hidden; pointer-events:none; transition:opacity 180ms ease,visibility 180ms ease; }
.lead-modal .modal_overlay.active { opacity:.48; visibility:visible; pointer-events:auto; }
.lead-modal .modal_wrap { z-index:1111; position:fixed; inset:auto; top:50%; left:50%; width:min(620px,calc(100% - 32px)); height:auto; max-height:calc(100dvh - 40px); margin:0; padding:0; border:1px solid #dce7df; border-radius:20px; background:#fff; color:var(--lead-ink); font-family:Manrope,Arial,sans-serif; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; transform:translate(-50%,-48%); box-shadow:0 24px 90px #102b2440,0 4px 20px #102b2414; opacity:0; visibility:hidden; transition:opacity 180ms ease,transform 180ms ease,visibility 180ms ease; }
.lead-modal .modal_wrap.active { max-height:calc(100dvh - 40px); opacity:1; visibility:visible; transform:translate(-50%,-50%); }
.lead-modal .modal_contain { width:100%; height:auto; }
.lead-modal .modal_layout { display:block; height:auto; width:100%; overflow:visible; padding:36px; }
.lead-modal .modal_content { display:block; margin:0 0 26px; padding:0 24px 0 0; }
.lead-modal .lead-form-eyebrow { display:block; margin:0 0 12px; color:#38705b; font-size:11px; font-weight:700; line-height:1.5; letter-spacing:.065em; text-transform:uppercase; }
.lead-modal .modal_title { max-width:440px; margin:0; color:var(--lead-ink); font-size:32px; font-weight:650; line-height:1.2; letter-spacing:-1px; }
.lead-modal .modal_body { margin:14px 0 0; color:var(--lead-muted); font-size:15px; line-height:1.6; letter-spacing:0; }
.lead-modal .form_wrap, .lead-modal .pricing_contact_form { display:block; width:100%; height:auto; margin:0; }
.lead-modal .lead-form-note { margin:0 0 16px; color:var(--lead-muted); font-size:12px; line-height:1.5; }
.lead-modal .contact-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:19px 18px; margin:0; padding:0; }
.lead-modal .input_container { min-width:0; margin:0; }
.lead-modal .field-label { display:block; margin:0 0 7px; color:#2d453a; font-size:13px; font-weight:600; line-height:1.5; letter-spacing:0; }
.lead-modal .text-field, .lead-modal .select-field { display:block; width:100%; min-width:0; height:48px; min-height:48px; margin:0; padding:11px 13px; border:1px solid var(--lead-border); border-radius:9px; background:#fff; color:var(--lead-ink); font:400 15px/1.5 Manrope,Arial,sans-serif; letter-spacing:0; box-shadow:0 1px 2px #163c2b04; transition:border-color 120ms ease,box-shadow 120ms ease; }
.lead-modal .text-field::placeholder { color:#79877f; opacity:1; }
.lead-modal .select-field { padding-right:36px; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23586c64' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position:right 12px center; background-repeat:no-repeat; }
.lead-modal .select-wrapper { position:relative; }
.lead-modal .select-wrapper::after { display:none; }
.lead-modal :is(.text-field,.select-field):hover { border-color:#96ad9f; }
.lead-modal :is(.text-field,.select-field):focus-visible { outline:2px solid #287858; outline-offset:2px; border-color:#287858; box-shadow:none; }
.lead-modal :is(.text-field,.select-field):user-invalid { border-color:#b2483b; }
.lead-modal .form-btn { grid-column:1 / -1; display:block; width:100%; min-width:0; min-height:50px; height:auto; margin:5px 0 0; padding:14px 20px; border:1px solid var(--lead-accent); border-radius:9px; background:var(--lead-accent); color:#fff; font:600 15px/1.5 Manrope,Arial,sans-serif; text-align:center; letter-spacing:0; box-shadow:0 2px 3px #16453314; cursor:pointer; transition:background 120ms ease; }
.lead-modal .form-btn:hover { background:#124a38; border-color:#124a38; }
.lead-modal .form-btn:disabled { opacity:.65; cursor:wait; }
.lead-modal .form-btn:focus-visible, .lead-modal a:focus-visible, .lead-modal .modal_close:focus-visible { outline:3px solid #287858; outline-offset:3px; }
.lead-modal .lead-form-privacy { grid-column:1 / -1; margin:-5px 0 0; color:var(--lead-muted); font-size:11px; line-height:1.7; text-align:center; }
.lead-modal .lead-form-privacy a { color:#2c604b; text-decoration:underline; text-underline-offset:2px; }
.lead-modal [data-business-status] { grid-column:1 / -1; min-width:0; overflow-wrap:anywhere; }
.lead-modal .modal_close { position:absolute; top:13px; right:13px; inset-inline-start:auto; display:grid; place-items:center; width:40px; min-width:40px; height:40px; margin:0; padding:0; border:0; border-radius:9px; background:transparent; color:#587066; cursor:pointer; }
.lead-modal .modal_close:hover { color:#183d34; background:#edf4ef; }
@media (max-width:600px) {
  .lead-modal .modal_wrap, .lead-modal .modal_wrap.active { width:calc(100% - 24px); max-height:calc(100dvh - 24px); border-radius:16px; }
  .lead-modal .modal_layout { padding:30px 24px 26px; }
  .lead-modal .modal_content { padding-right:18px; margin-bottom:22px; }
  .lead-modal .modal_title { max-width:350px; font-size:28px; letter-spacing:-.7px; }
  .lead-modal .lead-form-eyebrow { max-width:230px; font-size:10px; }
  .lead-modal .contact-form { grid-template-columns:minmax(0,1fr); gap:16px; }
  .lead-modal .text-field, .lead-modal .select-field { font-size:16px; }
  .lead-modal .modal_close { top:9px; right:9px; }
}
@media (max-width:360px) {
  .lead-modal .modal_layout { padding:28px 18px 22px; }
  .lead-modal .modal_title { font-size:26px; }
}
@media (prefers-reduced-motion:reduce) {
  .lead-modal *, .lead-modal *::before, .lead-modal *::after { transition:none!important; }
}
