/* =============================================================
   Houston Water Damage Restoration Pros — Houston, TX
   Design: Clean Professional / High-Contrast — Character Pass
   Prefix: bw- (bluebonnet-water)
   Palette: off-white #F8FAFD + blue #0F5BA9 + orange #C24810
   Fonts: Bricolage Grotesque (headings) + Figtree (body)
   ============================================================= */

/* ── Nav ─────────────────────────────────────────────────── */
.bw-nav{display:flex;align-items:center;gap:2px;flex:1;margin-left:16px;}
.bw-nav-link{
  font-family:var(--font-body);font-weight:500;font-size:.9rem;
  color:var(--c-ink);padding:8px 12px;border-radius:var(--r-sm);
  white-space:nowrap;
  transition:color .15s ease,background .15s ease;
}
.bw-nav-link:hover{color:var(--c-primary);background:var(--c-bg-alt);}
.bw-nav-link:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;}
.bw-nav-link[aria-current="page"]{color:var(--c-primary);font-weight:600;}

.bw-header-right{margin-left:auto;display:flex;align-items:center;gap:12px;}
.bw-header-phone{
  display:flex;align-items:center;gap:6px;
  font-family:var(--font-body);font-weight:700;font-size:1rem;
  color:var(--c-primary);white-space:nowrap;
}
.bw-header-phone svg{width:17px;height:17px;flex-shrink:0;}
.bw-header-phone:hover{color:var(--c-primary-dark);}
.bw-header-phone:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:4px;}
.bw-header-cta{
  background:var(--c-accent);color:#fff;
  padding:9px 18px;border-radius:var(--r-sm);
  font-family:var(--font-body);font-weight:600;font-size:.88rem;
  min-height:40px;touch-action:manipulation;white-space:nowrap;
  transition:background .15s ease,transform .15s ease;
}
.bw-header-cta:hover{background:var(--c-accent-dark);transform:translateY(-1px);}
.bw-header-cta:active{transform:translateY(0);}
.bw-header-cta:focus-visible{outline:3px solid var(--c-accent-dark);outline-offset:3px;}

/* ── Hamburger ── */
.bw-burger{
  display:none;flex-direction:column;gap:5px;align-items:center;justify-content:center;
  width:44px;height:44px;flex-shrink:0;border-radius:var(--r-sm);margin-left:auto;
}
.bw-burger span{display:block;width:22px;height:2px;background:var(--c-ink);border-radius:2px;transition:transform .25s ease,opacity .25s ease;}
.bw-burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.bw-burger.active span:nth-child(2){opacity:0;}
.bw-burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.bw-burger:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;}

/* ── Mobile nav ── */
.bw-nav-mobile{
  display:none;position:fixed;top:64px;left:0;right:0;bottom:0;
  background:#fff;z-index:998;padding:20px;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.bw-nav-mobile.active{display:block;}
.bw-nav-mobile a{
  display:block;padding:14px 0;font-size:1.05rem;font-weight:500;
  color:var(--c-ink);border-bottom:1px solid var(--c-border);
}
.bw-nav-mobile a:hover{color:var(--c-primary);}
.bw-nav-mobile a:last-of-type{border-bottom:none;}
.bw-mnav-cta{padding-top:20px;}
.bw-mnav-cta .bw-btn-call{width:100%;font-size:1.05rem;padding:15px 28px;}
.bw-mnav-cta .bw-btn-call svg{width:18px;height:18px;flex-shrink:0;}
a.bw-btn-call,a.bw-btn-call:visited{color:#fff;}

/* ── Services — editorial numbered list ─────────────────────── */
.bw-services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--c-border);
  border:1px solid var(--c-border);
  border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.bw-svc-card{
  display:block;padding:28px 26px 24px;
  background:var(--c-bg);
  transition:background .18s ease;
  text-decoration:none;position:relative;
}
.bw-svc-card:hover{background:var(--c-bg-alt);}
.bw-svc-card:active{background:var(--c-bg-alt);}
.bw-svc-card:focus-visible{outline:3px solid var(--c-accent);outline-offset:-3px;z-index:1;}

.bw-svc-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:var(--r-sm);
  background:var(--c-bg-alt);color:var(--c-primary);
  margin-bottom:16px;transition:background .18s ease,color .18s ease;
}
.bw-svc-card:hover .bw-svc-icon{background:var(--c-primary);color:#fff;}
.bw-svc-icon svg{width:25px;height:25px;}

.bw-svc-body{display:block;}
.bw-svc-body h3{
  font-size:1.1rem;font-weight:700;color:var(--c-ink);
  margin-bottom:7px;line-height:1.25;
}
.bw-svc-desc{
  font-size:.88rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:14px;
}
.bw-svc-arrow{display:flex;align-items:center;}
.bw-svc-arrow svg{width:19px;height:19px;stroke:var(--c-primary);stroke-width:2.5;transition:transform .2s ease;}
.bw-svc-card:hover .bw-svc-arrow svg{transform:translateX(5px);}

.bw-svc-img{display:none;}

/* ── Section rhythm variation ────────────────────────────────── */
.bw-section-tight{padding:clamp(36px,5vh,56px) 0;}
.bw-section-loose{padding:clamp(56px,9vh,96px) 0;}

/* ── Section header accent variant ──────────────────────────── */
.bw-section-header-left{
  text-align:left;max-width:none;margin-left:0;margin-right:0;
}
.bw-kicker{
  display:inline-block;font-family:var(--font-body);font-size:.72rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--c-primary);margin-bottom:10px;
}
.bw-section-header-left h2{margin-bottom:8px;}
.bw-section-header-left p{color:var(--c-ink-muted);}

/* ── Why-Us Block ─────────────────────────────────────────── */
.bw-why{
  display:grid;grid-template-columns:420px 1fr;gap:clamp(32px,5vw,64px);
  align-items:center;
}
.bw-why-photo{
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-lg);aspect-ratio:4/3;
  background:var(--c-bg-alt);position:relative;
}
.bw-why-photo img{width:100%;height:100%;object-fit:cover;}
.bw-why-photo-cap{
  position:absolute;bottom:0;left:0;right:0;
  background:var(--c-primary-dark);
  font-family:var(--font-body);font-size:.65rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.82);padding:8px 14px;
}
.bw-why-content h2{
  font-size:clamp(1.4rem,2.8vw,2.1rem);
  margin-bottom:24px;color:var(--c-ink);
}
.bw-why-list{display:grid;gap:14px;}
.bw-why-item{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px 18px;
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-sm);
  box-shadow:var(--shadow-sm);
}
.bw-why-item svg{
  width:20px;height:20px;color:var(--c-primary);
  flex-shrink:0;margin-top:2px;
}
.bw-why-item strong{
  display:block;font-size:.93rem;font-weight:700;
  color:var(--c-ink);margin-bottom:2px;
}
.bw-why-item p{font-size:.85rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:0;}

/* ── Credentials strip (real cert badges, no hover filters) ── */
.bw-creds-strip{
  padding:clamp(30px,4.5vh,48px) 0;
  background:var(--c-bg);
  border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border);
  text-align:center;
}
.bw-creds-label{
  font-family:var(--font-body);font-size:.72rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-ink-muted);margin-bottom:22px;
}
.bw-creds-logos{
  display:flex;align-items:center;justify-content:center;
  gap:clamp(30px,5vw,60px);flex-wrap:wrap;
}
.bw-creds-logo img{display:block;width:auto;}
.bw-creds-logo:nth-child(1) img{height:108px;}
.bw-creds-logo:nth-child(2) img{height:96px;}
.bw-creds-logo:nth-child(3) img{height:106px;}
.bw-creds-logo:nth-child(4) img{height:62px;}
@media(max-width:680px){
  .bw-inner-hero-content p{display:none;}
  .bw-creds-label{font-size:.64rem;letter-spacing:.07em;}
  .bw-creds-logos{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:22px clamp(28px,9vw,48px);}
  .bw-creds-logo:nth-child(1) img{height:80px;}
  .bw-creds-logo:nth-child(2) img{height:72px;}
  .bw-creds-logo:nth-child(3) img{height:78px;}
  .bw-creds-logo:nth-child(4) img{height:48px;}
}

/* ── Why-us scannable block (service pages) ── */
.bw-whyus{background:var(--c-bg-alt);padding:clamp(36px,5vh,56px) 0;border-bottom:1px solid var(--c-border);}
.bw-whyus .bw-kicker{display:block;}
.bw-whyus h2{font-size:clamp(1.35rem,2.6vw,1.95rem);margin-bottom:clamp(26px,3.5vw,40px);}
.bw-whyus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,30px);}
.bw-whyus-item{display:flex;flex-direction:column;gap:9px;}
.bw-whyus-icon{width:46px;height:46px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--c-border);color:var(--c-primary);display:inline-flex;align-items:center;justify-content:center;}
.bw-whyus-icon svg{width:24px;height:24px;}
.bw-whyus-item strong{font-family:var(--font-heading);font-weight:700;font-size:1.02rem;color:var(--c-ink);}
.bw-whyus-item p{font-size:.88rem;color:var(--c-ink-muted);line-height:1.5;margin:0;}
@media(max-width:860px){.bw-whyus-grid{grid-template-columns:1fr 1fr;gap:22px 24px;}}
@media(max-width:520px){.bw-whyus-grid{grid-template-columns:1fr;}}

/* ── Process Steps — horizontal timeline ───────────────────── */
.bw-steps{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:0;position:relative;
}
.bw-steps::before{
  content:'';position:absolute;top:24px;left:calc(10% + 8px);right:calc(10% + 8px);
  height:2px;background:var(--c-border);z-index:0;
}
.bw-step{
  text-align:center;padding:0 10px 24px;
  position:relative;z-index:1;
}
.bw-step-num{
  width:48px;height:48px;border-radius:50%;
  background:var(--c-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-heading);font-weight:800;font-size:1rem;
  margin:0 auto 16px;
  box-shadow:0 2px 6px rgba(15,91,169,.28),0 6px 18px rgba(15,91,169,.18);
  position:relative;z-index:2;
  letter-spacing:-.02em;
}
.bw-step h4{font-size:.85rem;font-weight:700;color:var(--c-ink);margin-bottom:5px;line-height:1.25;}
.bw-step p{font-size:.78rem;color:var(--c-ink-muted);line-height:1.5;margin-bottom:0;}
.bw-steps-4{grid-template-columns:repeat(4,1fr);}
.bw-steps-4::before{left:calc(12.5% + 8px);right:calc(12.5% + 8px);}

/* ── Area Grid ─────────────────────────────────────────────── */
.bw-area-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px 14px;
}
.bw-area-link{
  display:flex;align-items:center;gap:6px;
  padding:6px 0;font-size:.88rem;color:var(--c-ink-muted);
  transition:color .15s ease;
}
.bw-area-link::before{
  content:'';display:inline-block;width:6px;height:6px;
  border-radius:50%;background:var(--c-primary);flex-shrink:0;
}
.bw-area-link:hover{color:var(--c-primary);}
.bw-area-link:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:3px;}

/* ── Service area: neighborhoods sentence + ZIP chips (city pages) ── */
.bw-zip-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px;}
.bw-zip{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--font-body);font-weight:600;font-size:.9rem;
  color:var(--c-ink);background:#F2F5F8;
  border:1px solid var(--c-border);border-radius:6px;
  padding:6px 12px;letter-spacing:.01em;cursor:default;
}
.bw-zip::before{
  content:"";width:11px;height:13px;flex-shrink:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23C24810' fill-rule='evenodd'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.bw-zip-more{
  display:inline-flex;align-items:center;
  font-family:var(--font-body);font-weight:500;font-style:italic;font-size:.9rem;
  color:var(--c-ink-muted);
  border:1px dashed var(--c-border);border-radius:6px;
  padding:6px 12px;
}
.bw-zip-note{font-size:.85rem;color:var(--c-ink-muted);margin-top:10px;}

/* ── CTA Band ──────────────────────────────────────────────── */
.bw-cta-band{
  background:var(--c-primary-deep);color:#fff;
  padding:clamp(52px,7vh,76px) 0;
  text-align:center;
  position:relative;overflow:hidden;
  border-top:4px solid var(--c-accent);
}
.bw-cta-band h2{
  font-size:clamp(1.7rem,3.4vw,2.6rem);
  color:#fff;margin-bottom:12px;font-weight:800;
  letter-spacing:-.02em;
}
.bw-cta-band p{
  font-size:1rem;color:rgba(255,255,255,.8);
  margin-bottom:32px;max-width:52ch;margin-left:auto;margin-right:auto;
}
.bw-cta-band .bw-btn-call{font-size:1.1rem;padding:17px 40px;}
.bw-cta-band .bw-btn-call:hover{
  box-shadow:0 4px 14px rgba(194,72,16,.45),0 8px 28px rgba(194,72,16,.28);
}

/* ── Mid-page CTA strip ─────────────────────────────────────── */
.bw-mid-strip{
  background:var(--c-primary-dark);padding:28px 0;
}
.bw-mid-strip-inner{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;
}
.bw-mid-strip-copy{color:#fff;}
.bw-mid-strip-copy strong{display:block;font-size:1.05rem;font-weight:700;margin-bottom:2px;}
.bw-mid-strip-copy span{font-size:.88rem;color:rgba(255,255,255,.75);}

/* ── Contact / Map block ────────────────────────────────────── */
.bw-contact-block{
  display:grid;grid-template-columns:1fr 460px;gap:clamp(32px,5vw,56px);
  align-items:start;
}
.bw-contact-info h2{
  font-size:clamp(1.4rem,2.8vw,2rem);margin-bottom:20px;
}
.bw-nap-rows{
  border:1px solid var(--c-border);border-radius:var(--r-md);
  overflow:hidden;margin-bottom:24px;
  box-shadow:var(--shadow-sm);
}
.bw-nap-row{
  display:flex;align-items:flex-start;gap:14px;
  padding:14px 18px;background:#fff;border-bottom:1px solid var(--c-border);
  font-size:.93rem;
}
.bw-nap-row:last-child{border-bottom:none;}
.bw-nap-icon{width:18px;height:18px;color:var(--c-primary);flex-shrink:0;margin-top:2px;}
.bw-nap-label{font-weight:600;color:var(--c-ink);min-width:70px;flex-shrink:0;}
.bw-nap-val{color:var(--c-ink-muted);}
.bw-nap-val a{color:var(--c-primary);font-weight:600;}
.bw-nap-val a:hover{color:var(--c-primary-dark);}
.bw-map-frame{
  border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--c-border);
  box-shadow:var(--shadow-md);
}
.bw-map-frame iframe{display:block;width:100%;height:340px;border:0;}
.bw-map-cap{
  background:var(--c-primary-dark);
  font-family:var(--font-body);font-size:.68rem;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;
  color:rgba(255,255,255,.8);padding:9px 14px;
}
.bw-office-photo-heading{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;color:var(--c-ink);margin:26px 0 12px;}
.bw-office-photo-cap{font-size:.85rem;color:var(--c-ink-muted);margin-top:10px;}

/* ── FAQ ─────────────────────────────────────────────────── */
.bw-faq-list{margin-bottom:8px;}
.bw-faq-item{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-sm);margin-bottom:8px;overflow:hidden;
}
.bw-faq-item summary{
  padding:16px 20px;font-weight:600;font-size:.95rem;
  color:var(--c-ink);cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  transition:background .15s ease;
  min-height:52px;
}
.bw-faq-item summary::-webkit-details-marker{display:none;}
.bw-faq-item summary::after{
  content:'+';font-size:1.3rem;font-weight:700;
  color:var(--c-primary);flex-shrink:0;
  transition:transform .2s ease;
}
.bw-faq-item[open] summary::after{content:'\2212';}
.bw-faq-item summary:hover{background:var(--c-bg-alt);}
.bw-faq-item[open]>summary{
  border-bottom:1px solid var(--c-border);
  background:var(--c-bg-alt);
}
.bw-faq-answer{
  padding:16px 20px;font-size:.9rem;
  color:var(--c-ink-muted);line-height:1.7;
}
.bw-faq-answer p{margin-bottom:0;}

/* ── Credentials strip ──────────────────────────────────────── */
.bw-creds{
  padding:48px 0;border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border);
}
.bw-creds-label{
  text-align:center;font-size:.75rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--c-ink-muted);margin-bottom:28px;
}
.bw-creds-row{
  display:flex;align-items:center;justify-content:center;
  gap:48px;flex-wrap:wrap;
}
.bw-cred-badge{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:16px 20px;background:var(--c-bg-alt);
  border:1px solid var(--c-border);border-radius:var(--r-md);
  min-width:120px;text-align:center;
}
.bw-cred-badge-icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
}
.bw-cred-badge-icon svg{width:36px;height:36px;color:var(--c-primary);}
.bw-cred-name{
  font-size:.72rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--c-ink);
}

/* ── Inner page hero CTA card ───────────────────────────────── */
.bw-cta-card{
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--r-lg);padding:32px 28px;text-align:center;
}
.bw-cta-card-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(34,197,94,.15);color:#4ade80;
  font-size:.8rem;font-weight:600;padding:5px 14px;
  border-radius:20px;margin-bottom:14px;
}
.bw-cta-card-badge::before{
  content:'';width:7px;height:7px;border-radius:50%;
  background:#4ade80;animation:bw-pulse 2s ease-in-out infinite;
}
@keyframes bw-pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.bw-cta-card h2{font-size:1.1rem;color:#fff;margin:0 0 16px;line-height:1.3;}
.bw-cta-card .bw-btn-call{width:100%;margin-bottom:14px;font-size:1.1rem;padding:15px 28px;}
.bw-cta-card-phone{font-size:1.4rem;font-weight:700;color:#fff;margin-bottom:4px;}
.bw-cta-card-sub{font-size:.82rem;color:rgba(255,255,255,.7);}
.bw-cta-card-trust{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin-top:14px;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.85);
}
.bw-cta-card-trust svg{color:#4ade80;width:16px;height:16px;}

/* ── Inner page body layout ─────────────────────────────────── */
.bw-inner-body{background:var(--c-bg-alt);padding:64px 0;}
.bw-body-grid{
  display:grid;grid-template-columns:1fr 280px;
  gap:40px;align-items:start;
}
.bw-content{min-width:0;}
.bw-content h2{
  font-size:clamp(1.25rem,2.5vw,1.65rem);
  color:var(--c-ink);margin-bottom:14px;
  padding-top:28px;border-top:1px solid var(--c-border);margin-top:36px;
}
.bw-content h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.bw-content h3{
  font-size:clamp(1.05rem,2vw,1.25rem);
  color:var(--c-ink);margin-bottom:10px;margin-top:24px;
}
.bw-content p{font-size:.95rem;color:var(--c-ink-muted);line-height:1.75;}
.bw-content ul,.bw-content ol{
  display:grid;gap:10px;padding:0;margin-bottom:1em;
}
.bw-content li{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-sm);
  padding:14px 18px;font-size:.93rem;
  color:var(--c-ink-muted);line-height:1.65;
  transition:transform .15s ease,box-shadow .15s ease;
  list-style:none;
}
.bw-content li:hover{transform:translateX(3px);box-shadow:var(--shadow-sm);}
.bw-content li strong{color:var(--c-ink);font-weight:600;}
.bw-lead{margin-bottom:1.4em;}
.bw-lead p{font-size:1.03rem;color:var(--c-ink);line-height:1.75;}
.bw-lead p:last-child{margin-bottom:0;}

/* ── Split intro (text + relevant photo) ── */
.bw-splitintro{padding:clamp(36px,5vh,60px) 0;}
.bw-splitintro-grid{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(26px,4vw,52px);align-items:center;
}
.bw-splitintro-text h2{font-size:clamp(1.45rem,2.7vw,2.05rem);margin-bottom:14px;}
.bw-splitintro-text .bw-lead p{font-size:1.05rem;line-height:1.7;}
.bw-splitintro-highlights{display:grid;gap:11px;margin-top:18px;padding:0;}
.bw-splitintro-highlights li{
  display:flex;align-items:flex-start;gap:11px;list-style:none;
  font-size:.96rem;color:var(--c-ink);line-height:1.5;font-weight:500;
}
.bw-splitintro-highlights li::before{
  content:'';width:21px;height:21px;flex-shrink:0;margin-top:1px;
  background:var(--c-accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.3 14.3-3.6-3.6 1.5-1.5 2.1 2.1 4.6-4.6 1.5 1.5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.3 14.3-3.6-3.6 1.5-1.5 2.1 2.1 4.6-4.6 1.5 1.5z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.bw-splitintro-media{
  margin:0;border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--c-border);box-shadow:var(--shadow-md);
}
.bw-splitintro-media img{width:100%;height:auto;display:block;}
picture{display:contents;}
@media(max-width:860px){
  .bw-splitintro-grid{grid-template-columns:1fr;gap:22px;}
  .bw-splitintro-media{order:-1;}
}

/* ── Sidebar ─────────────────────────────────────────────── */
.bw-sidebar{position:sticky;top:88px;}
.bw-sidebar-card{
  background:var(--c-primary-dark);color:#fff;
  border-radius:var(--r-md);padding:24px;margin-bottom:18px;
}
.bw-sidebar-title{
  font-size:1rem;font-weight:700;color:#fff;
  margin-bottom:14px;padding-bottom:12px;
  border-bottom:2px solid var(--c-accent);
}
.bw-sidebar-nav a{
  display:flex;align-items:center;gap:8px;
  padding:10px 0;font-size:.88rem;
  color:rgba(255,255,255,.8);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:color .15s ease,padding-left .15s ease;
}
.bw-sidebar-nav a:last-child{border-bottom:none;}
.bw-sidebar-nav a::before{
  content:'›';color:var(--c-accent);font-weight:700;
  font-size:1.1rem;line-height:1;flex-shrink:0;
}
.bw-sidebar-nav a:hover{color:#fff;padding-left:4px;}
.bw-sidebar-nav a:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}
.bw-sidebar-cta{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-md);padding:22px;text-align:center;
}
.bw-sidebar-cta h4{margin-bottom:4px;color:var(--c-ink);}
.bw-sidebar-cta p{font-size:.83rem;color:var(--c-ink-muted);margin-bottom:14px;}
.bw-sidebar-cta .bw-btn-call{width:100%;font-size:.93rem;padding:12px 18px;}

/* ── Gallery / work photos ──────────────────────────────────── */
.bw-gallery{
  display:flex;gap:10px;overflow-x:auto;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;margin-bottom:32px;
}
.bw-gallery::-webkit-scrollbar{display:none;}
.bw-gallery-item{
  flex:0 0 auto;width:clamp(200px,calc(25% - 8px),260px);
  border-radius:var(--r-sm);overflow:hidden;
  aspect-ratio:4/3;background:var(--c-bg-alt);
  scroll-snap-align:start;position:relative;cursor:pointer;
}
.bw-gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease;
}
.bw-gallery-item:hover img{transform:scale(1.05);}
.bw-gallery-item::after{
  content:'';position:absolute;inset:0;
  background:rgba(15,91,169,.4);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Cpath d='m17 17 5 5M12 9v6M9 12h6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:28px;
  background-color:rgba(15,91,169,.45);
  opacity:0;transition:opacity .25s ease;
  border-radius:var(--r-sm);
}
.bw-gallery-item:hover::after{opacity:1;}

/* ── Content utility classes ────────────────────────────────── */
.bw-svc-cards{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px;
}
.bw-svc-feature{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-md);padding:20px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.bw-svc-feature:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.bw-svc-feature svg{width:32px;height:32px;color:var(--c-primary);margin-bottom:10px;}
.bw-svc-feature h4{font-size:.93rem;font-weight:700;color:var(--c-ink);margin-bottom:4px;}
.bw-svc-feature p{font-size:.85rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:0;}
.bw-svc-feature:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;}

.bw-urgency-cards{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:32px;
}
.bw-urgency-card{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-sm);
  padding:18px;
}
.bw-urgency-card h4{font-size:.9rem;font-weight:700;color:var(--c-ink);margin-bottom:4px;}
.bw-urgency-card p{font-size:.85rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:0;}

/* service-page steps */
.bw-svc-steps{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:14px;
  margin-bottom:32px;counter-reset:svc-step;
}
.bw-svc-step{
  text-align:center;padding:18px 10px;
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-md);position:relative;
}
.bw-svc-step-num{
  width:38px;height:38px;border-radius:50%;
  background:var(--c-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.9rem;margin:0 auto 10px;
}
.bw-svc-step h4{font-size:.84rem;font-weight:700;color:var(--c-ink);margin-bottom:3px;}
.bw-svc-step p{font-size:.78rem;color:var(--c-ink-muted);line-height:1.45;margin-bottom:0;}

/* insurance section */
.bw-insurance{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-md);padding:28px;margin-bottom:32px;
}
.bw-insurance h3{font-size:1.1rem;color:var(--c-ink);margin-bottom:16px;}
.bw-insurance-steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;
}
.bw-insurance-step{
  text-align:center;padding:14px 10px;
  background:var(--c-bg-alt);border-radius:var(--r-sm);
}
.bw-insurance-step .bw-svc-step-num{width:34px;height:34px;font-size:.85rem;}
.bw-insurance-step h4{font-size:.85rem;font-weight:600;color:var(--c-ink);margin-bottom:3px;}
.bw-insurance-step p{font-size:.78rem;color:var(--c-ink-muted);margin-bottom:0;}
.bw-insurance-note{font-size:.82rem;color:var(--c-ink-muted);line-height:1.65;}
.bw-insurance-note strong{color:var(--c-ink);}

/* content img */
.bw-content-img{
  border-radius:var(--r-sm);overflow:hidden;margin:20px 0;
}
.bw-content-img img{width:100%;height:auto;display:block;}

/* ── City page specific ──────────────────────────────────────── */
.bw-city-svc-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.bw-city-svc-card{
  display:block;background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-md);padding:22px;
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease,box-shadow .2s ease,border-color .15s ease;
}
.bw-city-svc-card:hover{
  transform:translateY(-2px);box-shadow:var(--shadow-md);
  border-color:var(--c-primary);
}
.bw-city-svc-card:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;}
.bw-city-svc-card:active{transform:translateY(0);}
.bw-city-svc-card svg{width:28px;height:28px;color:var(--c-primary);margin-bottom:10px;}
.bw-city-svc-card h3{font-size:.96rem;font-weight:700;color:var(--c-ink);margin-bottom:6px;}
.bw-city-svc-card p{font-size:.85rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:0;}

/* ── Info / resource pages ───────────────────────────────────── */
.bw-info-hero{
  padding:48px 0 40px;
  background:var(--c-bg-alt);border-bottom:1px solid var(--c-border);
}
.bw-info-hero h1{
  font-size:clamp(1.8rem,3.5vw,2.8rem);
  color:var(--c-primary-dark);margin-bottom:12px;
}
.bw-info-hero p{font-size:1.05rem;color:var(--c-ink-muted);max-width:60ch;}
.bw-prose{max-width:720px;}
.bw-prose h2{font-size:clamp(1.25rem,2.4vw,1.65rem);margin-bottom:12px;margin-top:36px;padding-top:28px;border-top:1px solid var(--c-border);}
.bw-prose h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.bw-prose h3{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--c-ink);margin-bottom:8px;margin-top:22px;}
.bw-prose p{font-size:.95rem;color:var(--c-ink-muted);line-height:1.8;}
.bw-prose ul,.bw-prose ol{padding-left:1.4em;margin-bottom:1em;}
.bw-prose li{font-size:.95rem;color:var(--c-ink-muted);line-height:1.7;margin-bottom:6px;}

/* ── Footer ──────────────────────────────────────────────────── */
.bw-footer{
  background:var(--c-primary-deep);color:rgba(255,255,255,.8);
  padding:56px 0 0;
}
.bw-footer-grid{
  display:grid;grid-template-columns:1.4fr repeat(3,1fr);
  gap:40px;margin-bottom:40px;
}
.bw-footer-brand .bw-footer-logo{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-heading);font-weight:700;font-size:1rem;
  color:#fff;margin-bottom:16px;
}
.bw-footer-brand .bw-footer-logo svg{width:36px;height:36px;flex-shrink:0;}
.bw-footer-brand .bw-footer-logo-img{height:40px;width:auto;display:block;}
.bw-footer-brand p{font-size:.88rem;line-height:1.7;max-width:280px;}
.bw-footer-nap{
  margin-top:14px;font-style:normal;
  font-size:.85rem;line-height:1.8;
}
.bw-footer-nap a{color:rgba(255,255,255,.9);font-weight:600;}
.bw-footer-nap a:hover{color:var(--c-accent);}
.bw-footer-email{text-decoration:underline;text-underline-offset:3px;}
.bw-footer-col h4{
  color:#fff;font-size:.93rem;font-weight:700;margin-bottom:14px;
  padding-bottom:8px;position:relative;
}
.bw-footer-col h4::after{
  content:'';display:block;width:28px;height:2px;
  background:var(--c-accent);margin-top:6px;
}
.bw-footer-col a{
  display:block;padding:4px 0;font-size:.85rem;
  color:rgba(255,255,255,.75);transition:color .15s ease;
}
.bw-footer-col a:hover{color:var(--c-accent);}
.bw-footer-col a:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:2px;}
.bw-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  padding:18px 0;display:flex;
  justify-content:space-between;align-items:center;
  font-size:.82rem;flex-wrap:wrap;gap:10px;
}
.bw-footer-legal a{
  margin-left:16px;color:rgba(255,255,255,.65);
  transition:color .15s ease;
}
.bw-footer-legal a:hover{color:var(--c-accent);}
.bw-disclaimer-btn{margin-left:16px;color:rgba(255,255,255,.65);background:none;border:none;padding:0;font:inherit;cursor:pointer;transition:color .15s ease;}
.bw-disclaimer-btn:hover{color:var(--c-accent);}
.bw-disclaimer-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:3px;}

/* ── Disclaimer modal ── */
.bw-modal-overlay{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(7,42,80,.55);}
.bw-modal-overlay.active{display:flex;}
.bw-modal-box{position:relative;background:#fff;border-radius:var(--r-lg);max-width:560px;width:100%;max-height:85vh;overflow:auto;padding:clamp(24px,4vw,40px);box-shadow:var(--shadow-lg);}
.bw-modal-close{position:absolute;top:8px;right:12px;width:42px;height:42px;font-size:1.7rem;line-height:1;color:var(--c-ink-muted);background:none;border:none;cursor:pointer;border-radius:var(--r-sm);}
.bw-modal-close:hover{color:var(--c-ink);background:var(--c-bg-alt);}
.bw-modal-close:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;}
.bw-modal-content h2{font-size:1.3rem;margin-bottom:14px;color:var(--c-ink);padding-right:32px;}
.bw-modal-content p{font-size:.92rem;color:var(--c-ink-muted);line-height:1.65;margin-bottom:12px;}
.bw-modal-content p:last-child{margin-bottom:0;}
.bw-modal-content a{color:var(--c-primary);text-decoration:underline;}

/* ── Site map page ── */
.bw-sitemap-group{margin-bottom:clamp(28px,4vh,44px);}
.bw-sitemap-group > h2{font-size:clamp(1.15rem,2vw,1.45rem);color:var(--c-ink);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--c-border);}
.bw-sitemap-list{list-style:none;padding:0;margin:0;}
.bw-sitemap-cols{columns:3;column-gap:30px;}
.bw-sitemap-list li{margin-bottom:7px;break-inside:avoid;}
.bw-sitemap-list a{color:var(--c-primary);font-size:.93rem;}
.bw-sitemap-list a:hover{text-decoration:underline;}
.bw-sitemap-note{color:var(--c-ink-muted);font-size:.92rem;margin-bottom:16px;}
.bw-sitemap-cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:18px;}
.bw-sitemap-city{background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:var(--r-md);padding:15px 18px;}
.bw-sitemap-city-head{display:block;font-family:var(--font-heading);font-weight:700;font-size:1rem;color:var(--c-ink);margin-bottom:9px;}
.bw-sitemap-city-head:hover{color:var(--c-primary);}
.bw-sitemap-city .bw-sitemap-list a{font-size:.85rem;color:var(--c-ink-muted);}
.bw-sitemap-city .bw-sitemap-list a:hover{color:var(--c-primary);text-decoration:underline;}
.bw-sitemap-city .bw-sitemap-list li{margin-bottom:5px;}
@media(max-width:768px){.bw-sitemap-cols{columns:2;}}
@media(max-width:480px){.bw-sitemap-cols{columns:1;}}

/* (scroll fade-in removed — content always visible, no scroll-triggered animation) */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* ── Lightbox ────────────────────────────────────────────────── */
.bw-lightbox{
  position:fixed;inset:0;z-index:3000;
  background:rgba(0,0,0,.88);
  display:none;align-items:center;justify-content:center;
  padding:20px;cursor:zoom-out;
}
.bw-lightbox.active{display:flex;}
.bw-lightbox img{
  max-width:90vw;max-height:90vh;object-fit:contain;
  border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.5);
}
.bw-lb-close{
  position:absolute;top:16px;right:20px;width:40px;height:40px;
  border-radius:50%;background:rgba(255,255,255,.15);
  backdrop-filter:blur(4px);cursor:pointer;
  font-size:1.6rem;line-height:1;color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease;border:none;
}
.bw-lb-close:hover{background:rgba(255,255,255,.3);}
.bw-lb-prev,.bw-lb-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.15);backdrop-filter:blur(4px);
  cursor:pointer;font-size:2rem;color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease;border:none;user-select:none;z-index:1;
}
.bw-lb-prev{left:20px;}
.bw-lb-next{right:20px;}
.bw-lb-prev:hover,.bw-lb-next:hover{background:rgba(255,255,255,.3);}

/* ── Modal ───────────────────────────────────────────────────── */
.bw-modal-overlay{
  position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.55);
  display:none;align-items:center;justify-content:center;padding:20px;
}
.bw-modal-overlay.active{display:flex;}
.bw-modal-box{
  background:#fff;border-radius:12px;max-width:580px;width:100%;
  max-height:80vh;overflow-y:auto;padding:32px;position:relative;
  color:var(--c-ink);
}
.bw-modal-close{
  position:absolute;top:12px;right:12px;width:32px;height:32px;
  font-size:1.5rem;line-height:1;color:#666;
  transition:color .15s ease;border:none;background:none;cursor:pointer;
}
.bw-modal-close:hover{color:var(--c-ink);}

/* ── [data-cta] feedback ─────────────────────────────────────── */
[data-cta]:active{transform:scale(.97);}

/* =============================================================
   RESPONSIVE
   ============================================================= */

@media(max-width:1024px){
  .bw-nav,.bw-header-right{display:none;}
  .bw-burger{display:flex;}
  .bw-services-grid{grid-template-columns:1fr 1fr;}
  .bw-why{grid-template-columns:1fr;gap:28px;}
  .bw-why-photo{max-height:300px;}
  .bw-steps{grid-template-columns:repeat(3,1fr);}
  .bw-steps::before{display:none;}
  .bw-step{padding-bottom:16px;}
  .bw-body-grid{grid-template-columns:1fr;}
  .bw-sidebar{position:static;margin-top:16px;padding-top:20px;border-top:1px solid var(--c-border);}
  .bw-inner-hero-grid{grid-template-columns:1fr;gap:24px;}
  .bw-contact-block{grid-template-columns:1fr;}
  .bw-footer-grid{grid-template-columns:repeat(2,1fr);}
  .bw-svc-steps{grid-template-columns:repeat(3,1fr);}
  .bw-city-svc-grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:768px){
  .bw-section{padding:40px 0;}
  .bw-section-header{margin-bottom:28px;}
  .bw-inner-body{padding:36px 0;}
  .bw-services-grid{grid-template-columns:1fr 1fr;}
  .bw-svc-card{padding:24px 20px 20px;}
  .bw-svc-body h3{font-size:1.02rem;}
  .bw-svc-desc{font-size:.85rem;}
  .bw-why{grid-template-columns:1fr;}
  .bw-steps{grid-template-columns:repeat(2,1fr);gap:12px;}
  .bw-steps::before{display:none;}
  .bw-area-grid{grid-template-columns:repeat(2,1fr);}
  .bw-footer-grid{grid-template-columns:1fr;gap:28px;}
  .bw-footer-bottom{flex-direction:column;text-align:center;}
  .bw-footer{padding-bottom:52px;}
  .bw-svc-cards{grid-template-columns:1fr;}
  .bw-urgency-cards{grid-template-columns:1fr;}
  .bw-svc-steps{grid-template-columns:repeat(2,1fr);}
  .bw-insurance-steps{grid-template-columns:1fr;}
  .bw-city-svc-grid{grid-template-columns:1fr;gap:10px;}
  .bw-mid-strip-inner{flex-direction:column;text-align:center;}
  .bw-mid-strip .bw-btn-call{width:100%;justify-content:center;}
  .bw-cta-band .bw-btn-call{width:100%;justify-content:center;}
  .bw-sidebar-cta{display:none;}
  .bw-creds-row{gap:20px;}
  .bw-cred-badge{min-width:100px;padding:12px 14px;}
}

@media(max-width:480px){
  .bw-services-grid{grid-template-columns:1fr;}
  .bw-steps{grid-template-columns:1fr;}
  .bw-svc-steps{grid-template-columns:1fr;}
  .bw-lb-prev{left:8px;}
  .bw-lb-next{right:8px;}
  .bw-lb-prev,.bw-lb-next{width:40px;height:40px;font-size:1.6rem;}
}
