/* CASALI Leads 0.4.0 — one progress bar, contained fields and responsive typography. */
.casali-leads-app{--cl-chaux:#F7F2E9;--cl-travertin:#E4D9C6;--cl-terre:#2E2620;--cl-pierre:#6E6459;--cl-laiton:#B39762;color:var(--cl-terre);font:400 16px/1.65 "Jost",Arial,sans-serif;width:100%;max-width:1040px;min-width:0;margin-inline:auto;scroll-margin-top:112px;container-type:inline-size}
.casali-leads-app *,.casali-leads-app *::before,.casali-leads-app *::after{box-sizing:border-box}
.casali-leads-app [hidden]{display:none!important}
.casali-leads-app .casali-leads-shell{background:var(--cl-chaux);color:var(--cl-terre);border:1px solid #d6cdbf;padding:clamp(22px,3vw,44px);min-width:0;box-shadow:0 16px 48px #2e262009}
/* Remove the old decorative corner stroke completely, not just its colour. */
.casali-leads-app .casali-leads-shell::before,.casali-leads-app .casali-leads-shell::after{content:none!important;display:none!important}
.casali-leads-progress{height:3px;background:#e0d9cf;width:100%;overflow:hidden}
.casali-leads-progress>span{display:block;background:var(--cl-laiton);height:100%;width:0;transition:width .2s ease}
.casali-leads-meta{display:flex;justify-content:space-between;gap:12px;margin:14px 0 28px;font-size:11px;line-height:1.55;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--cl-pierre)}
.casali-leads-step-label{min-width:0}
.casali-leads-duration{white-space:nowrap}
.casali-leads-screen{display:none;min-width:0}
.casali-leads-screen.is-active{display:block}
.casali-leads-app form,.casali-leads-app fieldset{min-width:0;min-inline-size:0;max-width:100%;width:100%;padding:0;margin:0;border:0}
.casali-leads-app legend{display:block;float:none;max-width:100%;width:100%;white-space:normal;overflow-wrap:anywhere;padding:0;margin:0 0 20px;color:var(--cl-terre);font:400 clamp(23px,2.2vw,30px)/1.23 "Tenor Sans",Arial,sans-serif;letter-spacing:-.012em}
.casali-leads-app .casali-leads-screen>legend{font-size:clamp(23px,2.2vw,30px)}
.casali-leads-app h3{max-width:100%;overflow-wrap:anywhere;white-space:normal;font:400 clamp(24px,2.4vw,32px)/1.22 "Tenor Sans",Arial,sans-serif;letter-spacing:-.01em;margin:0 0 20px;color:var(--cl-terre)}
.casali-leads-app .casali-leads-kicker{color:var(--cl-pierre);font-size:11px;font-weight:500;letter-spacing:.13em;line-height:1.6;margin:0 0 12px}
.casali-leads-app .casali-leads-intro-copy,.casali-leads-app .casali-leads-help,.casali-leads-app .casali-leads-success>p{font-size:15px;line-height:1.7;color:var(--cl-pierre);margin:0 0 20px;overflow-wrap:anywhere}
.casali-leads-app .casali-leads-intro-copy strong{font-weight:500;color:var(--cl-terre)}
.casali-leads-app .casali-subtitle{font:500 17px/1.45 "Jost",Arial,sans-serif;margin:24px 0 16px;color:var(--cl-terre)}
.casali-leads-app .casali-subquestion{margin:24px 0 0}
.casali-leads-app .casali-subquestion>legend{font:500 16px/1.5 "Jost",Arial,sans-serif;margin-bottom:12px;letter-spacing:0}
.casali-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.casali-choice-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.casali-choice-stack{grid-template-columns:1fr}
.casali-choice{display:block;position:relative;min-width:0;margin:0;cursor:pointer}
.casali-choice input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.casali-choice>span{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;padding:14px 16px;border:1px solid #cfc7bd;background:#ffffff40;color:var(--cl-terre);font-size:16px;line-height:1.5;overflow-wrap:anywhere;transition:background-color .15s,border-color .15s,color .15s}
.casali-choice>span::after{content:"";width:12px;height:12px;border:1px solid #857768;border-radius:50%;flex:0 0 12px}
.casali-choice-grid--multi .casali-choice>span::after{border-radius:2px}
.casali-choice input:checked+span{background:var(--cl-terre);color:var(--cl-chaux);border-color:var(--cl-terre)}
.casali-choice input:checked+span::after{background:var(--cl-chaux);border-color:var(--cl-chaux);box-shadow:inset 0 0 0 3px var(--cl-terre)}
.casali-choice input:focus-visible+span{outline:2px solid var(--cl-terre);outline-offset:3px}
.casali-choice input[aria-invalid=true]+span{border-color:#923e24}
.casali-choice:hover>span{border-color:var(--cl-terre)}
.casali-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;min-width:0}
.casali-leads-app label:not(.casali-choice):not(.casali-consent):not(.casali-hp){display:block;min-width:0;color:var(--cl-terre);font:500 14px/1.6 "Jost",Arial,sans-serif;margin:0 0 12px}
.casali-leads-app input[type=text],.casali-leads-app input[type=email],.casali-leads-app input[type=tel],.casali-leads-app textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #cfc7bd;border-radius:0;background:#fff9;padding:13px 14px;margin-top:7px;color:var(--cl-terre);font:400 16px/1.5 "Jost",Arial,sans-serif;box-shadow:none;appearance:none}
.casali-leads-app textarea{resize:vertical;min-height:110px}
.casali-leads-app input::placeholder,.casali-leads-app textarea::placeholder{color:#766e64;opacity:1}
.casali-leads-app input:focus,.casali-leads-app textarea:focus{border-color:var(--cl-terre);outline:2px solid var(--cl-laiton);outline-offset:2px}
.casali-leads-app input[aria-invalid=true],.casali-leads-app textarea[aria-invalid=true]{border-color:#923e24}
.casali-other-field,.casali-conditional-block{background:#e4d9c645;padding:18px;margin-top:16px;border:1px solid #d6cdbf}
.casali-conditional-block>.casali-subquestion:first-child{margin-top:0}
.casali-other-field>label:last-child{margin-bottom:0!important}
.casali-consent{display:flex;align-items:flex-start;gap:12px;margin:18px 0 0;color:var(--cl-pierre);font-size:13px;line-height:1.7}
.casali-consent input{width:19px;height:19px;min-width:19px;accent-color:var(--cl-terre);margin-top:3px}
.casali-consent span{min-width:0;overflow-wrap:anywhere}
.casali-leads-app a{color:var(--cl-terre);text-underline-offset:3px}
.casali-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.casali-leads-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ddd5c9;padding-top:22px;margin-top:28px}
.casali-leads-primary,.casali-leads-back{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:15px 20px;border:1px solid var(--cl-terre);border-radius:0;font:500 12px/1.45 "Jost",Arial,sans-serif;letter-spacing:.065em;text-transform:uppercase;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;transition:background-color .15s,color .15s;appearance:none}
.casali-leads-primary{background:var(--cl-terre);color:var(--cl-chaux)}
.casali-leads-back{background:transparent;color:var(--cl-terre)}
.casali-leads-primary:hover{background:#44382f}
.casali-leads-back:hover{background:var(--cl-travertin)}
.casali-leads-app button:disabled{opacity:.55;cursor:wait}
.casali-leads-app :where(button,a):focus-visible{outline:2px solid var(--cl-terre);outline-offset:4px}
.casali-leads-app .casali-leads-error{color:#923e24;font-size:14px;line-height:1.6;margin:14px 0 0;min-height:0;overflow-wrap:anywhere}
.casali-leads-error:empty{display:none}
.casali-leads-app .casali-leads-save-status{font-size:12px;line-height:1.6;color:var(--cl-pierre);margin:12px 0 0}
.casali-leads-save-status:empty{display:none}
.casali-project-summary{padding:20px;background:var(--cl-travertin);margin:0 0 26px;border:0}
.casali-project-summary>div{margin:0 0 14px;min-width:0}
.casali-project-summary>div:last-child{margin:0}
.casali-leads-app dt{font-size:12px;line-height:1.6;font-weight:500;color:var(--cl-pierre)}
.casali-leads-app dd{margin:3px 0 0;font-size:16px;line-height:1.55;color:var(--cl-terre);overflow-wrap:anywhere}
.casali-summary-section{padding:16px 0;border-top:1px solid #d7cdbc}
.casali-summary-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}
.casali-summary-heading h4{font:500 15px/1.5 "Jost",Arial,sans-serif;color:var(--cl-terre);margin:0}
.casali-summary-edit{appearance:none;border:0;background:transparent;color:var(--cl-terre);font:400 13px/1.5 "Jost",Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;padding:8px;min-height:44px;cursor:pointer}
.casali-summary-section dl{margin:10px 0 0}
.casali-summary-section dl>div{margin:0 0 12px}
.casali-summary-section dl>div:last-child{margin:0}
.casali-leads-success-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px}
.casali-leads-secondary-link{font-size:13px;padding:10px 0}
@container (max-width:550px){.casali-choice-grid,.casali-choice-grid--compact,.casali-field-row{grid-template-columns:1fr}.casali-leads-app .casali-leads-screen>legend{font-size:24px}.casali-leads-app .casali-leads-shell{padding:22px}.casali-field-row{gap:4px}.casali-leads-meta{margin-bottom:24px;letter-spacing:.07em}}
@media(max-width:680px){.casali-leads-app .casali-leads-shell{padding:20px}.casali-choice-grid,.casali-choice-grid--compact,.casali-field-row{grid-template-columns:1fr}.casali-field-row{gap:4px}.casali-leads-app .casali-leads-screen>legend{font-size:24px}.casali-leads-app h3{font-size:26px}.casali-leads-actions{position:static}.casali-leads-primary,.casali-leads-back{padding:14px 16px}.casali-leads-success-actions{flex-direction:column;align-items:stretch}.casali-leads-success-actions .casali-leads-secondary-link{text-align:center}.casali-other-field,.casali-conditional-block{padding:14px}.casali-leads-duration{display:none}}
@media(max-width:360px){.casali-leads-app .casali-leads-shell{padding:16px}.casali-leads-app .casali-leads-screen>legend{font-size:22px}.casali-leads-meta{font-size:10px}.casali-leads-actions{gap:8px}.casali-leads-primary,.casali-leads-back{font-size:11px;padding:14px 12px}}
@media(prefers-reduced-motion:reduce){.casali-leads-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
