.lead-section { padding:48px 0; background:#edf2e9; }
.lead-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:start; }
.lead-intro { padding-top:22px; }
.lead-intro h2 { font-size:clamp(27px,2.5vw,35px); line-height:1.2; color:var(--ink); margin:0 0 18px; }
.lead-intro > p { font-size:15px; line-height:1.8; color:var(--ink-soft); }
.lead-intro ol { list-style:none; margin:24px 0; padding:0; counter-reset:lead; }
.lead-intro li { display:flex; align-items:center; gap:12px; font-size:13px; padding:12px 0; border-bottom:1px solid #d0dcd2; counter-increment:lead; }
.lead-intro li::before { content:counter(lead); display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:white; color:var(--teal); font-weight:700; flex-shrink:0; }
.lead-intro > a { color:var(--teal); font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
[data-lead-quiz] { min-width:0; scroll-margin-top:140px; }
.lq-form { padding:30px; background:white; border:1px solid var(--line); border-radius:24px; box-shadow:0 12px 35px #102f4309; }
.lq-form [hidden] { display:none!important; }
.lq-progress { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:24px; }
.lq-progress span { font-size:11px; color:var(--ink-soft); display:flex; align-items:center; gap:7px; }
.lq-progress b { width:22px; height:22px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; color:var(--ink); flex-shrink:0; }
.lq-progress [aria-current] { color:var(--teal); font-weight:700; }
.lq-progress [aria-current] b { background:var(--lime); border-color:var(--lime); }
.lq-panel h3 { font-size:23px; line-height:1.3; margin:0 0 8px; color:var(--ink); }
.lq-panel h3:focus { outline:none; }
.lq-panel > p { font-size:13px; line-height:1.7; color:var(--ink-soft); margin:0 0 22px; }
.lq-choices { margin:0; padding:0; border:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lq-choices label { position:relative; cursor:pointer; }
.lq-choices input { position:absolute; opacity:0; width:1px; height:1px; }
.lq-choices span { border:1px solid #c5d2d7; background:#fafbf9; border-radius:10px; padding:14px; min-height:56px; display:flex; align-items:center; font-size:13px; color:var(--ink); line-height:1.4; }
.lq-choices input:checked + span { background:#edf5d2; border-color:#819a19; box-shadow:inset 0 0 0 1px #819a19; font-weight:700; }
.lq-choices input:focus-visible + span { outline:3px solid var(--teal); outline-offset:3px; }
.lq-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
.lq-field { min-width:0; margin-bottom:18px; }
.lq-fields .lq-field { margin-bottom:0; }
.lq-field label { display:block; font-size:12px; font-weight:700; color:var(--ink); line-height:1.5; margin-bottom:8px; }
.lq-field label small { font-weight:400; }
.lq-field input,.lq-field select,.lq-field textarea { box-sizing:border-box; width:100%; min-width:0; max-width:100%; padding:12px; border:1px solid #a7bac3; border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-size:14px; min-height:46px; }
.lq-field textarea { resize:vertical; }
.lq-fields + .lq-field { margin-top:18px; }
.lq-panel .lq-help { font-size:11px; line-height:1.65; margin:16px 0 0; color:var(--ink-soft); }
.lq-consent { display:flex; gap:10px; align-items:flex-start; font-size:11px; line-height:1.6; color:var(--ink); margin-top:18px; }
.lq-consent input { width:18px; height:18px; flex-shrink:0; margin-top:2px; accent-color:var(--teal); }
.lq-controls { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:24px; }
.lq-back { border:0; background:none; font:inherit; font-size:13px; color:var(--ink); cursor:pointer; padding:12px 8px; text-decoration:underline; }
.lq-next { margin-left:auto; white-space:normal; text-align:center; }
.lq-form button:disabled { opacity:.6; cursor:wait; }
.lq-error { font-size:13px; color:#8a2020; background:#fff1ee; border-radius:8px; padding:12px; margin-top:16px; }
.lq-result { border-top:1px solid var(--line); padding-top:20px; margin-top:20px; }
.lq-result p { font-size:14px; color:var(--ink); line-height:1.7; }
.lq-result small { display:block; margin-top:12px; font-size:11px; color:var(--ink-soft); line-height:1.6; }
.lq-summary { margin:0 0 20px; border:1px solid var(--line); border-radius:8px; background:#f5f8f2; padding:12px; }
.lq-summary summary { font-size:12px; color:var(--teal); cursor:pointer; font-weight:700; }
.lq-summary p { font-size:12px; line-height:1.7; margin:12px 0 0; overflow-wrap:anywhere; }
.lq-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:1000px) { .lead-layout { grid-template-columns:1fr; gap:24px; } .lead-intro { padding:0; } .lead-intro ol { display:flex; gap:24px; flex-wrap:wrap; } .lead-intro li { border:0; } }
@media(max-width:600px) { .lead-section { padding:32px 0; } .lq-form { padding:22px; border-radius:18px; } .lq-progress { gap:6px; } .lq-progress span { font-size:10px; gap:4px; } .lq-fields { grid-template-columns:1fr; gap:16px; } .lq-choices { gap:8px; } .lq-choices span { padding:12px; font-size:12px; min-height:62px; } .lq-panel h3 { font-size:21px; } .lq-next { font-size:13px; } .lead-intro ol { gap:0 18px; margin:16px 0; } }
