.plfm-wrap{max-width:720px;margin:1.5em 0;font-size:16px;line-height:1.5;box-sizing:border-box}
.plfm-wrap *,.plfm-wrap *::before,.plfm-wrap *::after{box-sizing:border-box}
.plfm-fields{display:flex;flex-direction:column;gap:1.1em}
.plfm-field{position:relative}
.plfm-label{display:block;font-weight:600;margin-bottom:.35em}
.plfm-req{color:#d63638;margin-left:2px}
.plfm-form input[type=text],.plfm-form input[type=email],.plfm-form input[type=tel],.plfm-form input[type=url],.plfm-form input[type=number],.plfm-form input[type=date],.plfm-form input[type=time],.plfm-form select,.plfm-form textarea{width:100%;padding:.6em .75em;border:1px solid #8c8f94;border-radius:4px;background:#fff;color:inherit;font:inherit;max-width:100%}
.plfm-form input:focus,.plfm-form select:focus,.plfm-form textarea:focus{outline:2px solid #2271b1;outline-offset:1px;border-color:#2271b1}
.plfm-choices{display:flex;flex-direction:column;gap:.4em}
.plfm-choice{display:flex;align-items:flex-start;gap:.5em;font-weight:400;cursor:pointer}
.plfm-choice input{margin-top:.3em}
.plfm-name-row{display:flex;gap:.75em}
.plfm-name-part{flex:1;display:flex;flex-direction:column}
.plfm-sublabel{font-size:.8em;color:#50575e;margin-top:.2em}
.plfm-desc{font-size:.85em;color:#50575e;margin-top:.3em}
.plfm-field-error{color:#d63638;font-size:.85em;margin-top:.3em;min-height:0}
.plfm-field-error:empty{display:none}
.plfm-has-error input,.plfm-has-error select,.plfm-has-error textarea{border-color:#d63638}
.plfm-error-banner{background:#fcf0f1;border-left:4px solid #d63638;padding:.7em 1em;margin-bottom:1em;border-radius:2px}
.plfm-confirmation{background:#edfaef;border-left:4px solid #00a32a;padding:1em 1.2em;border-radius:2px}
.plfm-actions{margin-top:1.2em}
.plfm-submit{background:#2271b1;color:#fff;border:0;border-radius:4px;padding:.7em 1.6em;font:inherit;font-weight:600;cursor:pointer}
.plfm-submit:hover{background:#135e96}
.plfm-submit:disabled{opacity:.6;cursor:wait}
.plfm-hp{position:absolute!important;left:-10000px!important;height:1px;width:1px;overflow:hidden}
.plfm-notice{padding:.6em 1em;background:#fff8e5;border-left:4px solid #dba617}
@media (max-width:480px){.plfm-name-row{flex-direction:column}}
