
footer {
  text-align: center;
  padding: 1em;
}

/* Tagline inline (header) */
.tagline-inline {
  color: rgba(255,255,255,0.92);
  font-size: 1rem;
  font-weight: 600;
  margin-left: 0.75rem;
  white-space: nowrap;
  letter-spacing: 0.2px;
}
@media (min-width: 768px) {
  .tagline-inline { font-size: 1.05rem; }
}

/* Hero banner (kept for compatibility) */
.hero-banner {
  background: linear-gradient(90deg, rgba(33,37,41,0.98), rgba(44,62,80,0.98));
  border-top: 1px solid rgba(255,255,255,0.04);
}
.hero-text {
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
}
@media (min-width: 768px) {
  .hero-text { font-size: 1.25rem; }
}

/* subtle fade-in for the hero */
.hero-banner { opacity: 0; transform: translateY(6px); animation: heroFade 520ms ease forwards; }
@keyframes heroFade { to { opacity: 1; transform: none; } }
