/* NCSS Bootstrap theme variables (badge-aligned) */
:root[data-bs-theme="ncss"]{
  --bs-primary: #2E5AA6;      /* Safety Blue */
  --bs-secondary:#2B2F36;     /* Deep Slate */
  --bs-dark:#1A1C1E;          /* Charcoal */
  --bs-light:#F5F6F8;
  --bs-body-color:#212529;
  --bs-link-color: var(--bs-primary);
  --bs-border-color: #E5E7EB;

  /* Legacy NCSS custom props for existing templates */
  --ncss-primary: var(--bs-primary);
  --ncss-secondary: var(--bs-secondary);
  --ncss-dark: var(--bs-dark);
  --ncss-light: var(--bs-light);
}

/* Card polish */
.card { border-radius: .8rem; box-shadow: 0 6px 22px rgba(0,0,0,.05); }
.btn-primary { font-weight:600; }

/* Hero headline */
.display-5, .display-6 { letter-spacing:.2px; }

/* Navbar logo sizing */
.navbar-brand img { height: 44px; width: auto; }
.navbar-brand img { margin-right: .5rem; }

/* Global body background */
body { background-color: var(--bs-light); color: var(--bs-body-color); }

/* Hero section helper */
.hero-section { background-color: var(--ncss-primary); color: #fff; }

/* Hero logo image */
.hero-logo { height: 48px; width: auto; }

/* Right-side hero logo (desktop) */
.hero-logo-right { height: 274px; width: auto; filter: drop-shadow(0 8px 24px rgba(0,0,0,.25)); }
@media (min-width: 1200px){
  .hero-logo-right { height: 350px; }
}

/* CTA button (emerald) */
.cta-btn {
  --ncss-cta: #2E8B57; /* Emerald Green */
  color: #fff;
  background-color: var(--ncss-cta);
  border-color: var(--ncss-cta);
}
.cta-btn:hover,
.cta-btn:focus {
  color: #fff;
  background-color: #27764b; /* ~10% darker */
  border-color: #27764b;
}

/* Service icons within circular badges */
.service-icon { font-size: 28px; color: var(--bs-primary); opacity: .9; }