body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #222; }
.site-branding img { max-height: 60px; width: auto; }
.entry-content img, .entry-content iframe { max-width: 100%; height: auto; }
.btn, .form-control, .card { border-radius: 0.75rem; }
.hero-slide { min-height: 560px; overflow: hidden; position: relative; }
.hero-video-bg, .hero-image-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.hero-video-bg { object-fit: cover; }
.hero-image-bg { background-size: cover; background-position: center; background-repeat: no-repeat; }
.hero-overlay { position: absolute; inset: 0; z-index: 1; }
.hero-slide-content { position: relative; z-index: 2; text-shadow: 0 1px 8px rgba(0,0,0,.28); }
.footer-menu ul, .footer-menu li { list-style: none; margin: 0; padding: 0; }
.footer-menu a { display: inline-block; padding: .25rem 0; text-decoration: none; }
.review-stars { color: #d79a00; display: flex; gap: .35rem; margin-bottom: .75rem; }
.content-split-copy { min-height: 100%; }
.content-split-media { min-height: 360px; overflow: hidden; background: #f5f5f5; }
.content-split-img, .content-split-video, .content-split-bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.content-split-img, .content-split-video { object-fit: cover; }
.content-split-bg { background-size: cover; background-position: center; background-repeat: no-repeat; }
.js-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.js-reveal.is-visible { opacity: 1; transform: translateY(0); }
.js-reveal-left { opacity: 0; transform: translateX(-34px); transition: opacity .7s ease, transform .7s ease; }
.js-reveal-left.is-visible { opacity: 1; transform: translateX(0); }
.js-reveal-right { opacity: 0; transform: translateX(34px); transition: opacity .7s ease, transform .7s ease; }
.js-reveal-right.is-visible { opacity: 1; transform: translateX(0); }
.js-float { animation: clientFloat 4s ease-in-out infinite; }
@keyframes clientFloat { 0% { transform: translateY(0); } 50% { transform: translateY(-8px); } 100% { transform: translateY(0); } }
@media (max-width: 767.98px) { .hero-slide { min-height: 460px; } }
@media (prefers-reduced-motion: reduce) { .js-reveal, .js-reveal-left, .js-reveal-right, .js-float { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; } }


.py-6 { padding-top: 5rem; padding-bottom: 5rem; }

.bfb-flex-section { position: relative; }
.bfb-section-intro > *:last-child { margin-bottom: 0; }

.bfb-flex-card {
  position: relative;
  min-height: 100%;
  overflow: hidden;
}

.bfb-flex-card--content {
  padding: 2.5rem;
}

.bfb-flex-card__inner {
  z-index: 2;
  width: 100%;
}

.bfb-flex-card--bg-image {
  position: relative;
}

.bfb-flex-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  z-index: 1;
}

.bfb-flex-card--image {
  min-height: 420px;
}

.bfb-flex-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 991.98px) {
  .bfb-flex-card--content {
    padding: 2rem;
  }

  .bfb-flex-card,
  .bfb-flex-card--image {
    min-height: 320px !important;
  }
}
