:root {
  --brand: #0d6efd;
  --brand-700: #0b5ed7;
  --ink: #1e3d6d;
  --sky: linear-gradient(180deg, rgba(13,110,253,.08), rgba(13,110,253,.02));
}

/* Grundlayout */
body {
  color: var(--ink);
  background-color: #fff;
}

/* Überschriften */
h1, h2, h3, h4, h5, h6 {
  color: var(--ink) !important;
}

/* Hintergrundbereiche */
.navbar,
.hero,
footer {
  background: var(--sky);
}

/* Hero-Bereich */
.hero {
  padding: 1rem 0 0.5rem;
}
@media (min-width: 992px) {
  .hero {
    padding: 2.5rem 0 1.5rem;
  }
}

/* Navigation */
.navbar {
  border-bottom: 1px solid rgba(13,110,253,.15);
}

.navbar a.nav-link,
.navbar-brand {
  color: var(--ink) !important;
  transition: color 0.2s ease-in-out;
}

.navbar a.nav-link:hover {
  color: var(--brand-700) !important;
}

.nav-link.active {
  font-weight: 600;
  color: var(--brand-700) !important;
}

.navbar-brand img {
  height: 40px;
  width: auto;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.1));
}

/* Buttons & Abzeichen */
.badge-pill {
  border-radius: 100rem;
  padding: 0.5rem 0.9rem;
  background: #e7f1ff;
  color: var(--brand-700);
  font-weight: 600;
  font-size: 0.9rem;
}

/* Leistungskarten */
.service-card {
  border: 1px solid rgba(13,110,253,.15);
  transition: transform 0.2s, box-shadow 0.2s;
}

.service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.5rem 1.25rem rgba(13,110,253,.15);
}

/* Icon-Kreise */
.icon-round {
  width: 3.25rem;
  height: 3.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e7f1ff;
  color: var(--brand-700);
  font-size: 1.4rem;
}

/* Leitbild-Box */
.leitbild {
  border-left: 0.35rem solid var(--brand);
  border-radius: .75rem;
  border: 1px solid rgba(13,110,253,.15);
  background: rgba(13,110,253,.03);
  box-shadow: 0 0.25rem 0.75rem rgba(13,110,253,.05);
  transition: all 0.2s ease-in-out;
}

.leitbild:hover {
  background: rgba(13,110,253,.06);
  box-shadow: 0 0.5rem 1.25rem rgba(13,110,253,.08);
}

/* Footer */
.footer-custom {
  background: #f9fbff;
  border-top: 0.5px solid rgba(13,110,253,.25);
  color: var(--ink);
  font-size: 0.875rem;
  line-height: 1.4;
  box-shadow: 0 -1px 2px rgba(0,0,0,0.03);
}

.footer-link {
  color: var(--brand);
  text-decoration: none;
  transition: color .2s ease-in-out;
}

.footer-link:hover,
.footer-link:focus {
  color: var(--brand-700);
  text-decoration: underline;
}

.footer-link:focus-visible {
  outline: 2px solid var(--brand-700);
  outline-offset: 2px;
}

/* Allgemeine Farben / Hilfsklassen */
.small-muted {
  color: #5f6b7a;
}

.stack-tile {
  border: 1px solid rgba(13,110,253,.15);
  border-radius: 0.75rem;
  padding: 1rem;
}


/* Logo responsiv statt fixe Höhe */
.logo {
  height: auto;
  max-height: 50px;   /* Standard (≥576px) */
  width: auto;
  object-fit: contain;
}

/* Auf sehr schmalen Displays etwas kleiner */
@media (max-width: 575.98px) {
  .logo {
    max-height: 50px;
  }
}
