.bs-br-form { display: grid; gap: 1rem; max-width: 46rem; margin: 1.5rem 0; }
.bs-br-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.bs-br-form label { display: grid; gap: .3rem; font-weight: 600; font-size: .95rem; }
.bs-br-hint { font-weight: 400; font-size: .85rem; color: #4b5563; }
.bs-br-form input[type="text"],
.bs-br-form input[type="email"],
.bs-br-form input[type="url"],
.bs-br-form select,
.bs-br-form textarea { width: 100%; padding: .6rem .7rem; border: 1px solid #9ca3af; border-radius: .4rem; font: inherit; font-weight: 400; background: #fff; color: #111827; box-sizing: border-box; }
.bs-br-form input:focus-visible,
.bs-br-form select:focus-visible,
.bs-br-form textarea:focus-visible { outline: 3px solid #2563eb; outline-offset: 1px; }
.bs-br-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bs-br-form .bs-br-consent { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; }
.bs-br-submit { justify-self: start; padding: .75rem 1.6rem; border: 0; border-radius: .4rem; background: #1d4ed8; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.bs-br-submit:hover { background: #1e40af; }
.bs-br-submit:disabled { opacity: .6; cursor: wait; }
.bs-br-status { margin: 0; min-height: 1.4em; }
.bs-br-status.is-error { color: #b91c1c; }
.bs-br-status.is-ok { color: #166534; }
.bs-br-faq details { border-bottom: 1px solid #d1d5db; padding: .8rem 0; }
.bs-br-faq summary { cursor: pointer; font-weight: 600; }
.bs-br-faq p { margin: .6rem 0 0; }
@media (max-width: 640px) { .bs-br-row { grid-template-columns: 1fr; } }
.bs-br-lead { font-size: 1.15rem; line-height: 1.6; max-width: 46rem; }
.bs-br-button { display: inline-block; padding: .75rem 1.6rem; border-radius: .4rem; background: #1d4ed8; color: #fff; font-weight: 700; text-decoration: none; }
.bs-br-button:hover { background: #1e40af; color: #fff; }
.bs-br-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin: 1rem 0; }
.bs-br-card { border: 1px solid #d1d5db; border-radius: .6rem; padding: 1.25rem; background: #fff; color: #111827; }
.bs-br-card h3 { margin-top: 0; }
.bs-br-price { font-weight: 700; font-size: 1.1rem; margin-bottom: 0; }
.bs-br-price span { font-weight: 400; font-size: .9rem; color: #4b5563; }
.bs-br-steps { padding-left: 1.2rem; }
.bs-br-steps li { margin-bottom: .6rem; }
@media (max-width: 640px) { .bs-br-cards { grid-template-columns: 1fr; } }
.bs-br-summary { margin: 1rem 0 0; padding: 1rem; border: 1px solid #d4d4d8; border-radius: 6px; text-align: left; }
.bs-br-summary h3 { margin: 0 0 .5rem; font-size: 1rem; }
.bs-br-summary dl { margin: 0; }
.bs-br-summary dt { font-weight: 600; margin-top: .6rem; }
.bs-br-summary dd { margin: .1rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
