/* V3.1 SVG arrows: keep the existing font sizes and animated span wrappers.
   Absolutely positioned paths cannot increase the CTA's existing line box. */
.bs-site .bs-arrow-slot{position:relative;width:1em;height:1em;vertical-align:-.125em}
.bs-site .bs-arrow-slot:not(.tab-arrow):not(.option-arrow){display:inline-block}
.bs-site .button>.bs-arrow-slot{height:16px}
.bs-site .bs-arrow{position:absolute;left:0;top:50%;display:block;width:1em;height:1em;transform:translateY(-50%);pointer-events:none}
/* V3.1 only: four roof points and the approved inline form composition. */
.bs-site[data-bs-section=roof] .hotspot-four{left:22%;top:84%}
.bs-site[data-bs-section=roof] .roof-copy{min-height:200px}
.bs-site[data-bs-section=contact] .bs-lead-preview input{color:var(--ink)}
.bs-site[data-bs-section=contact] .bs-lead-preview .bs-preview-notice{font-size:12px;line-height:1.6;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted)}
.bs-site[data-bs-section=contact] .bs-lead-preview .button{width:100%;justify-content:space-between}
.bs-site[data-bs-section=contact] .bs-lead-preview .button[aria-disabled=true]{cursor:not-allowed}
.bs-site[data-bs-section=contact] .bs-lead-preview .bs-preview-result{font-size:13px;line-height:1.6;margin-top:16px;color:var(--ink)}
.bs-site[data-bs-section=contact] .bs-lead-preview input[aria-invalid=true]{border-bottom-color:var(--red)}
@media(max-width:600px){
 .bs-site[data-bs-section=roof] .roof-study .hotspot{display:grid;width:44px;height:44px}
 .bs-site[data-bs-section=roof] .roof-editorial{display:flex;padding-right:0}
 .bs-site[data-bs-section=roof] .roof-copy{min-height:0;padding-right:0}
 .bs-site[data-bs-section=roof] .roof-options{margin-bottom:22px}
 .bs-site[data-bs-section=roof] .roof-options button{min-height:66px}
 .bs-site[data-bs-section=roof] .roof-option-label{min-width:0}
 .bs-site[data-bs-section=roof] .roof-option-label small{display:none}
 .bs-site[data-bs-section=roof] .roof-copy h3{font-size:28px;max-width:none}
 .bs-site[data-bs-section=roof] .large-index{position:static;font-size:30px;margin:0 0 12px}
 .bs-site[data-bs-section=roof] .editorial-footnote{font-size:12px;line-height:1.7;max-width:none}
}
/* Native form state feedback only; the approved card and field geometry stay intact. */
.bs-site[data-bs-section=contact] .bs-field-error{display:block;font-size:12px;line-height:1.5;color:var(--red);margin:-10px 0 18px}
.bs-site[data-bs-section=contact] .bs-lead-preview .button:disabled{cursor:not-allowed}
