:root { --bs-primary: #1982FF; --bs-secondary: #0EC5D7; --brand-dark:#0b1b2b; --brand-text:#102234; }
body { font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial; color: var(--brand-text); }
.topbar { background: var(--brand-dark); color: rgba(255,255,255,.85); font-size: .9rem; }
.navbar-brand b { color: var(--bs-primary); }
.navbar.sticky-top { z-index: 1030; }
.navbar.scrolled { box-shadow: 0 6px 24px rgba(16,34,52,.08); background: #fff !important; }
.hero { position: relative; background: radial-gradient(60% 80% at 10% 10%, #e8f2ff 0, #fff 40%), radial-gradient(80% 100% at 100% 0, #e6fcff 0, #fff 50%); overflow: hidden; }
.hero .shape-1, .hero .shape-2, .hero .shape-3 { position: absolute; border-radius: 50%; filter: blur(40px); opacity: .45; pointer-events: none; }
.hero .shape-1 { width: 300px; height: 300px; background: #cfe6ff; top: -60px; left: -60px; }
.hero .shape-2 { width: 260px; height: 260px; background: #ccf6fb; bottom: -60px; right: -40px; }
.hero .shape-3 { width: 200px; height: 200px; background: #e1f0ff; bottom: 20%; left: 45%; }
.badge-soft { background-color: #0d6efd; color: var(--bs-primary); }
.section-title { max-width: 760px; }
.icon-lg { width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; border-radius: 16px; }
.feature-check .bi { color: #18c37b; }
.rounded-3xl { border-radius: 1.5rem; }
.card-hover { transition: transform .25s ease, box-shadow .25s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(16,34,52,.08); }
.cta-strip { background: linear-gradient(135deg, var(--bs-primary), #2b60ff); color: #fff; }
footer a { color: rgba(255,255,255,.8); text-decoration: none; } footer a:hover { color: #fff; }
html { scroll-behavior: smooth; } section { scroll-margin-top: 120px; }
.reveal-up { opacity: 0; transform: translateY(24px); transition: transform .6s ease, opacity .6s ease; will-change: transform, opacity; }
.reveal-up.revealed { opacity: 1; transform: translateY(0); }
h3.fw-bold {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  margin: inherit;
}
section h3.fw-bold,
.section-title h3.fw-bold {
  font-size: 2rem; /
font-weight: 700;
}

.accordion-header h3 {
  font-size: 1rem;
  margin: 0;
}
.accordion-header h3 button {
  font-size: inherit;
  font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
  .reveal-up { opacity: 1 !important; transform: none !important; transition: none !important; }
}
@media (min-width: 992px) {
  .navbar-nav .nav-item.dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

.hero-section {
  background: radial-gradient(60% 80% at 10% 10%, #e8f2ff 0, #fff 40%), radial-gradient(80% 100% at 100% 0, #e6fcff 0, #fff 50%);
  position: relative;
  overflow: hidden;
}
.hero-section::before {
  content: '';
  position: absolute;
  width: 300px;
  height: 300px;
  background: #cfe6ff;
  border-radius: 50%;
  filter: blur(40px);
  opacity: 0.45;
  top: -60px;
  left: -60px;
}
.hero-section::after {
  content: '';
  position: absolute;
  width: 260px;
  height: 260px;
  background: #ccf6fb;
  border-radius: 50%;
  filter: blur(40px);
  opacity: 0.45;
  bottom: -60px;
  right: -40px;
}
.section-title {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.feature-icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-primary);
  color: white;
  border-radius: 12px;
  font-size: 1.5rem;
}
.service-item i {
  font-size: 1.5rem;
  margin-right: 0.5rem;
}
.card-hover {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
.cta-section {
  background: linear-gradient(135deg, var(--bs-primary), #2b60ff);
  color: #fff;
  border-radius: 1rem;
  padding: 3rem 2rem;
  margin: 2rem 0;
}
.btn-custom {
  border-radius: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
}
.btn-light-custom {
  color: var(--bs-primary);
}
.btn-light-custom:hover {
  color: var(--bs-primary);
  background: white;
}
/* H3 als H2 stylen */
h3.fw-bold, h3.fw-semibold {
  font-size: 2rem;
  font-weight: 700;
  line-height: inherit;
  margin: inherit;
}

.accordion-header h3 {
  font-size: 1rem;
  margin: 0;
}

.accordion-header h3 button {
  font-size: inherit;
  font-weight: 600;
}

/* Heading-Hierarchie mit einheitlichem Design */

/* H2 = Hauptüberschriften (2rem) */
h2.fw-bold {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
}

/* H3 = Wichtige Unterüberschriften (2rem) */
h3.fw-bold {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
}

/* H4 = Standard Sektionsüberschriften (1.75rem - sieht aus wie H2) */
h4.fw-bold {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
}

/* H5 = Kleinere Überschriften (1.25rem) */
h5.fw-semibold {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 0.75rem;
}

/* H3 in cards wie H5 */
.card-body h3.fw-semibold {
  font-size: 1.25rem;
  font-weight: 600;
}

/* H5 in Listen-Items */
h5.fw-semibold.mb-2 {
  font-size: 1.125rem;
  font-weight: 600;
}

/* H4 in FAQ/Accordion (klein bleiben) */
.accordion-header h4,
.accordion-header h5 {
  font-size: 1rem;
  margin: 0;
}

.accordion-header h4 button,
.accordion-header h5 button {
  font-size: inherit;
  font-weight: 600;
}

/* Card titles einheitlich */
h5.card-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* Section titles in center */
.section-title h2,
.section-title h3,
.section-title h4 {
  font-size: 2rem;
  font-weight: 700;
}

/* Text-White Headlines im CTA */
h2.text-white,
h3.text-white,
h4.text-white {
  font-size: 2rem;
  font-weight: 700;
}
