.pnf-wrap{max-width:720px;margin:0 auto;padding:30px 18px 60px;font-family:var(--font-sans)}
.pnf{background:var(--linen);border:1px solid var(--line-soft);border-radius:24px;padding:clamp(26px,4vw,44px);box-shadow:var(--shadow)}
.pnf-title{font-family:var(--font-display);color:var(--c-primary);font-size:clamp(27px,4.4vw,38px);font-weight:600;text-align:center;margin:0 0 8px;line-height:1.12;letter-spacing:-.01em}
.pnf-sub{text-align:center;color:var(--c-muted);font-size:15px;line-height:1.55;margin:0 auto 26px;max-width:46ch}
.pnf-progress{margin:0 0 26px}
.pnf-bar{display:block;height:5px;border-radius:999px;background:var(--line);overflow:hidden;margin-bottom:14px}
.pnf-bar__fill{display:block;height:100%;width:0;background:var(--verdant);border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1)}
.pnf-dots{list-style:none;display:flex;gap:8px;justify-content:space-between;margin:0;padding:0}
.pnf-dot{display:flex;align-items:center;gap:8px;color:var(--c-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;min-width:0}
.pnf-dot__n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ivory);border:1.5px solid var(--line);color:var(--c-muted);font-size:12px;flex:none;transition:.2s}
.pnf-dot.is-active{color:var(--c-primary)}
.pnf-dot.is-active .pnf-dot__n{background:var(--verdant);border-color:var(--verdant);color:var(--c-surface)}
.pnf-dot.is-done .pnf-dot__n{background:var(--copper);border-color:var(--copper);color:var(--c-text)}
.pnf-dot__l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:560px){.pnf-dot__l{display:none}.pnf-dots{justify-content:flex-start;gap:14px}}
.pnf-step[hidden]{display:none}
.pnf-legend{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--verdant-deep);margin:0 0 16px}
.pnf-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px;align-items:start}
.pnf-f{display:flex;flex-direction:column;min-width:0}
.pnf-f.col-2{grid-column:1/-1}
.pnf-lab{display:flex;align-items:flex-end;flex-wrap:wrap;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--verdant-deep);margin-bottom:10px;min-height:2.5em;line-height:1.3}
.pnf-lab .req{color:var(--coral);margin-left:3px}
.pnf-in,.pnf-sel,.pnf-ta{width:100%;padding:14px 16px;background:var(--ivory);border:1px solid var(--line);border-radius:12px;font-family:var(--font-sans);font-size:.96rem;color:var(--ink);transition:border-color .2s,box-shadow .2s;outline:0}
.pnf-in::placeholder,.pnf-ta::placeholder{color:var(--muted-soft)}
.pnf-ta{min-height:120px;resize:vertical}
.pnf-selwrap{position:relative}
.pnf-selwrap::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-65%) rotate(45deg);pointer-events:none}
.pnf-sel{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer}
.pnf-sel:invalid{color:var(--muted-soft)}
.pnf-in:focus,.pnf-sel:focus,.pnf-ta:focus{border-color:var(--verdant);box-shadow:0 0 0 3px color-mix(in srgb,var(--verdant) 14%,transparent)}
.pnf-f.is-invalid .pnf-in,.pnf-f.is-invalid .pnf-sel,.pnf-f.is-invalid .pnf-ta{border-color:var(--coral);box-shadow:0 0 0 3px color-mix(in srgb,var(--coral) 16%,transparent)}
.pnf-choices{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:2px}
.pnf-opt{display:flex;align-items:center;gap:10px;font-size:.96rem;color:var(--ink);cursor:pointer}
.pnf-opt input{width:18px;height:18px;accent-color:var(--verdant);flex:none;cursor:pointer}
.pnf-f.is-invalid .pnf-choices{outline:1.5px solid color-mix(in srgb,var(--coral) 50%,transparent);outline-offset:8px;border-radius:10px}
.pnf-consent{display:flex;gap:12px;align-items:flex-start;background:var(--ivory);border:1px solid var(--line);border-radius:14px;padding:15px 16px;cursor:pointer}
.pnf-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--verdant);flex:none;cursor:pointer}
.pnf-consent span{font-size:.82rem;line-height:1.6;color:var(--muted)}
.pnf-consent a{color:var(--coral);font-weight:600}
.pnf-f.is-invalid .pnf-consent{border-color:color-mix(in srgb,var(--coral) 55%,var(--line))}
.pnf-captcha{display:flex;align-items:center;gap:12px;width:300px;max-width:100%;background:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--muted);font-size:.9rem}
.pnf-captcha__box{width:26px;height:26px;border:2px solid var(--line);border-radius:4px;flex:none}
.pnf-captcha__r{margin-left:auto;text-align:center;font-size:9px;color:var(--muted-soft);line-height:1.15}
.pnf-foot{display:flex;align-items:center;gap:14px;margin-top:28px}
.pnf-foot[hidden]{display:none}
.pnf-btn{font-family:var(--font-sans);font-size:.95rem;font-weight:500;border-radius:50px;padding:15px 32px;cursor:pointer;border:1px solid transparent;transition:all .3s ease}
.pnf-btn--ghost{background:transparent;color:var(--muted);border-color:var(--line)}
.pnf-btn--ghost:hover{color:var(--ink);border-color:var(--muted)}
.pnf-btn--brand{background:var(--c-primary);color:var(--c-surface);margin-left:auto}
.pnf-btn--brand:hover{background:var(--c-primary-deep);transform:translateY(-1px);box-shadow:0 12px 30px -8px color-mix(in srgb,var(--verdant) 45%,transparent)}
.pnf-done[hidden]{display:none}
.pnf-done{text-align:center;padding:36px 12px}
.pnf-done__ic{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:color-mix(in srgb,var(--verdant) 12%,transparent);color:var(--verdant);font-size:30px}
.pnf-done h2{font-family:var(--font-display);color:var(--c-primary);margin:0 0 8px;font-size:1.6rem;font-weight:600}
.pnf-done p{color:var(--muted);margin:0 auto;max-width:42ch}
@media(max-width:560px){.pnf-grid{grid-template-columns:1fr}}