:root {
  --hero-overlay: rgba(0, 0, 0, 0.35);
  --accent: #0d6efd; /* Bootstrap primary */
}

html { scroll-behavior: smooth; }
.skip-link {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  position: static;
  width: auto;
  height: auto;
  padding: .5rem .75rem;
  background: #fff;
  border: 1px solid #ddd;
}

.hero {
  min-height: 60vh;
  background: center / cover no-repeat url("assets/hero.jpg");
  position: relative;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--hero-overlay);
}
.hero .container { position: relative; z-index: 1; }

.section-title {
  font-weight: 700;
  letter-spacing: .2px;
  margin-bottom: .75rem;
}

.card-img-top {
  object-fit: cover;
  height: 180px;
}

@media (min-width: 992px) {
  .hero { min-height: 70vh; }
  .card-img-top { height: 200px; }
}
#map {
  box-shadow: 0 0 0.5rem rgba(0,0,0,0.1);
}

