.hero {
  background: #f8f9fa;
  padding: 100px 0;
  text-align: center;
}

.hero h1 {
  font-weight: bold;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: clamp(2rem, 6vw, 3rem); /* Scales from small to large screens */
}

.section-title {
  font-weight: bold;
  margin-bottom: 30px;
}

a {
  text-decoration: none;
}

footer {
  background: #212529;
  color: #fff;
  padding: 20px 0;
}

#newsCarousel .carousel-inner {
  height: 7em;
}

#newsCarousel .carousel-item {
  padding: 1em;
  text-align: center;
}

/* Apply flex layout ONLY when visible */
#newsCarousel .carousel-item.active {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}    

.logo-responsive {
  max-width: 500px;
  width: 100%;
}

@media (max-width: 768px) {
  .logo-responsive {
    max-width: 100%;
  }
}
