.kdf-wrap{max-width:760px;margin:0 auto;font-size:16px;line-height:1.5;color:#1f2933}
.kdf-wrap *{box-sizing:border-box}
.kdf-intro{margin:0 0 24px}
.kdf-section{border:0;padding:0;margin:0 0 28px}
.kdf-section[hidden],.kdf-other[hidden],.kdf-success[hidden]{display:none}
.kdf-title{font-size:17px;font-weight:600;margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid #dfe3e8}
.kdf-title small{font-weight:400;font-size:12px;color:#6b7280;margin-left:4px}
.kdf-grid{display:flex;flex-wrap:wrap;gap:20px 24px}
.kdf-full{flex:1 1 100%}
.kdf-half{flex:1 1 calc(50% - 12px);min-width:240px}
.kdf-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.kdf-req{color:#c0392b}
.kdf-field input[type=text],.kdf-field input[type=email],.kdf-field input[type=tel],.kdf-field textarea{width:100%;padding:11px 12px;border:1px solid #d5dae1;border-radius:4px;background:#fff;font:inherit;color:inherit}
.kdf-field input:focus,.kdf-field textarea:focus{outline:2px solid #1b6ec2;outline-offset:0;border-color:#1b6ec2}
.kdf-options{display:flex;flex-wrap:wrap;gap:10px}
.kdf-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid #d5dae1;border-radius:999px;font-size:14px;cursor:pointer;background:#fff;margin:0;font-weight:400}
.kdf-pill input{margin:0;accent-color:#1b6ec2}
.kdf-pill:hover{border-color:#1b6ec2}
.kdf-pill:has(input:checked){border-color:#1b6ec2;background:#eaf3fc}
.kdf-other{margin-top:14px}
.kdf-error{color:#c0392b;font-size:13px;margin-top:6px;min-height:0}
.kdf-error:empty{display:none}
.kdf-field.kdf-invalid input[type=text],.kdf-field.kdf-invalid input[type=email],.kdf-field.kdf-invalid textarea{border-color:#c0392b}
.kdf-captcha{margin:8px 0 18px}
.kdf-submit{background:#1b6ec2;color:#fff;border:0;border-radius:3px;padding:13px 26px;font:inherit;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}
.kdf-submit:hover{background:#155ba3}
.kdf-submit[disabled]{opacity:.6;cursor:wait}
.kdf-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.kdf-success{padding:22px;border:1px solid #b7e0c2;background:#eef9f1;border-radius:6px;font-size:17px}
@media(max-width:600px){.kdf-half{flex-basis:100%}}
