.bfsq{--wine:#780822;--ink:#292323;--muted:#655f5b;--border:#e9e3df;background:#faf9f7;color:var(--ink);padding:clamp(40px,7vw,90px) 20px;font:400 15px/1.7 "Montserrat",Arial,sans-serif}
.bfsq *,.bfsq *::before,.bfsq *::after{box-sizing:border-box}
.bfsq [hidden]{display:none!important}
.bfsq .bq-wrap{max-width:800px;margin:auto}
.bfsq .bq-intro{max-width:620px;margin:0 auto 36px;text-align:center}
.bfsq .bq-eyebrow{margin:0 0 14px;color:var(--wine);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.bfsq h2,.bfsq h3{color:var(--ink);font-family:"Playfair Display",Georgia,serif;font-weight:400;letter-spacing:-.025em;line-height:1.15}
.bfsq h2{margin:0 0 18px;font-size:clamp(36px,5vw,50px)}
.bfsq .bq-intro>p:last-child{margin:0;color:var(--muted)}
.bfsq .bq-card{padding:clamp(24px,5vw,48px);background:#fff;border:1px solid var(--border);border-radius:24px}
.bfsq .bq-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--muted);font-size:12px}
.bfsq progress{display:block;appearance:none;width:100%;height:5px;overflow:hidden;border:0;border-radius:99px;background:#f5efed;color:var(--wine)}
.bfsq progress::-webkit-progress-bar{background:#f5efed}
.bfsq progress::-webkit-progress-value{background:var(--wine);border-radius:99px}
.bfsq progress::-moz-progress-bar{background:var(--wine);border-radius:99px}
.bfsq .bq-steps>section{margin-top:32px}
.bfsq h3{margin:0 0 10px;font-size:clamp(28px,4vw,34px);scroll-margin-top:110px}
.bfsq .bq-help{margin:0 0 28px;color:var(--muted);font-size:13px}
.bfsq .bq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.bfsq .bq-wide{grid-column:1/-1}
.bfsq label{display:block;margin:0;color:var(--ink);font-size:13px;font-weight:500}
.bfsq label small{color:var(--muted);font-size:11px;font-weight:400}
.bfsq input:not([type=checkbox]),.bfsq select,.bfsq textarea{display:block;width:100%;min-width:0;min-height:52px;margin:9px 0 0;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:#faf9f7;color:var(--ink);font:400 16px/1.5 "Montserrat",Arial,sans-serif;box-shadow:none}
.bfsq textarea{min-height:125px;resize:vertical}
.bfsq input:focus,.bfsq select:focus,.bfsq textarea:focus{border-color:var(--wine);outline:2px solid #f5efed;outline-offset:2px;background:#fff}
.bfsq button:focus-visible,.bfsq a:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.bfsq .bq-actions{display:flex;justify-content:space-between;gap:14px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.bfsq button{appearance:none;min-height:50px;padding:13px 28px;border:1px solid var(--wine);border-radius:999px;background:var(--wine);color:#fff;font:500 13px/1.5 "Montserrat",Arial,sans-serif;cursor:pointer;text-transform:none;letter-spacing:0}
.bfsq button:hover{background:#5e071b}
.bfsq button:disabled{opacity:.6;cursor:wait}
.bfsq .bq-back{background:transparent;border-color:var(--border);color:var(--ink)}
.bfsq .bq-back:hover{background:#faf9f7}
.bfsq .bq-next{margin-left:auto}
.bfsq .bq-note{margin:18px 0 0;color:var(--muted);font-size:11px;text-align:center}
.bfsq .bq-review{margin:0 0 26px}
.bfsq .bq-review>div{padding:14px 0;border-bottom:1px solid var(--border)}
.bfsq dt{margin-bottom:4px;color:var(--muted);font-size:12px}
.bfsq dd{margin:0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}
.bfsq .bq-consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;font-weight:400}
.bfsq .bq-consent input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;accent-color:var(--wine)}
.bfsq a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.bfsq .bq-done{padding:30px 0;text-align:center}
.bfsq .bq-done p{color:var(--muted)}
.bfsq .bq-error{margin-top:24px;padding:15px;background:#f5efed;border-radius:12px;color:var(--wine);font-size:13px}
.bfsq .bq-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.bfsq{padding:40px 16px}.bfsq .bq-card{padding:26px 20px;border-radius:20px}.bfsq .bq-grid{grid-template-columns:minmax(0,1fr);gap:20px}.bfsq .bq-actions button{padding-inline:20px}}

.bfsq .bq-marketing{margin-top:18px}
