/* LeakSleuth — cool blue-grey brand layer over Bootstrap 5.3 */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/inter-latin-700-normal.woff2') format('woff2')}

:root{
  --ink:#1b2530; --slate:#24344a; --slate-2:#2e415c;
  --steel:#35688f; --steel-d:#2a5474; --steel-l:#6fa3c7;
  --cool:#f3f6f9; --line:#d9e1e8; --soft:#c4d2de; --body:#2c3a47; --mut:#5d6b7a;
  /* flatten Bootstrap's radii site-wide */
  --bs-border-radius:.2rem; --bs-border-radius-sm:.15rem; --bs-border-radius-lg:.25rem;
  --bs-border-radius-xl:.3rem; --bs-border-radius-xxl:.35rem;
  --bs-body-font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  --bs-body-color:#2c3a47;
  --bs-link-color-rgb:53,104,143; --bs-link-hover-color-rgb:42,84,116;
}
body{font-family:var(--bs-body-font-family);line-height:1.7;letter-spacing:.005em}
h1,h2,h3,h4,h5{color:var(--slate);font-weight:700;letter-spacing:-.01em}
.text-accent{color:var(--steel-l)}
.text-soft{color:var(--soft)}
.bg-cool{background:var(--cool)}

/* top bar */
.topbar{background:var(--ink);color:var(--soft)}
.topbar a{color:var(--soft);text-decoration:none}
.topbar a:hover{color:#fff}

/* nav */
.navbar{border-bottom:1px solid var(--line)}
.navbar-brand{font-size:1.35rem;color:var(--slate)}
.navbar-brand .text-accent{color:var(--steel)}
.logo-ic{width:28px;height:28px;color:var(--steel)}
.main-nav .nav-link{font-size:.8rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.07em;color:var(--slate);padding:.55rem .7rem;
  border-bottom:2px solid transparent}
.main-nav .nav-link:hover{color:var(--steel)}
.main-nav .nav-link.active{color:var(--slate);border-bottom-color:var(--steel)}
.dropdown-menu{border-radius:var(--bs-border-radius);border-color:var(--line)}
.dropdown-item{font-size:.9rem;padding:.5rem 1rem}
.dropdown-item:active{background:var(--steel)}

/* buttons */
.btn{border-radius:var(--bs-border-radius)}
.btn-accent{background:var(--steel);border:1px solid var(--steel);color:#fff;font-weight:600}
.btn-accent:hover,.btn-accent:focus{background:var(--steel-d);border-color:var(--steel-d);color:#fff}
.btn-outline-light{border-width:1px;font-weight:600}
.btn-outline-slate{border:1px solid var(--slate);color:var(--slate);font-weight:600}
.btn-outline-slate:hover{background:var(--slate);color:#fff}

/* hero */
.hero{background:linear-gradient(150deg,var(--ink) 0%,var(--slate) 55%,var(--slate-2) 100%)}
.hero .kicker{color:var(--steel-l);font-weight:600;letter-spacing:.16em;font-size:.78rem}
.hero h1{letter-spacing:-.02em}
.hero-img{border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 44px rgba(0,0,0,.35)}
.trust li{color:var(--soft);padding-left:1.4em;position:relative}
.trust li::before{content:"✓";position:absolute;left:0;color:var(--steel-l);font-weight:700}

/* section headings — short steel underline */
.section-title{position:relative;padding-bottom:.55rem;margin-bottom:1rem}
.section-title::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;
  background:var(--steel)}

/* cards */
.card{border-color:var(--line)}
.svc-card{transition:box-shadow .18s,border-color .18s}
.svc-card:hover{border-color:var(--steel);box-shadow:0 10px 28px rgba(36,52,74,.16)!important}
.svc-card .card-title{color:var(--slate)}
.icon-chip{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;
  background:var(--cool);border:1px solid var(--line);margin-bottom:.9rem}
.icon-chip .ic{width:32px;height:32px;color:var(--steel)}
.svc-card a{color:var(--steel)}
.step-card{background:#fff;position:relative;border-color:var(--line)!important}
.step-n{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  background:var(--steel);color:#fff;font-weight:700}
.rel-card,.town-card{color:var(--slate);transition:border-color .15s,background .15s;
  border-color:var(--line)!important;min-width:0}
.rel-card:hover,.town-card:hover{border-color:var(--steel)!important;background:var(--cool)}
.rel-card .ic,.town-card .ic{width:24px;height:24px;color:var(--steel);flex:none}
/* keep town names inside their boxes at every width */
.town-card{padding:.75rem .9rem!important}
.town-card span,.rel-card span{white-space:normal;overflow-wrap:anywhere;line-height:1.25;
  min-width:0}
@media (max-width:575.98px){
  .town-card{padding:.6rem .7rem!important}
  .town-card span{font-size:.8rem}
  .town-card .ic{width:20px;height:20px}
}
.ic{width:34px;height:34px}

/* article/side */
.article-img{border:1px solid var(--line)}
.side-card{background:var(--slate);top:96px}
.side-card .text-soft{color:var(--soft)}

/* accordion */
.accordion-item{border-color:var(--line)}
.accordion-button{font-weight:600;color:var(--slate);font-size:.98rem}
.accordion-button:not(.collapsed){background:var(--cool);color:var(--slate);box-shadow:none}
.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(53,104,143,.25);border-color:var(--steel)}

/* cta band */
.cta-band{background:var(--slate)}

/* tables (guide-price table in page copy) */
.table-wrap{overflow-x:auto;margin:1rem 0}
.table-wrap table{width:100%;border-collapse:collapse;font-size:.95rem}
.table-wrap th,.table-wrap td{text-align:left;padding:.65rem .9rem;border-bottom:1px solid var(--line)}
.table-wrap th{background:var(--cool);color:var(--slate)}
.note{font-size:.85rem;color:var(--mut)}

/* forms */
.form-control,.form-select{border-color:var(--line)}
.form-control:focus,.form-select:focus{border-color:var(--steel);
  box-shadow:0 0 0 .2rem rgba(53,104,143,.2)}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.form-msg{font-weight:600;min-height:1.3em}
.form-msg.ok{color:#0a7a43}
.form-msg.err{color:#b3261e}

/* footer */
.site-foot{background:var(--ink);color:var(--soft)}
.site-foot h3{color:#fff;font-size:.92rem;text-transform:uppercase;letter-spacing:.06em;
  margin-bottom:.7rem}
.site-foot a{color:var(--soft);text-decoration:none}
.site-foot a:hover{color:#fff;text-decoration:underline}
.site-foot li{margin:.4rem 0;font-size:.92rem}
.site-foot .text-accent{color:var(--steel-l)}
.foot-bar{border-color:rgba(255,255,255,.12)!important}

/* WhatsApp + mobile quick-contact bar */
.wa-ic{width:16px;height:16px;vertical-align:-2px}
.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:1040;display:flex;
  box-shadow:0 -4px 16px rgba(27,37,48,.25)}
.mobile-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem .5rem;font-weight:700;font-size:.95rem;text-decoration:none;
  color:#fff;background:var(--steel)}
.mobile-cta a.wa{background:#128c7e}
.mobile-cta .cta-ic{width:20px;height:20px;flex:none}

@media (max-width:991.98px){
  .side-card{position:static!important}
  .main-nav .nav-link{border-bottom:none;padding:.6rem .2rem}
  .main-nav .nav-link.active{color:var(--steel)}
  body{padding-bottom:56px} /* clear the fixed quick-contact bar */
}
@media print{
  header,.cta-band,.site-foot,.mobile-cta{display:none}
}
