.f-wrap{max-width:72rem;margin:0 auto;padding:56px 16px 80px;display:grid;gap:40px}
@media(min-width:960px){.f-wrap{grid-template-columns:5fr 7fr;padding:80px 24px 96px;gap:56px}}
.f-intro p.lead{margin-top:20px;color:var(--color-muted);font-size:17px;line-height:1.65;max-width:34rem}
.f-points{margin-top:28px;display:grid;gap:10px;font-size:14px;color:var(--color-muted)}
.f-points li{display:flex;gap:10px;align-items:flex-start}.f-points li:before{content:"";flex:none;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--color-accent)}
.f-card{border-radius:16px;background:var(--color-surface);padding:24px;box-shadow:0 0 0 1px var(--color-border)}
@media(min-width:640px){.f-card{padding:32px}}
.f-field{margin-top:22px}.f-field:first-child{margin-top:0}
.f-label{display:block;font-size:14px;font-weight:500;color:var(--color-fg)}
.f-label .opt{font-weight:400;color:var(--color-faint);margin-left:6px}
.f-hint{margin-top:4px;font-size:12px;color:var(--color-faint)}
.f-input{margin-top:8px;width:100%;height:48px;padding:0 14px;border-radius:10px;background:var(--color-bg);color:var(--color-fg);border:1px solid #f3f1ec26;font:inherit;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}
textarea.f-input{height:auto;min-height:110px;padding:12px 14px;resize:vertical;line-height:1.5}
.f-input:focus{border-color:#b8bcc2;box-shadow:0 0 0 3px #b8bcc233}
.f-input::placeholder{color:#8c8f94}
.f-choices{margin-top:8px;display:grid;gap:10px}
.f-choices.two{grid-template-columns:1fr 1fr}
.f-choice{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:var(--color-bg);border:1px solid #f3f1ec26;cursor:pointer;transition:border-color .15s,background .15s}
.f-choice:hover{border-color:#f3f1ec55}
.f-choice input{position:absolute;opacity:0;pointer-events:none}
.f-choice .dot{flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;border:2px solid #8c8f94;transition:.15s}
.f-choice:has(input:checked){border-color:#b8bcc2;background:#b8bcc214}
.f-choice:has(input:checked) .dot{border-color:#b8bcc2;box-shadow:inset 0 0 0 4px var(--color-bg);background:#b8bcc2}
.f-choice:has(input:focus-visible){box-shadow:0 0 0 3px #b8bcc255}
.f-choice .t{font-size:15px;font-weight:500;color:var(--color-fg)}.f-choice .d{display:block;margin-top:2px;font-size:13px;color:var(--color-muted)}
.f-note{margin-top:10px;font-size:12px;line-height:1.55;color:var(--color-faint)}
.f-err{display:none;margin-top:6px;font-size:13px;color:#f2a7a7}
.f-field.invalid .f-err{display:block}.f-field.invalid .f-input,.f-field.invalid .f-choice{border-color:#e07a7a}
.f-alert{display:none;margin-bottom:20px;padding:12px 14px;border-radius:10px;background:#e07a7a1f;border:1px solid #e07a7a66;color:#f6caca;font-size:14px;line-height:1.5}
.f-alert.show{display:block}
.f-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.f-ts{margin-top:22px;min-height:65px}
.f-submit{margin-top:22px;width:100%;height:52px;border:0;border-radius:10px;background:var(--color-primary);color:var(--color-primary-fg);font:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:transform .15s,opacity .15s}
.f-submit:hover{background:#fff}.f-submit:active{transform:scale(.98)}.f-submit[disabled]{opacity:.55;cursor:wait}
.f-small{margin-top:14px;font-size:12px;line-height:1.55;color:var(--color-faint);text-align:center}
.f-small a,.f-intro a,.f-card a{color:var(--color-fg);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#b8bcc266}
.f-noscript{margin-bottom:18px;padding:12px 14px;border-radius:10px;background:#b8bcc214;border:1px solid #b8bcc244;font-size:14px;color:var(--color-muted)}
.thanks{max-width:40rem;margin:0 auto;padding:96px 20px 120px;text-align:center}
.thanks .ic{width:56px;height:56px;margin:0 auto 22px;border-radius:14px;display:grid;place-items:center;background:#b8bcc21f;color:#b8bcc2}
.thanks p{margin-top:14px;color:var(--color-muted);line-height:1.65}
.thanks .row{margin-top:30px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn-p,.btn-g{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:10px;font-weight:500;font-size:15px}
.btn-p{background:var(--color-primary);color:var(--color-primary-fg)}.btn-g{color:var(--color-fg);box-shadow:0 0 0 1px var(--color-border)}
