
/* =========================
  BMMJ Brand Overrides (Bootstrap 5)
  Palette per brand guide:
  #0096D7, #005288, #999999, #414141
========================== */
:root{
  --bmm-blue: #0096D7;
  --bmm-blue-deep: #005288;
  --bmm-gray: #999999;
  --bmm-charcoal: #414141;

  --bmm-bg: #ffffff;
  --bmm-tint: #f5fbff; /* subtle blue tint */
  --bmm-radius: 1.25rem;
}

html { scroll-behavior: smooth; }
body{
  color: var(--bmm-charcoal);
  background: var(--bmm-bg);
  font-family: "Franklin Gothic Medium","Franklin Gothic","ITC Franklin Gothic",
               -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height: 1.6;
}

/* Headings */
h1,h2,h3,h4,h5{
  color: var(--bmm-blue-deep);
  letter-spacing: .2px;
}

/* Links */
a{ color: var(--bmm-blue-deep); }
a:hover{ color: var(--bmm-blue); }

/* Navbar */
.navbar{
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.08);
  z-index: 1030;
}
.navbar .navbar-brand{
  font-weight: 800;
  color: var(--bmm-blue-deep);
  letter-spacing: .4px;
}
.navbar .nav-link{
  font-weight: 700;
  letter-spacing: .8px;
  color: var(--bmm-charcoal);
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color: var(--bmm-blue-deep);
}
.navbar .nav-link.active{
  color: var(--bmm-blue-deep);
}

/* Section helpers */
.bmm-section{ padding: 4rem 0; }
.bmm-section--tint{
  background: linear-gradient(180deg, var(--bmm-tint) 0%, #ffffff 75%);
}
.section-kicker{
  text-transform: uppercase;
  letter-spacing: 1.6px;
  font-weight: 800;
  color: var(--bmm-gray);
  font-size: .9rem;
}

/* Unified “card” container */
.bmm-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: var(--bmm-radius);
  padding: 1.5rem;
  box-shadow: 0 14px 34px rgba(0,0,0,.06);
}
@media (min-width: 768px){
  .bmm-card{ padding: 2rem; }
}

/* Nice list-group inside cards */
.list-group-item{
  border-color: rgba(0,0,0,.06);
  color: var(--bmm-charcoal);
}

/* Buttons */
.btn-bmm{
  background: var(--bmm-blue-deep);
  border-color: var(--bmm-blue-deep);
  color: #fff;
  font-weight: 800;
  letter-spacing: .6px;
}
.btn-bmm:hover{
  background: var(--bmm-blue);
  border-color: var(--bmm-blue);
  color: #fff;
}

/* Accordion styling */
.bmm-accordion .accordion-item{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: .95rem;
  overflow: hidden;
  margin-bottom: .75rem;
  background: #fff;
}
.bmm-accordion .accordion-button{
  font-weight: 800;
  color: var(--bmm-blue-deep);
  background: #fff;
}
.bmm-accordion .accordion-button:not(.collapsed){
  background: rgba(0,150,215,.08);
  color: var(--bmm-blue-deep);
  box-shadow: none;
}
.bmm-accordion .accordion-button:focus{
  box-shadow: 0 0 0 .2rem rgba(0,150,215,.25);
  border-color: rgba(0,150,215,.35);
}
.bmm-accordion .accordion-body{
  color: var(--bmm-charcoal);
}

/* Footer */
footer{
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
}
footer .text-muted{
  color: var(--bmm-gray) !important;
}

/* Optional: anchor offset so section headings aren’t hidden behind sticky nav */
.anchor-offset{
  scroll-margin-top: 90px;
}
section {
  scroll-margin-top: 90px;
}
/* Hero Section */
#hero {
  margin-top: 0;
}

.hero-img {
  height: 75vh;
  object-fit: cover;
  filter: brightness(70%);
}

/* Caption Styling */
.hero-caption {
  bottom: 30%;
}

.hero-caption h2 {
  font-size: 3rem;
  font-weight: 800;
  color: white;
}

.hero-caption p {
  font-size: 1.2rem;
  color: white;
}

/* Mobile */
@media (max-width: 768px) {
  .hero-img {
    height: 60vh;
  }

  .hero-caption h2 {
    font-size: 2rem;
  }
}
:root{
  --nav-height: 72px; /* adjust if your navbar is taller */
}