/* Battlefield Window Cleaning - our own stylesheet.
   The clone's compiled Tailwind bundle was purged down to only the utilities the
   original export used: it has lg:hidden and lg:flex but NO xl: utilities and no
   lg:block. Anything responsive we add has to live here, not in class names that
   silently do nothing. */

/* ---------- header logo ----------
   The logo is 4.43:1. Between lg and xl the nav needs every pixel it can get
   (561px of links + 289px of phone and button + the logo = the full row at
   1024), so the mark alone goes in that band. */
.bwc-logo{height:40px;width:auto;display:block}
.bwc-mark{height:36px;width:auto;display:none}
@media (min-width:1024px) and (max-width:1279px){
  .bwc-logo{display:none}
  .bwc-mark{display:block}
}
@media (max-width:480px){.bwc-logo{height:34px}}

/* ---------- header: scrolled state ----------
   The header is position:fixed and bg-transparent at every scroll position, so
   once you scroll past the dark hero it sits over white page content with white
   text on it, i.e. invisible. Past 40px it gets a solid white bar, navy type and
   the dark logo. */
header.bwc-scrolled{background:#fff;box-shadow:0 1px 14px rgba(5,36,59,.12)}
header.bwc-scrolled a,
header.bwc-scrolled span,
header.bwc-scrolled button{color:#05243B}
header.bwc-scrolled nav a:hover,
header.bwc-scrolled nav a[aria-current],
header.bwc-scrolled .text-primary{color:#0E97E0}
header.bwc-scrolled svg{color:inherit}
/* the quote button keeps its blue fill and white label */
header.bwc-scrolled a[href*="contact"].bg-primary,
header.bwc-scrolled .bg-primary{background:#0E97E0;color:#fff}
header.bwc-scrolled .bg-primary span,header.bwc-scrolled .bg-primary svg{color:#fff}

/* white logo on a white bar is invisible: swap to the dark one */
.bwc-logo-dark{display:none;height:40px;width:auto}
header.bwc-scrolled .bwc-logo{display:none}
header.bwc-scrolled .bwc-logo-dark{display:block}
@media (min-width:1024px) and (max-width:1279px){
  header.bwc-scrolled .bwc-logo-dark{display:none}
  header.bwc-scrolled .bwc-mark{display:block}
}
@media (max-width:480px){.bwc-logo-dark{height:34px}}

/* ==========================================================================
   HOMEPAGE SECTIONS
   Three sections were laid out as flat rows of equal cards or as a wall of
   full-width paragraphs. Rebuilt here rather than with utility classes,
   because the clone's compiled Tailwind only contains what the export used.
   Brand: navy #05243B, blue #0E97E0.
   ========================================================================== */

/* ---------- 1. the five-step process, as a timeline ---------------------- */
.bwc-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;
  grid-template-columns:repeat(5,1fr);position:relative}
.bwc-steps::before{content:"";position:absolute;top:27px;left:10%;right:10%;
  height:2px;background:linear-gradient(90deg,#0E97E0 0%,rgba(14,151,224,.25) 100%)}
.bwc-steps li{position:relative;padding:0 .9rem;text-align:center}
.bwc-steps .n{position:relative;z-index:1;width:54px;height:54px;margin:0 auto 1.1rem;
  border-radius:50%;background:#0E97E0;color:#fff;display:flex;align-items:center;
  justify-content:center;font:700 20px/1 inherit;
  box-shadow:0 0 0 6px #fff, 0 6px 16px rgba(5,36,59,.18)}
.bwc-steps h3{font-size:1.02rem;margin:0 0 .45rem;color:#05243B;font-weight:700}
.bwc-steps p{font-size:.92rem;line-height:1.55;margin:0;color:#5b6b78}
@media (max-width:1023px){
  .bwc-steps{grid-template-columns:repeat(2,1fr);gap:2rem 1rem}
  .bwc-steps::before{display:none}
  .bwc-steps li{text-align:left;padding:0}
  .bwc-steps .n{margin:0 0 .8rem;width:46px;height:46px;font-size:17px;box-shadow:none}
}
@media (max-width:560px){.bwc-steps{grid-template-columns:1fr;gap:1.6rem}}

/* ---------- 2. why choose us, as a split with fact cards ----------------- */
.bwc-why{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:3.2rem;align-items:start}
.bwc-why .lead p{color:#5b6b78;line-height:1.7;margin:.9rem 0 0}
.bwc-facts{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:1fr 1fr;gap:.9rem}
.bwc-facts li{display:flex;gap:.7rem;align-items:flex-start;background:#fff;
  border:1px solid #e3e9ee;border-left:3px solid #0E97E0;border-radius:6px;
  padding:.95rem 1rem;font-size:.93rem;line-height:1.5;color:#05243B}
.bwc-facts svg{flex:0 0 18px;width:18px;height:18px;color:#0E97E0;margin-top:1px}
@media (max-width:1023px){.bwc-why{grid-template-columns:1fr;gap:2rem}}
@media (max-width:560px){.bwc-facts{grid-template-columns:1fr}}

/* ---------- 3. local knowledge, as three readable columns ---------------- */
.bwc-local-lead{font-size:1.12rem;line-height:1.7;color:#05243B;max-width:60ch;
  margin:0 0 2.6rem;padding-left:1.1rem;border-left:3px solid #0E97E0}
.bwc-local{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
.bwc-local h3{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;
  color:#0E97E0;margin:0 0 .7rem;font-weight:700}
.bwc-local p{margin:0;color:#5b6b78;line-height:1.75;font-size:.95rem}
.bwc-local > div{padding-top:1.1rem;border-top:2px solid #eef2f5}
@media (max-width:1023px){.bwc-local{grid-template-columns:1fr;gap:1.8rem}}

/* ---------- pricing table (shared block) ---------------------------------- */
.bwc-pricing{max-width:780px;margin:0 auto}
.bwc-pricing table{width:100%;border-collapse:collapse;background:#fff;
  border:1px solid #e3e9ee;border-radius:8px;overflow:hidden}
.bwc-pricing caption{caption-side:top;text-align:left;font-weight:700;color:#05243B;
  font-size:1.05rem;padding:0 0 .8rem}
.bwc-pricing th,.bwc-pricing td{padding:.95rem 1.1rem;text-align:left;
  border-bottom:1px solid #eef2f5;font-size:.95rem;line-height:1.45}
.bwc-pricing thead th{background:#05243B;color:#fff;font-size:.78rem;
  letter-spacing:.08em;text-transform:uppercase}
.bwc-pricing tbody tr:last-child td{border-bottom:0}
.bwc-pricing td:last-child{white-space:nowrap;font-weight:700;color:#0E97E0;
  text-align:right;font-size:1.05rem}
.bwc-pricing .note{margin:.9rem 0 0;font-size:.86rem;line-height:1.6;color:#5b6b78}
@media (max-width:560px){
  .bwc-pricing th,.bwc-pricing td{padding:.8rem .7rem;font-size:.9rem}
  .bwc-pricing td:last-child{font-size:1rem}
}
/* hero trust line */
.bwc-from{display:inline-flex;align-items:center;gap:.5rem;background:rgba(14,151,224,.14);
  border:1px solid rgba(14,151,224,.45);color:#fff;border-radius:999px;
  padding:.4rem .9rem;font-size:.86rem;font-weight:600;margin-top:.2rem}

/* ---------- before/after slider ------------------------------------------- */
[class*="cursor-col-resize"]{cursor:ew-resize;touch-action:none}
[class*="cursor-col-resize"]:focus-visible{outline:3px solid #0E97E0;outline-offset:3px}
[class*="cursor-col-resize"] img{pointer-events:none;user-select:none}
.bwc-dragging{cursor:grabbing}

/* ---------- header dropdowns ---------------------------------------------
   Services and Areas have children; the rest do not and stay plain links.
   Opens on hover AND focus-within, so tabbing through the nav works without
   any script. The bridge padding stops the panel closing in the gap between
   the link and the panel. */
.bwc-has-menu{position:relative}
.bwc-has-menu > a{display:inline-flex;align-items:center;gap:.3rem}
.bwc-has-menu > a::after{content:"";width:7px;height:7px;flex:0 0 7px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);opacity:.75;transition:transform .18s ease}
.bwc-has-menu:hover > a::after,.bwc-has-menu:focus-within > a::after{transform:rotate(225deg) translate(-2px,-2px)}
.bwc-menu{position:absolute;top:100%;left:0;z-index:60;min-width:250px;
  background:#fff;border:1px solid #e3e9ee;border-radius:10px;
  box-shadow:0 18px 44px rgba(5,36,59,.18);padding:.6rem;margin-top:12px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s}
.bwc-has-menu::after{content:"";position:absolute;top:100%;left:0;right:0;height:14px}
.bwc-has-menu:hover > .bwc-menu,.bwc-has-menu:focus-within > .bwc-menu{
  opacity:1;visibility:visible;transform:none}
.bwc-menu a{display:block;padding:.55rem .7rem;border-radius:6px;font-size:.88rem;
  line-height:1.35;color:#05243B !important;text-decoration:none;white-space:nowrap}
.bwc-menu a:hover{background:#f2f7fb;color:#0E97E0 !important}
.bwc-menu-wide{left:auto;right:0;min-width:640px;display:grid;
  grid-template-columns:repeat(3,1fr);gap:.2rem 1rem}
.bwc-menu h4{grid-column:auto;margin:.35rem .7rem .3rem;font-size:.7rem;
  letter-spacing:.09em;text-transform:uppercase;color:#0E97E0;font-weight:700}
.bwc-menu .all{grid-column:1/-1;border-top:1px solid #eef2f5;margin-top:.4rem;
  padding-top:.5rem;font-weight:700}
@media (max-width:1279px){.bwc-menu-wide{min-width:560px}}

/* mobile: the same children as an accordion inside the burger menu */
.bwc-m-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;
  background:none;border:0;padding:.75rem .75rem;cursor:pointer;
  /* the mobile panel is dark; color:inherit resolved to nothing here and the
     labels rendered invisible. Match the other mobile nav links explicitly. */
  color:rgba(255,255,255,.82);font:inherit;font-size:.875rem;font-weight:500;
  text-align:left;border-radius:6px}
.bwc-m-toggle:hover{color:#0E97E0;background:rgba(14,151,224,.08)}
.bwc-m-toggle::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.7;transition:transform .2s}
.bwc-m-toggle[aria-expanded="true"]::after{transform:rotate(225deg)}
.bwc-m-panel{display:none;padding:0 0 .4rem .75rem}
.bwc-m-panel[data-open="true"]{display:block}
.bwc-m-panel a{display:block;padding:.5rem .75rem;font-size:.85rem;
  color:rgba(255,255,255,.75);text-decoration:none}
.bwc-m-panel a:hover{color:#0E97E0}
