/* A compact extension of the existing editorial brand, not a new design system. */
#diagnostic-offer{padding:32px 0;background:var(--soft);border-bottom:1px solid var(--line)}
.lead-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.lead-intro .eyebrow{margin-bottom:10px}
.lead-intro h2{font:400 clamp(36px,4.1vw,56px)/1.05 var(--font-serif);letter-spacing:-.035em;max-width:520px}
.lead-intro h2 span{color:var(--gold-deep);white-space:nowrap}
.lead-intro>p:last-child{font-size:13px;margin-top:16px;max-width:370px;color:var(--gray)}
.lead-card{min-width:0;padding:24px;background:var(--bg);border:1px solid var(--line);border-radius:8px}
.lead-card [hidden],.lead-dialog[hidden]{display:none!important}
.lead-progress{display:flex;align-items:center;gap:16px;margin-bottom:18px;font:11px var(--font-ui);color:var(--gray)}
.lead-progress progress{width:88px;height:3px;border:0;background:var(--line);accent-color:var(--gold-deep)}
.lead-progress progress::-webkit-progress-bar{background:var(--line)}
.lead-progress progress::-webkit-progress-value{background:var(--gold-deep)}
.lead-step{min-width:0;border:0;margin:0;padding:0;animation:lead-enter .22s ease-out}
.lead-step legend,.lead-step>label{display:block;font:400 27px/1.2 var(--font-serif);letter-spacing:-.02em;margin-bottom:16px;color:var(--ink)}
.lead-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lead-options label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;font:13px var(--font-ui);cursor:pointer}
.lead-options label:has(:checked){border-color:var(--gold-deep);background:#b99a5410}
.lead-options input{accent-color:var(--gold-deep);width:17px;height:17px;flex:none}
.lead-step>input{width:100%;min-height:50px;padding:12px 14px;background:var(--bg);border:1px solid #9c9e91;border-radius:4px;font:16px var(--font-ui);color:var(--ink)}
.lead-step>label.lead-consent{display:flex;align-items:flex-start;gap:10px;font:12px/1.55 var(--font-ui);letter-spacing:0;margin:16px 0 0;cursor:pointer}
.lead-consent input{width:20px;height:20px;flex:none;accent-color:var(--gold-deep);margin-top:2px}
.lead-step>input[aria-invalid=true]{border-color:#a13a27}
.lead-card :focus-visible,.lead-dialog :focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}
.lead-helper,.lead-contact-note,.lead-status,.lead-preview{font:12px/1.55 var(--font-ui);margin-top:12px;color:var(--gray)}
.lead-contact-note a,.lead-preview a{text-decoration:underline;text-underline-offset:3px}
.lead-error{color:#9b3024;font:12px/1.5 var(--font-ui);min-height:18px;margin:8px 0}
.lead-nav{display:flex;align-items:center;gap:12px;margin-top:14px}
.lead-nav .btn{white-space:normal;flex:1}
.lead-back{background:none;border:0;min-height:48px;padding:8px 12px;text-decoration:underline;font:13px var(--font-ui);color:var(--ink);cursor:pointer}
.lead-back:disabled{visibility:hidden;pointer-events:none}
.lead-preview{padding-top:12px;border-top:1px solid var(--line);font-size:11px}
.lead-status:empty{display:none}
.lead-dialog{border:1px solid var(--line);border-radius:12px;width:min(500px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:24px;margin:auto;color:var(--ink);background:var(--bg);overflow:auto;overscroll-behavior:contain}
.lead-dialog::backdrop{background:#141711aa}
.lead-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.lead-dialog h2{font:400 34px/1.1 var(--font-serif);letter-spacing:-.03em}
.lead-close{flex:none;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:none;font:24px var(--font-ui);color:var(--ink);cursor:pointer}
.lead-dialog .lead-card{padding:0;border:0}
body:has(.lead-dialog[open]){overflow:hidden}
@keyframes lead-enter{from{opacity:.5;transform:translateX(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){#diagnostic-offer{padding:24px 0}.lead-layout{grid-template-columns:1fr;gap:20px}.lead-intro h2{font-size:38px}.lead-intro>p:last-child{margin-top:10px}.lead-card{padding:20px}.lead-step legend,.lead-step>label{font-size:25px}.lead-dialog{padding:20px}.lead-dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.lead-step{animation:none}}
/* The legacy homepage applies important transparent surfaces to body *.
   Restore only this component's surfaces, without changing the existing site. */
#diagnostic-offer{background-color:var(--soft)!important;border-color:var(--line)!important}
.lead-card,#leadDialog{background-color:var(--bg)!important;border-color:var(--line)!important;color:var(--ink)!important}
.lead-options label,.lead-step>input,.lead-close,.lead-preview{border-color:var(--line)!important}
.lead-options label:has(:checked){background-color:#b99a5410!important;border-color:var(--gold-deep)!important}
.lead-step>input{background-color:var(--bg)!important;border-color:#9c9e91!important}
.lead-step>input[aria-invalid=true]{border-color:#a13a27!important}
.lead-intro h2 span{color:var(--gold-deep)!important}
.lead-error{color:#9b3024!important}
.lead-helper,.lead-contact-note,.lead-status,.lead-preview,.lead-progress,.lead-intro>p:last-child{color:var(--gray)!important}
/* Popup only: no reserved document space; lock the page, not the visitor. */
#leadDialog:not([open]){display:none!important}
#leadDialog{position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 24px)}
#leadDialog>.lead-helper{margin:0 0 20px}
html.lead-modal-open{overflow:hidden;overscroll-behavior:none}
html.lead-modal-open body{position:fixed;left:0;right:0;width:100%;overflow:hidden}
