.bsb-name-check { margin-top:56px; padding:clamp(24px,3vw,52px); background:#fff; border:1px solid #e4eaf3; border-radius:14px; box-shadow:0 8px 28px #233c6210; scroll-margin-top:12px; }
.bsb-name-heading { display:flex; align-items:center; justify-content:space-between; gap:24px 48px; margin-bottom:30px; padding-bottom:26px; border-bottom:1px solid #e7ecf3; text-align:left; }
.bsb-name-heading h2 { font-size:var(--bsb-heading-title); line-height:1.3; color:#203855; margin-top:10px; }
.bsb-name-heading-description { font-size:var(--bsb-small-size); color:#7b8799; line-height:1.9; margin:0; }
.bsb-name-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 28px; }
.bsb-name-fields > label,.bsb-name-alternatives legend { display:block; color:#294363; font-size:var(--bsb-body-size); font-weight:500; }
.bsb-name-fields label > span,.bsb-name-alternatives legend span { margin-left:8px; color:#bd7542; font-size:12px; font-weight:400; }
.bsb-name-fields label > .bsb-name-optional,.bsb-name-alternatives legend span { color:#8594a7; }
.bsb-name-check input,.bsb-name-check select,.bsb-name-check textarea { display:block; box-sizing:border-box; width:100%; min-width:0; margin-top:10px; border:1px solid #dce5f0; border-radius:6px; padding:12px 14px; background:#f7f9fd; color:#333; font:inherit; font-size:15px; line-height:1.6; font-weight:400; }
.bsb-name-check input::placeholder,.bsb-name-check textarea::placeholder { color:#91a0b3; }
.bsb-name-check input:focus,.bsb-name-check select:focus,.bsb-name-check textarea:focus { outline:2px solid #437ac7; outline-offset:2px; background:#fff; }
.bsb-name-check textarea { resize:vertical; }
.bsb-name-input-unit { position:relative; }
.bsb-name-input-unit input { padding-right:66px; }
.bsb-name-input-unit > span { position:absolute; right:15px; top:13px; font-size:14px; color:#7b8da4; font-weight:400; }
.bsb-name-alternatives,.bsb-name-full { grid-column:1/-1; }
.bsb-name-alternatives { min-width:0; padding:0; border:0; margin:0; }
.bsb-name-alternatives > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.bsb-name-rules { margin-top:28px; padding:22px 26px; background:linear-gradient(125deg,#f0f5fc,#f8faff); border-radius:8px; color:#687e98; font-size:var(--bsb-small-size); line-height:1.9; }
.bsb-name-rules h3 { color:#294363; font-size:17px; margin-bottom:10px; }
.bsb-name-rules ol { padding-left:1.5em; margin:0; }
.bsb-name-rules > p { margin-top:10px; color:#8b98aa; font-size:12px; }
.bsb-name-submit { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:26px; }
.bsb-name-submit > div:first-child { max-width:52em; }
.bsb-name-submit p { font-size:14px; line-height:1.9; color:#8191a5; }
.bsb-name-actions { flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:12px; }
.bsb-name-actions button { cursor:pointer; font:inherit; }
.bsb-name-actions .bsb-button { border:0; white-space:nowrap; }
.bsb-name-status { color:#385d90; font-size:14px; line-height:1.8; }
.bsb-name-status:not(:empty) { padding:16px 0 0; }
.bsb-name-check .bsb-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:768px) {
 .bsb-name-check { margin-top:28px; padding:22px 18px; scroll-margin-top:8px; }
 .bsb-name-heading { flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:22px; padding-bottom:20px; }
 .bsb-name-heading h2 { font-size:25px; margin-top:8px; }
 .bsb-name-heading-description { font-size:13px; }
 .bsb-name-fields { grid-template-columns:minmax(0,1fr); gap:18px; }
 .bsb-name-fields > label,.bsb-name-alternatives legend { font-size:14px; }
 .bsb-name-check input,.bsb-name-check select,.bsb-name-check textarea { font-size:16px; margin-top:8px; padding:11px 12px; }
 .bsb-name-input-unit input { padding-right:60px; }
 .bsb-name-alternatives > div { grid-template-columns:minmax(0,1fr); gap:3px; }
 .bsb-name-alternatives legend span { display:block; margin:5px 0 0; }
 .bsb-name-rules { padding:18px 16px; margin-top:22px; font-size:13px; }
 .bsb-name-rules h3 { font-size:16px; }
 .bsb-name-submit { flex-direction:column; align-items:stretch; gap:18px; margin-top:20px; }
 .bsb-name-actions .bsb-button { width:100%; justify-content:center; }
 .bsb-name-actions { align-items:stretch; }
}

#bsb-contact-details, #bsb-contact-location { scroll-margin-top:12px; }
@media(max-width:768px) { #bsb-contact-details, #bsb-contact-location { scroll-margin-top:8px; } }

/* Avoid smooth fragment scrolling racing with scroll-animation measurements. */
html.bsb-contact-anchors { scroll-behavior:auto; }

.bsb-name-page-section .bsb-name-check { margin-top:0; }

/* Fluid type sizes across tablet, desktop and large displays. */
@media(min-width:769px) {
 .bsb-name-check { --bsb-name-text:clamp(16px,calc(.833333vw + 3px),22px); --bsb-name-note:clamp(13px,calc(.75vw + 3.5px),20px); --bsb-name-caption:clamp(12px,calc(.625vw + 3px),17px); }
 .bsb-name-fields > label,.bsb-name-alternatives legend { font-size:var(--bsb-name-text); }
 .bsb-name-check input,.bsb-name-check select,.bsb-name-check textarea { font-size:var(--bsb-name-text); padding:clamp(12px,.8vw,16px) clamp(14px,1vw,20px); }
 .bsb-name-fields label > span,.bsb-name-alternatives legend span,.bsb-name-rules > p { font-size:var(--bsb-name-caption); }
 .bsb-name-heading-description,.bsb-name-rules { font-size:clamp(13px,calc(.75vw + 2.3px),19px); }
 .bsb-name-rules h3 { font-size:clamp(17px,calc(.9vw + 4px),24px); }
 .bsb-name-submit p,.bsb-name-status,.bsb-name-input-unit > span { font-size:var(--bsb-name-note); }
 .bsb-name-input-unit > span { top:50%; transform:translateY(-50%); right:18px; }
 .bsb-name-input-unit input { padding-right:80px; }
 .bsb-name-actions .bsb-button { font-size:clamp(16px,calc(.9vw + 3px),22px); }
 .bsb-name-submit > div:first-child { max-width:64em; }
 .bsb-name-fields { gap:clamp(20px,1.5vw,30px) clamp(22px,1.8vw,36px); }
}
@media(max-width:768px) {
 .bsb-name-fields > label,.bsb-name-alternatives legend { font-size:clamp(14px,calc(.28vw + 13px),15px); }
 .bsb-name-heading-description,.bsb-name-rules { font-size:clamp(13px,calc(.28vw + 12px),14px); }
 .bsb-name-submit p,.bsb-name-status { font-size:clamp(13px,calc(.28vw + 12px),14px); }
 .bsb-name-input-unit > span { top:50%; transform:translateY(-50%); }
}
