/* Главная страница */

.hero {
  background: linear-gradient(135deg, var(--primary, #2A5B9A), #1a4070);
  color: #fff;
  padding: 80px 0;
  text-align: center;
}

.hero__container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}

.hero__title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 16px;
}

.hero__subtitle {
  font-size: 1.2rem;
  opacity: 0.9;
  margin-bottom: 24px;
}

.hero__badge-text {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 32px;
  font-weight: 500;
}

.hero__buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.hero__cta {
  display: inline-block;
  background: #fff;
  color: var(--primary, #2A5B9A);
  padding: 14px 32px;
  border-radius: var(--card-radius, 8px);
  font-size: 1.1rem;
  font-weight: 600;
  transition: background var(--transition-normal),
              color var(--transition-fast),
              transform var(--transition-fast) var(--ease-quick),
              box-shadow var(--transition-normal);
  will-change: transform;
}

.hero__cta:hover {
  background: var(--accent, #E67E22);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(230, 126, 34, 0.3);
}

.hero__cta:active {
  transform: scale(0.97) translateY(0);
  transition-duration: var(--transition-fast);
}

.hero__cta--primary {
  background: #fff;
  color: var(--primary, #2A5B9A);
  border: 2px solid #fff;
}

.hero__cta--primary:hover {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.5);
}

.hero__cta--secondary {
  background: var(--accent, #E67E22);
  color: #fff;
  border: 2px solid var(--accent, #E67E22);
}

.hero__cta--secondary:hover {
  background: transparent;
  color: var(--accent, #E67E22);
  border-color: var(--accent, #E67E22);
}

/* Карточки направлений */
.services-cards {
  padding: var(--section-gap, 72px) 0;
}

.services-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Чек-лист проверка */
.checklist {
  padding: var(--section-gap, 72px) 0;
  background: #fff;
}

.checklist__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Кейс */
.case-example {
  padding: var(--section-gap, 72px) 0;
}

.case-example__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.case-card {
  max-width: 700px;
  margin: 0 auto;
}

.case-card__link {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--accent, #E67E22);
}

/* Партнёрство */
.partnership {
  padding: var(--section-gap, 72px) 0;
  background: #fff;
}

.partnership__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center;
}

.partnership__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 48px;
}

.partnership__item {
  padding: 24px;
  border-radius: var(--card-radius, 8px);
  transition: transform var(--transition-normal) var(--ease-quick),
              box-shadow var(--transition-normal);
  background: var(--bg, #F8F9FA);
}

.partnership__item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.partnership__item h3 {
  font-size: 1.15rem;
  color: var(--primary, #2A5B9A);
  margin-bottom: 8px;
}

.partnership__cta {
  display: inline-block;
  background: var(--accent, #E67E22);
  color: #fff;
  padding: 12px 28px;
  border-radius: var(--card-radius, 8px);
  font-weight: 600;
  transition: background var(--transition-normal),
              transform var(--transition-fast) var(--ease-quick),
              box-shadow var(--transition-normal);
  box-shadow: var(--shadow-button);
}

.partnership__cta:hover {
  background: #d35400;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(230, 126, 34, 0.4);
}

.partnership__cta:active {
  transform: scale(0.97) translateY(0);
  transition-duration: var(--transition-fast);
}

.faq {
  padding: var(--section-gap, 72px) 0;
}

.faq__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
