.leadflow-form { --lf-primary:#1769e0; --lf-primary-hover:#0d55bd; --lf-text:#172033; --lf-muted:#687386; --lf-border:#d8deea; --lf-error:#c62828; --lf-success:#147a45; color:var(--lf-text); font:inherit; max-width:760px; }
.leadflow-form * { box-sizing:border-box; }
.leadflow-form [hidden] { display:none!important; }
.leadflow-breadcrumbs { display:flex; gap:0; align-items:flex-start; list-style:none; counter-reset:none; margin:0 0 22px; padding:0; }
.leadflow-breadcrumb { position:relative; display:flex; flex:1 1 0; flex-direction:column; align-items:center; gap:8px; min-width:0; color:var(--lf-muted); text-align:center; font-size:.9rem; }
.leadflow-breadcrumb::before { content:""; position:absolute; top:17px; left:0; right:50%; height:2px; background:#e2e7f0; z-index:0; }
.leadflow-breadcrumb::after { content:""; position:absolute; top:17px; left:50%; right:0; height:2px; background:#e2e7f0; z-index:0; }
.leadflow-breadcrumb:first-child::before, .leadflow-breadcrumb:last-child::after { display:none; }
.leadflow-breadcrumb-number { position:relative; z-index:1; display:grid; place-items:center; width:36px; height:36px; border:2px solid #d7deea; border-radius:50%; background:#fff; color:var(--lf-muted); font-weight:700; transition:background .2s,border-color .2s,color .2s,box-shadow .2s; }
.leadflow-breadcrumb-label { max-width:16ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.leadflow-breadcrumb.is-current { color:var(--lf-text); font-weight:600; }
.leadflow-breadcrumb.is-current .leadflow-breadcrumb-number { border-color:var(--lf-primary); color:var(--lf-primary); box-shadow:0 0 0 4px color-mix(in srgb,var(--lf-primary) 12%,transparent); }
.leadflow-breadcrumb.is-complete { color:var(--lf-text); }
.leadflow-breadcrumb.is-complete::before, .leadflow-breadcrumb.is-complete::after, .leadflow-breadcrumb.is-current::before { background:var(--lf-primary); }
.leadflow-breadcrumb.is-complete .leadflow-breadcrumb-number { border-color:var(--lf-primary); background:var(--lf-primary); color:#fff; }
.leadflow-progress { height:6px; overflow:hidden; background:#e8edf5; border-radius:999px; margin-bottom:28px; }
.leadflow-progress-bar { height:100%; background:var(--lf-primary); border-radius:inherit; transition:width .25s ease; }
.leadflow-step-title { margin:0 0 6px; font-size:clamp(1.4rem,3vw,2rem); color:inherit; }
.leadflow-step-description { margin:0 0 24px; color:var(--lf-muted); }
.leadflow-fields { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
.leadflow-field { grid-column:1/-1; }
.leadflow-width-half { grid-column:span 3; }
.leadflow-width-third { grid-column:span 2; }
.leadflow-field > label:not(.leadflow-consent), .leadflow-field legend { display:block; margin:0 0 7px; font-weight:600; }
.leadflow-field fieldset { border:0; padding:0; margin:0; min-width:0; }
.leadflow-field input:not([type=checkbox]):not([type=radio]), .leadflow-field select, .leadflow-field textarea { width:100%; min-height:48px; padding:11px 13px; border:1px solid var(--lf-border); border-radius:7px; background:#fff; color:inherit; font:inherit; box-shadow:none; transition:border-color .15s,box-shadow .15s; }
.leadflow-field textarea { min-height:120px; resize:vertical; }
.leadflow-field input:focus, .leadflow-field select:focus, .leadflow-field textarea:focus { outline:0; border-color:var(--lf-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--lf-primary) 18%,transparent); }
.leadflow-choice, .leadflow-consent { display:flex; gap:9px; align-items:flex-start; margin:8px 0; cursor:pointer; }
.leadflow-choice input, .leadflow-consent input { margin-top:.2em; width:18px; height:18px; flex:0 0 auto; accent-color:var(--lf-primary); }
.leadflow-field-error { display:none; color:var(--lf-error); font-size:.85rem; margin-top:5px; }
.leadflow-field.has-error .leadflow-field-error { display:block; }
.leadflow-field.has-error input, .leadflow-field.has-error select, .leadflow-field.has-error textarea { border-color:var(--lf-error); }
.leadflow-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; margin-top:28px; }
.leadflow-recaptcha { flex:1 0 100%; margin-bottom:4px; }
.leadflow-button { appearance:none; min-height:46px; padding:10px 22px; border:1px solid transparent; border-radius:7px; background:var(--lf-primary); color:#fff; font:600 1rem/1 inherit; cursor:pointer; transition:background .15s,opacity .15s,transform .15s; }
.leadflow-button:hover { background:var(--lf-primary-hover); transform:translateY(-1px); }
.leadflow-back { background:transparent; border-color:var(--lf-border); color:var(--lf-text); margin-right:auto; }
.leadflow-back:hover { background:#f3f5f8; }
.leadflow-button:disabled { opacity:.55; cursor:wait; transform:none; }
.leadflow-status { margin-top:18px; padding:0; border-radius:7px; }
.leadflow-status.is-success, .leadflow-status.is-error { padding:13px 15px; }
.leadflow-status.is-success { color:var(--lf-success); background:#e9f7f0; }
.leadflow-status.is-error { color:var(--lf-error); background:#fdeeee; }
.leadflow-hp { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.leadflow-form.is-loading { opacity:.78; }
@media (max-width:640px) { .leadflow-breadcrumbs { gap:8px; overflow-x:auto; padding-bottom:4px; } .leadflow-breadcrumb { flex:0 0 auto; min-width:82px; } .leadflow-breadcrumb::before,.leadflow-breadcrumb::after { display:none; } .leadflow-width-half,.leadflow-width-third { grid-column:1/-1; } .leadflow-actions { flex-wrap:wrap; } }
