.pf{max-width:640px;margin:0 auto;padding:24px 16px 96px}
.pf .bar{height:6px;background:var(--line,#D5DCE5);border-radius:99px;overflow:hidden;margin:0 0 8px}.pf .bar i{display:block;height:100%;background:var(--accent);width:20%;transition:width .2s}
.pf .stepno{font-size:.85rem;margin:0 0 16px}
.pf fieldset{border:0;padding:0;margin:0 0 24px}.pf legend{color:var(--ink);font-weight:500;margin:0 0 8px;font-size:1.05rem}
.pf .hint{font-size:.85rem;margin:-4px 0 8px}
.pf input[type=text],.pf input[type=email],.pf input[type=tel],.pf textarea{width:100%;box-sizing:border-box;font:inherit;padding:12px 14px;border:1px solid var(--silver,#C9D1DC);border-radius:var(--r);background:#fff;color:var(--ink);margin:0 0 8px}
.pf .opt{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line,#D5DCE5);border-radius:var(--r);padding:14px;margin:0 0 8px;cursor:pointer;color:var(--ink)}
.pf .opt input{margin-top:4px;width:20px;height:20px;flex:none;accent-color:var(--accent)}
.pf .opt:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.pf .opt small{display:block;color:var(--body)}
.pf .nav2{display:flex;gap:12px;position:sticky;bottom:0;z-index:6;background:var(--paper);padding:12px 0;border-top:1px solid var(--line,#D5DCE5)}.pf .nav2 .btn{flex:1;text-align:center;border:0;font:500 1rem Inter,sans-serif;cursor:pointer;margin:0;min-height:48px}
@media(max-width:640px){.pf section[data-step]{padding-bottom:80px}}
.pf .err{color:#B91C1C;min-height:1.4em;font-size:.95rem}
.pf .result{background:#fff;border:2px solid var(--accent);border-radius:var(--r);padding:24px}
.pf .result .price{margin:0}
.pf .hp{position:absolute;left:-9999px}
