:root {
  --bm-brand: #168fad;
  --bm-brand-hover: #0d718a;
  --bm-brand-soft: #eaf7fa;
  --bm-brand-border: #bde4ec;
  --bm-ink: #071820;
  --bm-ink-soft: #18313b;
  --bm-white: #ffffff;
}

body {
  color: var(--bm-ink);
}

.bm-contact-bar {
  background: var(--bm-ink);
  color: var(--bm-white);
}

.bm-brand-link { min-width: 0; }
.bm-company-name { font-size: clamp(12px, 1.45vw, 20px); line-height: 1.2; overflow-wrap: anywhere; }
.bm-nav-shell { flex-wrap: wrap; row-gap: .35rem; }
.bm-nav-shell > .flex-1 { min-width: 160px; }
@media (max-width: 639px) {
  .bm-brand-link { gap: .4rem; }
}

.bm-nav-shell {
  border-color: rgba(189, 228, 236, 0.9);
}

.bm-contact-link {
  min-height: 36px;
  color: var(--bm-white);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.bm-contact-link:hover,
.bm-contact-link:focus-visible {
  color: #bdebf4;
}

.bm-primary,
.btn-primary {
  background-color: var(--bm-brand) !important;
  border-color: var(--bm-brand) !important;
  color: var(--bm-white) !important;
}

.bm-primary:hover,
.bm-primary:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible {
  background-color: var(--bm-brand-hover) !important;
  border-color: var(--bm-brand-hover) !important;
}

.bm-outline {
  border-color: var(--bm-brand-border) !important;
  color: var(--bm-ink) !important;
  background: var(--bm-white) !important;
}

.bm-outline:hover,
.bm-outline:focus-visible {
  border-color: var(--bm-brand) !important;
  color: var(--bm-brand-hover) !important;
  background: var(--bm-brand-soft) !important;
}

.bm-hero {
  background:
    radial-gradient(circle at 50% 0%, rgba(22, 143, 173, 0.14), transparent 42%),
    linear-gradient(180deg, var(--bm-brand-soft) 0%, #ffffff 62%, #f8fbfc 100%);
}

.bm-hero-title {
  background: linear-gradient(90deg, var(--bm-brand), #0b5d73);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.bm-quick-contact {
  border: 1px solid var(--bm-brand-border);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 46px rgba(7, 24, 32, 0.08);
}

.bm-footer {
  background: var(--bm-ink);
  color: var(--bm-white);
  border-top: 6px solid var(--bm-brand);
}

.bm-footer-muted {
  color: #b9cbd2;
}

@media (max-width: 767px) {
  .bm-contact-link {
    min-height: 40px;
  }

  .bm-mobile-full {
    width: 100%;
  }
}

/* Product photography and recovery pages share the site's existing blue palette. */
.bm-products-section { max-width: 80rem; margin: 0 auto; padding: 3.5rem 2rem; }
.bm-products-section h2 { color: #071820; font-weight: 900; font-size: clamp(1.5rem, 3vw, 2.3rem); line-height: 1.2; letter-spacing: -.025em; }
.bm-products-intro { margin: .8rem 0 1.75rem; color: #52616d; max-width: 48rem; line-height: 1.7; }
.bm-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.1rem; margin-top: 1.8rem; }
.bm-product-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid #dbe6eb; border-radius: 1.25rem; overflow: hidden; background: #fff; }
.bm-product-image { aspect-ratio: 4 / 3; overflow: hidden; background: #eaf7fa; }
.bm-product-image img { width: 100%; height: 100%; object-fit: cover; }
.bm-product-body { padding: 1.2rem; display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; flex: 1; }
.bm-product-body h3 { color: #071820; font-size: 1.12rem; line-height: 1.35; font-weight: 850; }
.bm-product-body p { color: #52616d; font-size: .85rem; line-height: 1.7; }
.bm-product-note { margin-top: 1.15rem; font-size: .75rem; line-height: 1.6; color: #52616d; }
.bm-error-hero { text-align: center; padding: 2rem 1.25rem 3.2rem; background: linear-gradient(145deg,#eaf7fa,#fff); border-bottom: 1px solid #d4eff4; }
.bm-error-code { font-size: clamp(6rem,15vw,10rem); font-weight: 950; letter-spacing: -.08em; line-height: 1; color: #168fad; }
.bm-error-eyebrow { margin: 1rem 0 .7rem; color: #0b5d73; font-size: .8rem; font-weight: 750; }
.bm-error-hero h1 { font-size: clamp(1.8rem,4vw,3.2rem); font-weight: 900; line-height: 1.15; color: #071820; }
.bm-error-description { max-width: 36rem; margin: 1rem auto 0; line-height: 1.7; color: #52616d; }
.bm-error-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.5rem; }
@media (max-width: 1023px) { .bm-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 539px) { .bm-product-grid { grid-template-columns: minmax(0,1fr); } .bm-products-section { padding: 2.3rem 1rem; } .bm-error-actions > a { width: 100%; max-width: 22rem; } }

/* Shared drawing and telephone actions for every product. */
.bm-product-actions { display: flex; flex-wrap: wrap; gap: .5rem; width: 100%; }
.bm-product-body .bm-product-actions { margin-top: auto; padding-top: .7rem; }
.bm-product-actions a { display: inline-flex; align-items: center; justify-content: center; flex: 1 1 7rem; min-height: 44px; padding: .65rem .75rem; border: 1px solid #168fad; border-radius: .7rem; text-align: center; font-size: .8rem; line-height: 1.35; font-weight: 800; text-decoration: none; }
.bm-product-actions .bm-quote-action { background: #168fad; color: #fff; }
.bm-product-actions .bm-call-action { background: #fff; color: #0b5d73; }
.bm-product-actions a:hover { filter: brightness(.94); }
.bm-product-actions a:focus-visible { outline: 3px solid #0b5d73; outline-offset: 3px; }
