.carousel {
  margin-top: 1em;
  display: block;
}

.carousel-inner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

/* Header */
.header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem 2rem;
  background: linear-gradient(90deg, rgba(13,110,253,0.95), rgba(9,91,208,0.95));
}

.header img {
  height: 84px;
  width: auto;
  display: block;
}

.header h1 {
  margin: 0;
  font-size: clamp(1.25rem, 2.4vw, 2rem);
  line-height: 1.05;
}

.header p {
  margin: 0.25rem 0 0;
  opacity: 0.95;
}

/* Navbar tweaks */
.navbar {
  padding: 0.25rem 1rem;
}
.navbar-nav {
  gap: 0.5rem;
  display: flex;
  align-items: center;
}
.navbar-nav .nav-link {
  padding: 0.5rem 0.75rem;
}

/* Carousel images: responsive and cover */
.carousel-item img {
  width: 100%;
  max-width: 100%;
  height: 60vh;
  max-height: 80vh;
  object-fit: cover;
  display: block;
}

/* Footer */
.footer {
  padding: 1rem 2rem;
  font-size: 0.95rem;
  background: #111;
  color: #fff;
}
.footer p { margin: 0; }

/* Responsive adjustments */
@media (max-width: 992px) {
  .header img { height: 72px; }
  .carousel-item img { height: 50vh; }
}

@media (max-width: 768px) {
  .header { flex-direction: column; text-align: center; padding: 1rem; }
  .header img { height: 64px; }
  .header h1 { font-size: 1.25rem; }
  .navbar-nav { flex-direction: column; }
  .carousel-item img { height: 40vh; }
}

@media (max-width: 480px) {
  .header img { height: 56px; }
  .header h1 { font-size: 1.05rem; }
  .carousel-item img { height: 30vh; }
}