

h1, h2, h3, h4{
    color: #942222;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

h1, h2, h3, h4 {
  opacity: 0;
  animation: fadeInUp 0.8s ease-out forwards;
}

/* Добавим небольшую задержку для красивого каскада */
h2 {
  font-size:25px;
  animation-delay: 0.2s;
}

h3 {
  font-size:22px;
  animation-delay: 0.4s;
}

h4 {
  animation-delay: 0.6s;
}

@media(max-width:680px){
  .h5{
    font-size:18px;
  }
  h2{
    font-size: 22px;
  } 
  
}

 /* Базовые отступы секции на крупных экранах */
@media (min-width: 992px) {
  #hero {
    padding-top: 5rem;   /* py-lg-6 в разметке добавляет ещё, можно подстроить */
    padding-bottom: 5rem;
  }
}

/* Визуальный контейнер изображения */
.hero-visual {
  max-width: 720px;
  margin-inline: auto;
}

/* Контроль масштабирования изображения */
.hero-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

/* Декоративное "свечение" за картинкой на десктопе */
.hero-blur {
  position: absolute;
  inset: auto -5% -8% -5%;
  height: 40%;
  background: radial-gradient(60% 60% at 50% 50%, rgba(13,110,253,0.20), rgba(13,110,253,0.00));
  filter: blur(30px);
  z-index: -1;
}

/* Баланс ширины колонок: на очень широких экранах текст чуть уже */
@media (min-width: 1400px) {
  #hero .col-lg-6.order-2.order-lg-1 {
    padding-right: 2rem;
  }
  #hero .col-lg-6.order-1.order-lg-2 {
    padding-left: 2rem;
  }
}

/* Улучшенная читаемость длинных заголовков */
#hero h1 {
  letter-spacing: -0.02em;
}

/* Тонкая настройка бейджа */
#hero .badge {
  padding: 0.5rem 0.75rem;
}

/* Кнопки: немного более мягкие края и тени по ховеру */
#hero .btn {
  border-radius: 0.8rem;
  transition: transform 160ms ease, box-shadow 160ms ease;
}
#hero .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 0.5rem 1.25rem rgba(0,0,0,0.08);
}

/* Палитра бренда */
:root {
  --brand-red: #d6001c;   /* насыщенный красный */
  --brand-black: #000000; /* глубокий чёрный */
  --brand-white: #ffffff; /* белый */
  --brand-red-weak: #ffebee; /* очень светлый оттенок для акцентов/ховеров */
}

.bs-section-solutions {
  background: var(--brand-white);
  color: var(--brand-black);
}

/* Заголовок: подчёркиваем красной полосой */
.bs-section-solutions h2 {
  line-height: 1.15;
  letter-spacing: 0.2px;
  position: relative;
  padding-bottom: 0.5rem;
}
.bs-section-solutions h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.25rem;
  width: 120px;
  height: 4px;
  background: var(--brand-red);
  border-radius: 4px;
}

/* Элементы списка услуг */
.bs-item {
  border: none !important;            /* убираем стандартную границу list-group */
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.bs-item + .bs-item {
  margin-top: 0.25rem;
}

/* Красная пуля */
.bs-bullet {
  width: 14px;
  height: 14px;
  min-width: 14px;
  border-radius: 50%;
  background: var(--brand-red);
  box-shadow: 0 0 0 4px rgba(214, 0, 28, 0.12);
  margin-top: 0.35rem;
}

/* Карточка преимуществ */
.bs-card {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
}
.bs-card .card-body {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* Кастомные чек-иконки (SVG через background) */
.bs-check {
  width: 20px;
  height: 20px;
  min-width: 20px;
  display: inline-block;
  border-radius: 50%;
  background: var(--brand-red);
  position: relative;
  top: 3px;
}
.bs-check::after {
  content: "";
  position: absolute;
  inset: 0;
  mask: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.173 12.414a1 1 0 0 1-1.414 0L1.88 9.535a1 1 0 1 1 1.414-1.414l2.151 2.151 7.262-7.262a1 1 0 1 1 1.414 1.414L6.173 12.414z'/%3E%3C/svg%3E") center/12px 12px no-repeat;
  background: var(--brand-white);
}

/* CTA кнопки */
#steuerloesungen .btn-danger {
  background-color: var(--brand-red);
  border-color: var(--brand-red);
}
#steuerloesungen .btn-danger:hover,
#steuerloesungen .btn-danger:focus {
  filter: brightness(0.95);
}

#steuerloesungen .btn-outline-dark {
  color: var(--brand-black);
  border-color: var(--brand-black);
  background: transparent;
}
#steuerloesungen .btn-outline-dark:hover,
#steuerloesungen .btn-outline-dark:focus {
  color: var(--brand-white);
  background: var(--brand-black);
  border-color: var(--brand-black);
}

/* Ховеры по пунктам */
.bs-item:hover h3 {
  color: var(--brand-red);
}
.bs-item:hover .bs-bullet {
  box-shadow: 0 0 0 6px rgba(214, 0, 28, 0.18);
}

/* Адаптивные мелочи */
@media (max-width: 575.98px) {
  .bs-section-solutions h2 {
    font-size: 1.75rem;
  }
  .bs-section-solutions .lead {
    font-size: 1rem;
  }
}

/* Секция преимуществ */
.bs-section-benefits {
  background: var(--brand-white);
  color: var(--brand-black);
}

.bs-section-benefits h2 {
  position: relative;
  padding-bottom: 0.5rem;
  letter-spacing: 0.2px;
  line-height: 1.15;
}

.bs-section-benefits h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.25rem;
  width: 120px;
  height: 4px;
  background: var(--brand-red);
  border-radius: 4px;
}

/* Карточки */
.bs-benefit {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.bs-benefit .card-body {
  padding: 1.5rem;
}

.bs-benefit:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.08);
  border-color: rgba(214, 0, 28, 0.35);
}

/* Круглый значок */
.bs-icon {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-red);
  color: var(--brand-white);
  box-shadow: 0 0 0 6px rgba(214, 0, 28, 0.12);
}

/* Заголовки карточек */
.bs-benefit h3 {
  margin-top: 0.75rem;
  margin-bottom: 0.5rem;
  text-transform: none;
}

/* Тёмный вариант секции (если понадобится) */
.bs-section-benefits.is-dark {
  background: var(--brand-black);
  color: var(--brand-white);
}
.bs-section-benefits.is-dark h2::after {
  background: var(--brand-white);
}
.bs-section-benefits.is-dark .card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}
.bs-section-benefits.is-dark .bs-icon {
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.06);
}

/* Адаптив */
@media (max-width: 575.98px) {
  .bs-section-benefits h2 {
    font-size: 1.75rem;
  }
}

  /* 1) Глобально отключаем горизонтальный скролл */
html { overflow-x: clip; }               /* современные браузеры */
body { overflow-x: hidden; width: 100%; } /* фолбэк */

/* Секция */
.bs-section-audience {
  background: var(--brand-white);
  color: var(--brand-black);
}

.bs-section-audience h2 {
  position: relative;
  padding-bottom: 0.5rem;
  letter-spacing: 0.2px;
  line-height: 1.15;
}

.bs-section-audience h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.25rem;
  width: 120px;
  height: 4px;
  background: var(--brand-red);
  border-radius: 4px;
}

/* Карточки аудитории */
.bs-audience {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  overflow: hidden;
}

.bs-audience:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.08);
  border-color: rgba(214, 0, 28, 0.35);
}

/* Иконка */
.bs-icon {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-red);
  color: var(--brand-white);
  box-shadow: 0 0 0 6px rgba(214, 0, 28, 0.12);
}

/* Кнопки в футере карточки */
#zielgruppen .btn-outline-dark {
  color: var(--brand-black);
  border-color: var(--brand-black);
  background: transparent;
}
#zielgruppen .btn-outline-dark:hover,
#zielgruppen .btn-outline-dark:focus {
  color: var(--brand-white);
  background: var(--brand-black);
  border-color: var(--brand-black);
}

/* Тёмный вариант секции (опционально) */
.bs-section-audience.is-dark {
  background: var(--brand-black);
  color: var(--brand-white);
}
.bs-section-audience.is-dark h2::after {
  background: var(--brand-white);
}
.bs-section-audience.is-dark .card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}
.bs-section-audience.is-dark #zielgruppen .btn-outline-dark {
  color: var(--brand-white);
  border-color: var(--brand-white);
}
.bs-section-audience.is-dark #zielgruppen .btn-outline-dark:hover {
  color: var(--brand-black);
  background: var(--brand-white);
}

/* Адаптив */
@media (max-width: 575.98px) {
  .bs-section-audience h2 {
    font-size: 1.75rem;
  }
}
/* Общая страница */
.bs-about-page{
  background: var(--brand-white);
  color: var(--brand-black);
}
.bs-section, .bs-section-alt{background: var(--brand-white);}
.bs-section-alt{background: #fafafa;}

/* Hero */
.bs-hero{
  background: linear-gradient(180deg, #fff, #fff);
}
.bs-hero .badge{
  background: var(--brand-red) !important;
}
.bs-hero h1{
  position:relative;
  padding-bottom:.5rem;
  line-height:1.1;
  letter-spacing:.2px;
}
.bs-hero h1::after{
  content:"";
  position:absolute;
  left:0; bottom:-.25rem;
  width:140px; height:4px;
  background:var(--brand-red);
  border-radius:4px;
}
.bs-hero-card{
  border:1px solid var(--ink-weak);
  border-radius:1rem;
}
.bs-dot{
  width:12px; height:12px; min-width:12px;
  border-radius:50%;
  background:var(--brand-red);
  box-shadow:0 0 0 4px var(--red-weak);
  margin-top:.35rem;
}

/* Mission / Stats */
.bs-stat{
  border:1px solid var(--ink-weak);
  border-radius:1rem !important;
}

/* Werte */
.bs-value{
  border:1px solid var(--ink-weak);
  border-radius:1rem;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.bs-value:hover{
  transform:translateY(-2px);
  box-shadow:0 .75rem 1.5rem rgba(0,0,0,.08);
  border-color: var(--red-mid);
}
.bs-icon{
  width:48px; height:48px;
  border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--brand-red);
  color:var(--brand-white);
  box-shadow:0 0 0 6px var(--red-weak);
}

/* Für wen wir da sind */
.bs-pill{
  border:1px solid var(--ink-weak);
  border-radius:1rem;
}

/* Team */
.bs-team{
  border:1px solid var(--ink-weak);
  border-radius:1rem;
}
.bs-team .text-danger{ color: var(--brand-red) !important; }

/* CTA */
.bs-cta{
  background: var(--brand-black);
}
.bs-cta .btn-light{
  color: var(--brand-black);
  border-color: var(--brand-white);
}

/* Кнопки */
.btn-danger{
  background-color: var(--brand-red);
  border-color: var(--brand-red);
}
.btn-danger:hover, .btn-danger:focus{
  filter: brightness(.95);
}
.btn-outline-dark{
  color: var(--brand-black);
  border-color: var(--brand-black);
}
.btn-outline-dark:hover, .btn-outline-dark:focus{
  color: var(--brand-white);
  background: var(--brand-black);
  border-color: var(--brand-black);
}

/* Адаптив */
@media (max-width: 575.98px){
  .bs-hero h1{ font-size:1.75rem; }
}

/* Секция FAQ */
.bs-section-faq{
  background: var(--brand-white);
  color: var(--brand-black);
}
.bs-section-faq h2{
  position: relative;
  padding-bottom: .5rem;
  letter-spacing: .2px;
  line-height: 1.15;
}
.bs-section-faq h2::after{
  content:"";
  position:absolute;
  left:50%; transform:translateX(-50%);
  bottom:-.25rem;
  width:120px; height:4px;
  background:var(--brand-red);
  border-radius:4px;
}

/* Элемент FAQ (на основе <details>) */
.bs-faq-item{
  background: #fff;
  border: 1px solid var(--ink-weak);
  border-radius: 1rem;
  padding: 0;            /* управляем отступами отдельно */
  overflow: hidden;
  margin-bottom: 1rem;
  box-shadow: 0 .25rem .75rem rgba(0,0,0,.03);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.bs-faq-item[open]{
  border-color: var(--red-mid);
  box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.06);
}

/* Заголовок вопроса */
.bs-faq-item > summary{
  list-style: none;      /* скрываем маркер */
  cursor: pointer;
  padding: 1.1rem 1.25rem;
  position: relative;
  display: flex;
  align-items: center;
  gap: .75rem;
  user-select: none;
}
.bs-faq-item > summary::-webkit-details-marker{ display: none; }

.bs-faq-q{
  font-weight: 600;
}
.bs-faq-item > summary:hover{
  background: #fcfcfc;
}

/* Иконка +/− на CSS */
.bs-faq-icon{
  margin-left: auto;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--brand-red);
  position: relative;
  box-shadow: 0 0 0 6px var(--red-weak);
  flex: 0 0 24px;
}
.bs-faq-icon::before,
.bs-faq-icon::after{
  content: "";
  position: absolute;
  background: var(--brand-white);
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}
.bs-faq-icon::before{ /* горизонтальная линия */
  width: 12px; height: 2px; border-radius: 2px;
}
.bs-faq-icon::after{  /* вертикальная линия (превратится в минус при open) */
  width: 2px; height: 12px; border-radius: 2px;
}

/* При открытии сворачиваем вертикальную линию */
.bs-faq-item[open] .bs-faq-icon::after{
  height: 0;
}

/* Ответ */
.bs-faq-a{
  border-top: 1px solid var(--ink-mid);
  padding: 1rem 1.25rem 1.25rem;
  color: #333;
}

/* Фокус для клавиатуры */
.bs-faq-item > summary:focus{
  outline: none;
  box-shadow: inset 0 0 0 3px var(--red-weak);
}

/* Тёмный вариант (опционально) */
.bs-section-faq.is-dark{
  background: var(--brand-black);
  color: var(--brand-white);
}
.bs-section-faq.is-dark .bs-faq-item{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
}
.bs-section-faq.is-dark .bs-faq-a{
  border-top-color: rgba(255,255,255,.16);
}

/* Секция */
.bs-section-pricing{
  background: var(--brand-white);
  color: var(--brand-black);
}
.bs-section-pricing h2{
  position:relative;
  padding-bottom:.5rem;
  letter-spacing:.2px;
}
.bs-section-pricing h2::after{
  content:"";
  position:absolute;
  left:50%; transform:translateX(-50%);
  bottom:-.25rem;
  width:120px; height:4px;
  background:var(--brand-red);
  border-radius:4px;
}

/* Карточки тарифов */
.bs-plan{
  border:1px solid var(--ink-weak);
  border-radius:1rem;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  overflow:hidden;
}
.bs-plan:hover{
  transform: translateY(-3px);
  box-shadow:0 .75rem 1.5rem rgba(0,0,0,.08);
  border-color: var(--red-mid);
}

/* Выделенный план */
.bs-plan-featured{
  border-color: var(--red-mid);
  box-shadow:0 .75rem 1.5rem rgba(214,0,28,.08);
}
.bs-plan-featured .btn-danger{
  background-color: var(--brand-red);
  border-color: var(--brand-red);
}

/* Цена */
.bs-price{
  display:flex;
  align-items:flex-end;
  gap:.35rem;
  line-height:1;
}
.bs-price-currency{
  font-size:.9rem;
  opacity:.7;
}
.bs-price-value{
  font-size:2.25rem;
  font-weight:800;
  letter-spacing:.5px;
}
.bs-price-suffix{
  font-size:.9rem;
  margin-left:auto;           /* уводим суффикс вправо (ab, /h) */
  color:#555;
}

/* Список преимуществ */
.bs-dot{
  width:10px; height:10px; min-width:10px;
  border-radius:50%;
  background: var(--brand-red);
  box-shadow: 0 0 0 4px var(--red-weak);
  margin-top:.35rem;
}

/* Блоки "дополнительно" и "примечание" */
.bs-addons, .bs-note{
  border:1px solid var(--ink-weak);
  border-radius:1rem;
}

/* Кнопки */
#preise .btn-danger{
  background-color: var(--brand-red);
  border-color: var(--brand-red);
}
#preise .btn-danger:hover, #preise .btn-danger:focus{
  filter: brightness(.95);
}
#preise .btn-outline-dark{
  color: var(--brand-black);
  border-color: var(--brand-black);
  background: transparent;
}
#preise .btn-outline-dark:hover, #preise .btn-outline-dark:focus{
  color: var(--brand-white);
  background: var(--brand-black);
  border-color: var(--brand-black);
}

/* Тёмный вариант секции (опционально добавьте класс .is-dark к #preise) */
.bs-section-pricing.is-dark{
  background: var(--brand-black);
  color: var(--brand-white);
}
.bs-section-pricing.is-dark h2::after{
  background: var(--brand-white);
}
.bs-section-pricing.is-dark .card{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
}
.bs-section-pricing.is-dark .btn-outline-dark{
  color: var(--brand-white);
  border-color: var(--brand-white);
}
.bs-section-pricing.is-dark .btn-outline-dark:hover{
  color: var(--brand-black);
  background: var(--brand-white);
}

/* Адаптив */
@media (max-width: 575.98px){
  .bs-price-value{ font-size:1.9rem; }
}
/* Hero */
.about-hero{
  background: linear-gradient(180deg, #fff 0%, var(--bz-soft) 100%);
}
.about-hero .display-5{ color: var(--bz-ink); }
.about-hero .lead{ color: var(--bz-muted); }

.stats{ border-radius: 18px; }
.stat-number{ color: var(--bz-ink); line-height: 1; }
.stat-label{ color: var(--bz-muted); }

/* Intro */
.about-intro h2{ color: var(--bz-ink); }
.about-intro p{ color: var(--bz-muted); }

/* Werte */
.about-values .value{
  border-radius: 16px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.about-values .value:hover{ transform: translateY(-2px); box-shadow: 0 .9rem 1.4rem rgba(13,110,253,.08); }
.value-icon{
  display: inline-grid; place-items: center;
  width: 3rem; height: 3rem; border-radius: 12px;
  background: #eff4ff; color: #534a39; flex: 0 0 auto;
}
.value-icon .bi{ font-size: 1.25rem; }

/* Timeline */
.timeline{ position: relative; padding-left: 1rem; margin: 0; }
.timeline::before{
  content:""; position: absolute; top: .25rem; bottom: .25rem; left: .5rem;
  width: 2px; background: #534a39;
}
.timeline-item{ position: relative; display: flex; gap: 1rem; padding-left: 1.5rem; margin-bottom: 1.25rem; }
.timeline-point{
  position: absolute; left: .3rem; top: .35rem;
  width: .75rem; height: .75rem; border-radius: 50%;
  background: var(--bz-brand); box-shadow: 0 0 0 4px #534a39;
}
.timeline-content h3{ color: var(--bz-ink); }
.timeline-content p{ color: var(--bz-muted); }

/* Team */
.team{ border-radius: 16px; }
.team .avatar{
  display: inline-grid; place-items: center;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: #eef2ff; color: #534a39;
}
.team .avatar .bi{ font-size: 1.25rem; }

/* CTA */
.about-cta .cta-card{ border-radius: 18px; }
.about-cta h2{ color: var(--bz-ink); }
.about-cta p{ color: var(--bz-muted); }

/* Типографика и отступы */
h1,h2,h3,h4,h5{ letter-spacing:.1px; }
.section-title{ color: var(--bz-ink); }

/* Адаптив */
@media (min-width: 1200px){
  .stats .card-body{ padding: 2rem; }
  .value .card-body{ padding: 2rem; }
}
