:root {
  --dark: #0b0f14;
  --dark-2: #121a24;
  --info: #38bdf8;
  --white: #ffffff;
  --muted: #9db3c8;
}
body {
  font-family: 'Inter', sans-serif;
  background: var(--dark);
  color: var(--white);
  line-height: 1.7;
}
a { color: var(--info); text-decoration: none; }
a:hover { color: #7dd3fc; }
.bg-grid {
  background: radial-gradient(circle at top right, rgba(56,189,248,.2), transparent 30%), linear-gradient(135deg, #081018, #111b26 55%, #081018);
}
.section-pad { padding: 80px 0; }
.hero { padding: 96px 0 72px; position: relative; overflow: hidden; }
.hero .badge-strip span,
.stat-chip,
.service-card,
.location-card,
.faq-card,
.cta-panel,
.content-panel,
.review-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(56,189,248,.16);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
}
.hero h1, .page-hero h1 { font-size: clamp(2.15rem, 4vw, 4.3rem); font-weight: 800; line-height: 1.05; }
.lead-lg { font-size: 1.15rem; color: #d7e7f5; }
.btn-info { background: var(--info); border-color: var(--info); color: #05111a; font-weight: 700; }
.btn-info:hover { background: #7dd3fc; border-color: #7dd3fc; color: #05111a; }
.btn-outline-light:hover { color: var(--dark); }
.badge-strip { display: flex; gap: 12px; flex-wrap: wrap; margin: 24px 0; }
.badge-strip span, .stat-chip { padding: 10px 14px; border-radius: 999px; color: #eaf7ff; }
.hero-art img, .illustration { width: 100%; height: auto; }
.service-card, .location-card, .faq-card, .review-card, .cta-panel, .content-panel { border-radius: 24px; padding: 28px; height: 100%; }
.service-card i, .location-card i, .icon-circle { color: var(--info); font-size: 1.5rem; }
.icon-circle {
  width: 60px; height: 60px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(56,189,248,.12); border: 1px solid rgba(56,189,248,.25);
}
.text-light-emphasis { color: var(--muted) !important; }
.check-list { list-style: none; padding-left: 0; }
.check-list li { margin-bottom: 10px; padding-left: 28px; position: relative; }
.check-list li:before { content: '\F26E'; font-family: 'bootstrap-icons'; position: absolute; left: 0; color: var(--info); }
.site-footer { background: #060a0e; }
.footer-links li { margin-bottom: 8px; }
.footer-links a { color: #d6ecfb; }
.sticky-mobile-bar {
  position: fixed; bottom: 0; left: 0; width: 100%; z-index: 1080;
  background: rgba(6,10,14,.96); border-top: 1px solid rgba(56,189,248,.25);
  display: flex; gap: 10px; padding: 12px;
}
.page-hero { padding: 84px 0 44px; background: linear-gradient(180deg, rgba(56,189,248,.12), transparent 65%); }
.breadcrumb a { color: #d6ecfb; }
.accordion-button, .accordion-item { background: transparent; color: var(--white); border-color: rgba(56,189,248,.18); }
.accordion-button:not(.collapsed) { background: rgba(56,189,248,.12); color: var(--white); box-shadow: none; }
.table-dark-custom { --bs-table-bg: transparent; --bs-table-color: #fff; }
.callout-box { border-left: 4px solid var(--info); padding: 18px 22px; background: rgba(56,189,248,.06); border-radius: 12px; }
@media (max-width: 991px) {
  .section-pad { padding: 64px 0; }
  .hero { padding-top: 72px; }
  body { padding-bottom: 86px; }
}
