

h1, h2, h3, h4{
    color: #3d4640;
}

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


/* ------------------------------------------
   Steps section – styles on top of Bootstrap
   ------------------------------------------ */



/* Карточки шагов */
.steps .step-card {
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease;
  border-radius: 1rem;
}

.steps .step-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1.25rem rgba(0,0,0,.08);
}

/* Кружок-бейдж с номером шага */
.steps .step-badge {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 700;
  font-size: 1.1rem;
  background: #e7f1ff;
  color: #3d4640; /* primary из Bootstrap */
  box-shadow: 0 0 0 6px rgba(13,110,253,.08);
}

/* Вариант с галочкой для последнего шага */
.steps .step-badge.step-done {
  background: #e8f6ee;
  color: #198754; /* success */
  box-shadow: 0 0 0 6px rgba(25,135,84,.08);
  font-size: 1.25rem;
}

/* Соединительные линии между карточками на больших экранах */
@media (min-width: 992px) {
  .steps > li {
    position: relative;
  }

  .steps > li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 2.25rem;          /* по вертикали центр бейджа */
    right: -0.75rem;       /* выходит за карточку чуть правее */
    width: 1.5rem;         /* короткая линия-переход */
    height: 2px;
    background: rgba(13,110,253,.25); /* primary с прозрачностью */
  }

  /* выравниваем линию, когда карточки имеют одинаковую высоту */
  .steps .step-card {
    height: 100%;
  }
}

/* Уточняем типографику */
#so-einfach h2 {
  letter-spacing: .2px;
}

#so-einfach .card-body p {
  color: #495057; /* text-secondary */
  line-height: 1.55;
}

/* Небольшая анимация фокуса для доступности */
.steps .step-card:focus-within,
.steps .step-card:active {
  outline: 2px solid rgba(13,110,253,.25);
  outline-offset: 2px;
  transform: translateY(-1px);
}

/* Поддержка prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .steps .step-card,
  .steps .step-card:hover {
    transition: none;
    transform: none;
  }
}

/* ------------------------------------------
   ABOUT – styles layered on top of Bootstrap
   ------------------------------------------ */

/* Section 1 – Hero */
#about-hero {
  background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);
}

#about-hero .about-hero-media img {
  object-position: center;
}

/* Section 2 – Values */
#about-values .value-card {
  border-radius: 1rem;
  transition: transform .2s ease, box-shadow .2s ease;
}

#about-values .value-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.75rem 1.5rem rgba(0,0,0,.08);
}

#about-values .icon-wrap {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e7f1ff;            /* light primary */
  color: #0d6efd;                  /* Bootstrap primary */
  box-shadow: 0 0 0 8px rgba(13,110,253,.08);
  font-size: 1.35rem;
}

/* Section 3 – Team */
#about-team {
  /* легчайший тон для отделения */
  background: var(--bs-tertiary-bg);
}

#about-team .team-card {
  border-radius: 1rem;
  transition: transform .2s ease, box-shadow .2s ease;
}

#about-team .team-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.75rem 1.5rem rgba(0,0,0,.08);
}

#about-team .avatar {
  width: 96px;
  height: 96px;
  object-fit: cover;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}

/* Typo tweaks */
#about-values h3,
#about-team h3 {
  letter-spacing: .2px;
}

/* Focus & accessibility */
.value-card:focus-within,
.team-card:focus-within {
  outline: 2px solid rgba(13,110,253,.25);
  outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  #about-values .value-card,
  #about-values .value-card:hover,
  #about-team .team-card,
  #about-team .team-card:hover {
    transition: none;
    transform: none;
  }
}

/* ------------------------------------------
   BUSINESS MODEL – styles on top of Bootstrap
   ------------------------------------------ */

#business-model {
  background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);
}

#business-model h2 { letter-spacing: .2px; }

/* Generic card styling */
#business-model .bm-card {
  border-radius: 1rem;
  transition: transform .2s ease, box-shadow .2s ease;
}
#business-model .bm-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.75rem 1.5rem rgba(0,0,0,.08);
}

/* Highlighted plan */
#business-model .bm-card-pop {
  outline: 2px solid rgba(13,110,253,.15);
}

/* Icons / checks / dots */
#business-model .bm-icon {
  width: 3.25rem; height: 3.25rem;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #e7f1ff; color: #0d6efd;
  box-shadow: 0 0 0 8px rgba(13,110,253,.08);
  font-size: 1.25rem;
}

#business-model .bm-checks li {
  display: flex; gap: .5rem; align-items: center;
  margin-bottom: .4rem;
}
#business-model .bm-checks i { color: #198754; } /* success */

#business-model .bm-dots li {
  position: relative; padding-left: 1rem; margin-bottom: .35rem;
}
#business-model .bm-dots li::before {
  content: "•"; position: absolute; left: 0; top: 0; color: rgba(0,0,0,.35);
}

/* Flow / steps */
#business-model .bm-flow li {
  display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: start;
  padding: .35rem 0;
}
#business-model .bm-flow .bm-step {
  width: 2.25rem; height: 2.25rem;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: #0d6efd;
  border: 1px solid rgba(13,110,253,.3);
  box-shadow: 0 2px 8px rgba(13,110,253,.08);
  font-weight: 700; font-size: .95rem;
}

/* Buttons */
#business-model .btn { border-radius: .75rem; }

/* Focus & accessibility */
#business-model .bm-card:focus-within {
  outline: 2px solid rgba(13,110,253,.25);
  outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  #business-model .bm-card,
  #business-model .bm-card:hover {
    transition: none; transform: none; box-shadow: none;
  }
}

/* ------------------------------------------
   PRICING – styles on top of Bootstrap
   ------------------------------------------ */

#pricing {
  background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);
}

#pricing h2 { letter-spacing: .2px; }

/* Cards */
#pricing .price-card {
  border-radius: 1rem;
  transition: transform .2s ease, box-shadow .2s ease;
}

#pricing .price-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.75rem 1.5rem rgba(0,0,0,.08);
}

/* Highlighted (popular) */
#pricing .price-card-pop {
  outline: 2px solid rgba(13,110,253,.18); /* primary */
}

/* Feature list */
#pricing .price-features li {
  display: flex;
  gap: .5rem;
  align-items: center;
  margin-bottom: .4rem;
}
#pricing .price-features i {
  color: #198754; /* success */
  flex-shrink: 0;
}

/* Buttons */
#pricing .btn { border-radius: .75rem; }

/* Badge spacing fix for pill list */
#pricing .badge i { vertical-align: -2px; }

/* Focus & accessibility */
#pricing .price-card:focus-within {
  outline: 2px solid rgba(13,110,253,.25);
  outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  #pricing .price-card,
  #pricing .price-card:hover {
    transition: none;
    transform: none;
    box-shadow: none;
  }
}



