/* Readable component headings and clear interactive destination tiles. */
.bc-hub :is(.bh-benefits,.bh-service-grid,.bh-process-grid) h3,
.bs-section :is(.bs-cards,.bs-benefit-grid) h3 {
 font-family:var(--bc-font-body,Arial,sans-serif);font-weight:700;letter-spacing:0;line-height:1.25;font-size:24px;
}
.bs-location-group li a,.bs-city-links a,.bs-neighborhoods a {
 display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 15px;background:#f6f6f1;border:1px solid #d5d5cf;border-bottom:3px solid #ffd300;color:#111;text-decoration:none!important;box-shadow:0 3px 12px #00000008;transition:transform .18s ease,background .18s ease,color .18s ease;
}
.bs-location-group li a:hover,.bs-location-group li a:focus-visible,.bs-city-links a:hover,.bs-neighborhoods a:hover {background:#ffd300;color:#111;transform:translateY(-3px);text-decoration:none!important;}
.bs-location-group li a span {display:none;}
.bs-location-group ul {gap:12px;}
.bs-location-group li {border:0;}
.bs-prose .bs-benefit-grid>div h3 {font-family:var(--bc-font-body,Arial,sans-serif);font-weight:700;letter-spacing:0;line-height:1.25;}
.bs-process-rows {display:grid;gap:20px;}
.bs-process-rows article {display:grid;grid-template-columns:82px minmax(0,1fr);gap:24px;align-items:start;background:#191919;border:1px solid #383838;padding:28px;}
.bs-process-rows h3 {font-family:var(--bc-font-body,Arial,sans-serif);font-weight:700;letter-spacing:0;font-size:28px;line-height:1.25;margin:0 0 12px;color:#fff;}
.bs-process-rows p {color:#eee;margin:0;font-size:18px;line-height:1.65;}
.bs-process-icon {display:flex;flex-direction:column;align-items:center;gap:10px;color:#ffd300;font-size:16px;font-weight:700;}
.bs-process-icon svg {width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:600px){.bs-process-rows article{grid-template-columns:48px minmax(0,1fr);gap:16px;padding:22px 16px}.bs-process-icon svg{width:38px;height:38px}.bs-process-rows h3{font-size:24px}.bs-location-group ul{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.bs-location-group li a,.bs-city-links a,.bs-neighborhoods a{transition:none;transform:none!important}}
.bh-benefits>div{position:relative}.bh-benefits h3 a::after{content:'';position:absolute;inset:0}.bh-benefits>div:has(a){transition:transform .18s ease,background .18s ease}.bh-benefits>div:has(a):hover{transform:translateY(-3px);background:#252525}

.bc31-linked-benefit{position:relative;transition:transform .18s ease,background .18s ease}.bc31-linked-benefit h3 a{text-decoration:none!important}.bc31-linked-benefit h3 a::after{content:"";position:absolute;inset:0}.bc31-linked-benefit:hover{transform:translateY(-3px);background:#252525}

/* Separate the exterior service row from the roofing cards above it. */
.bc-hub .bh-service-grid + .bc32-exterior-heading {margin-top:clamp(40px,5vw,64px);}

/* Location tiles retain readable text inside both light and dark sections. */
.bs-location-group li a,
.bc-location-directory .bs-location-group li a,
.bs-location-group li a:visited,
.bc-location-directory .bs-location-group li a:visited {
 color:#111!important;
}
.bs-location-group li a:hover,
.bs-location-group li a:focus-visible,
.bc-location-directory .bs-location-group li a:hover,
.bc-location-directory .bs-location-group li a:focus-visible {
 color:#111!important;
 background:#ffd300;
}

/* Match the desktop slide-out tab on phones; keep it clear of the chat launcher. */
@media(max-width:767px){
 html body #brw-tab{
  top:50%!important;bottom:auto!important;right:0!important;left:auto!important;
  writing-mode:vertical-rl!important;text-orientation:mixed;
  transform:translateY(-50%)!important;height:auto!important;width:40px!important;
  padding:16px 10px!important;font-size:11px!important;
  border-radius:10px 0 0 10px!important;border:2px solid #14120d!important;border-right:0!important;
 }
}

/* Local office card phone uses the approved CallRail swap target. */
:is(.bs-office-card,.bh-office-card) .bs-office-phone{margin:16px 0 0;}
:is(.bs-office-card,.bh-office-card) .bs-office-phone a{display:inline-block;font-family:var(--bc-font-body,Arial,sans-serif);font-weight:700;font-size:20px;line-height:1.35;letter-spacing:0;color:#111!important;text-decoration:none!important;border-bottom:2px solid #ffd300;padding:3px 0;}
:is(.bs-office-card,.bh-office-card) .bs-office-phone a:hover,:is(.bs-office-card,.bh-office-card) .bs-office-phone a:focus-visible{background:#ffd300;color:#111!important;}
