    .modal-overlay{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(45,19,55,.52);overflow:auto}
    .modal-overlay.open{display:flex}
    .modal{position:relative;width:min(660px,100%);max-height:calc(100dvh - 30px);overflow:auto;padding:34px;border-radius:28px;background:#fff;box-shadow:0 30px 90px rgba(50,20,60,.25)}
    .modal-close{position:absolute;right:19px;top:18px;width:38px;height:38px;border:0;border-radius:50%;background:var(--pink-soft);color:var(--pink-dark);cursor:pointer}
    .modal h2{padding-right:44px;font-size:32px;letter-spacing:-.04em}
    .modal-sub{margin:10px 0 22px;color:var(--muted);line-height:1.5}
    .audience-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:24px;padding:5px;border-radius:14px;background:#f5f1f6}
    .audience-option{min-height:40px;border:0;border-radius:10px;background:transparent;color:#6c6570;font-size:12px;font-weight:800;cursor:pointer}
    .audience-option.active{background:#fff;color:var(--pink-dark);box-shadow:0 3px 12px rgba(62,35,68,.08)}
    .field{margin-bottom:15px}
    .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .field label{display:block;margin-bottom:7px;font-size:12px;font-weight:800}
    .field .optional{font-weight:500;color:#98909b}
    .field input,.field select,.field textarea{width:100%;border:1px solid #ddd6df;border-radius:12px;background:#fff;padding:13px 14px;color:var(--ink);outline:0}
    .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(111,44,255,.1)}
    .cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
    .cat-chip{padding:10px;border:1px solid #ddd6df;border-radius:11px;font-size:11px;font-weight:700;cursor:pointer}
    .cat-chip:has(input:checked){border-color:var(--pink);background:var(--pink-soft);color:var(--pink-dark)}
    .cat-chip input{width:auto;margin-right:5px}
    .err{display:none;margin-top:5px;color:#c8254e;font-size:11px}
    .field.invalid .err{display:block}
    .field.invalid input,.field.invalid select{border-color:#c8254e}
    .audience-hidden{display:none!important}
    .submit{width:100%;margin-top:5px}
    .fineprint{margin-top:12px;text-align:center;color:#98909b;font-size:10px}
    .thanks{display:none;text-align:center;padding:30px 8px}
    .thanks-icon{width:62px;height:62px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--pink-soft);color:var(--pink-dark);font-size:25px;font-weight:900}
    .thanks p{margin:12px 0 22px;color:var(--muted);line-height:1.5}

