/* V19: one enquiry flow, in the existing Systematika palette. */
.lead-open { overflow:hidden; scrollbar-gutter:stable; }
.lead-dialog { width:min(660px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 40px); padding:0; overflow:hidden; }
.lead-dialog[open] { display:flex; flex-direction:column; }
.lead-header { display:flex; align-items:center; gap:16px; padding:16px 24px; flex-shrink:0; }
.lead-progress { flex:1; color:var(--muted); font-size:13px; }
.lead-back { display:inline-flex; align-items:center; gap:7px; min-height:44px; border:0; padding:8px 0; background:transparent; color:var(--blue); font-size:14px; }
.lead-back[hidden] { display:none; }
.lead-close { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border:0; border-radius:50%; background:var(--sky); color:var(--blue); margin-left:auto; }
.lead-close:hover { background:#c9e6ff; }
.lead-content { padding:0 36px 36px; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:#8caee9 #f5f8fc; }
.lead-content h2 { margin:0 0 20px; padding:0; font:600 28px/1.25 Montserrat,sans-serif; letter-spacing:-.025em; text-wrap:balance; }
.lead-description { margin:0 0 26px; color:var(--muted); font-size:16px; line-height:1.5; }
.lead-question fieldset { border:0; margin:0; padding:0; min-width:0; }
.lead-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.lead-option { width:100%; background:#fff; text-align:left; color:var(--ink); display:flex; align-items:center; gap:12px; min-height:58px; padding:14px; border:1px solid var(--line); border-radius:12px; font-size:15px; line-height:1.4; cursor:pointer; }
.lead-choice-mark { flex-shrink:0; width:18px; height:18px; border:1px solid #acbfd5; border-radius:50%; }
.lead-option[aria-pressed="true"] .lead-choice-mark { border:5px solid var(--blue); }
.lead-option[aria-pressed="true"] { background:#edf5ff; border-color:var(--blue); }
.lead-option:hover { border-color:#8caee9; }
.lead-option:focus-within { outline:2px solid var(--blue); outline-offset:2px; }
.lead-actions { display:flex; justify-content:flex-end; margin-top:26px; }
.lead-actions .button { min-height:48px; padding:13px 24px; }
.lead-skip { min-height:44px; padding:10px 0; margin-top:12px; border:0; background:transparent; color:var(--muted); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.lead-confirmation { margin:0 0 24px; padding:16px 18px; border-radius:12px; background:var(--sky); color:#24466d; font-size:14px; line-height:1.5; }
.lead-field { margin-bottom:20px; }
.lead-field label { display:block; margin-bottom:8px; font-size:15px; font-weight:500; }
.lead-field input { display:block; width:100%; height:50px; border:1px solid #acbfd5; border-radius:8px; padding:12px 14px; background:#fff; color:var(--ink); font-size:16px; }
.lead-field input::placeholder { color:var(--muted); opacity:1; }
.lead-field input[aria-invalid="true"] { border-color:#a72136; }
.lead-consent { display:flex; align-items:start; gap:11px; min-height:44px; font-size:13px; line-height:1.5; color:var(--muted); cursor:pointer; }
.lead-consent input { margin:2px 0 0; width:18px; height:18px; flex-shrink:0; accent-color:var(--blue); }
.lead-consent a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.lead-error { margin:7px 0 0; color:#a72136; font-size:13px; line-height:1.4; }
.lead-error[hidden] { display:none; }
.lead-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.lead-contact-form[aria-busy="true"] .button { opacity:.65; cursor:wait; }
.lead-success { text-align:center; padding:12px 0 6px; }
.lead-success-icon { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 24px; border-radius:50%; background:var(--sky); color:var(--blue); }
.lead-success .lead-description { max-width:42ch; margin:0 auto 28px; }
.selector-form.funnel-entry { min-height:0; align-self:center; }
.funnel-entry h3 { margin:0 0 16px; font-size:25px; }
.funnel-entry>p { color:var(--muted); font-size:16px; line-height:1.5; }
.funnel-entry-steps { margin:22px 0 26px; padding-left:22px; display:grid; gap:13px; font-size:16px; }
.funnel-entry .funnel-entry-note { margin-top:18px; font-size:13px; }
#menu-panel-contacts .menu-panel-heading>.button { flex-shrink:0; }
@media (max-width:700px) {
 .lead-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); }
 .lead-header { padding:12px 16px; gap:12px; }
 .lead-content { padding:0 22px 26px; }
 .lead-content h2 { font-size:24px; margin-bottom:20px; }
 .lead-options { grid-template-columns:1fr; gap:9px; }
 .lead-option { font-size:16px; min-height:56px; }
 .lead-actions .button { width:100%; justify-content:center; }
 .lead-confirmation { padding:14px; }
 .funnel-entry h3 { font-size:23px; }
 #menu-panel-contacts .menu-panel-heading>.button { margin-top:18px; }
}

/* The same flow lives inside the lower card, with its own in-memory draft. */
.selector-form.lead-inline { padding:0; min-height:430px; align-self:start; }
.lead-inline .lead-header { min-height:68px; padding:12px 30px; }
.lead-inline .lead-content { overflow:visible; padding:0 30px 30px; }
.lead-inline .lead-content h2 { font-size:25px; }
.lead-inline .lead-options { gap:9px; }
.lead-inline .lead-option { padding:12px; }
@media(max-width:700px) {
 .selector-form.lead-inline { min-height:620px; }
 .lead-inline .lead-header { padding:12px 22px; }
 .lead-inline .lead-content { padding:0 22px 26px; }
 .lead-inline .lead-content h2 { font-size:24px; }
}
