/* Plan-ending 2027 contact opt-in form (shared by /medicare#contact-me and /plan-ending) */
.pf{max-width:640px;margin:0 auto;text-align:left;font-size:1.1rem}
.pf h2.t{text-align:center}
.pf .intro{text-align:center;color:var(--mut);margin:-8px 0 18px}
.pf form,.pf .done{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 6px 24px #3b2a1414}
.pf label.f,.pf legend{display:block;font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 6px;color:var(--ink)}
.pf .opt-l{font-weight:400;color:var(--mut);font-size:.95rem}
.pf input[type=text],.pf input[type=tel],.pf input[type=email],.pf select{box-sizing:border-box;width:100%;min-height:58px;font-size:1.15rem;padding:10px 14px;border:2px solid #b9b0a2;border-radius:10px;background:#fff;color:var(--ink);margin:0 0 16px;font-family:system-ui,-apple-system,sans-serif}
.pf input:focus,.pf select:focus{outline:3px solid #e8a33d;border-color:var(--g)}
.pf .row{display:grid;gap:0 14px}
@media(min-width:600px){.pf .row{grid-template-columns:1fr 1fr}}
.pf fieldset{border:0;margin:0 0 14px;padding:0}
.pf .opt{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border:2px solid var(--line);border-radius:10px;margin:0 0 8px;cursor:pointer;font-family:system-ui,sans-serif;font-size:1.08rem}
.pf .opt input,.pf .cons input{width:28px;height:28px;flex:none;accent-color:var(--g)}
.pf .opt:has(input:checked){border-color:var(--g);background:var(--g2)}
.pf .soa{background:var(--g2);border-radius:10px;padding:12px 16px;margin:0 0 16px;font-size:1rem}
.pf .cons{display:flex;gap:14px;align-items:flex-start;border:2px solid var(--line);border-radius:10px;padding:14px;margin:0 0 6px;cursor:pointer;font-size:1rem;line-height:1.55;background:#fffdf8}
.pf .cons input{margin-top:3px}
.pf .cons-note{font-size:.95rem;color:var(--mut);margin:0 0 16px}
.pf .tpmo{border:2px solid var(--line);border-left:6px solid var(--g);border-radius:10px;padding:12px 14px;margin:0 0 16px;background:#fffdf8;font-size:1rem}
.pf .err{color:#9b1c1c;font-family:system-ui,sans-serif;font-weight:700;min-height:1.2em;margin:-8px 0 12px}
.pf button.sub{width:100%;min-height:60px;font-size:1.2rem}
.pf .small{font-size:.95rem;color:var(--mut);margin:12px 0 0}
.pf .done h3{margin:0 0 8px;font-size:1.4rem;color:#17392e;font-family:system-ui,sans-serif}
.pf .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
