/* Compact desktop layout for the Taro training page. */
.training-page .site-header {
  height: 78px;
  padding-inline: clamp(24px, 2.4vw, 40px);
}

.training-page .brand {
  flex-basis: 270px;
  min-width: 235px;
  gap: 11px;
}

.training-page .brand-mark {
  width: 54px;
  height: 54px;
}

.training-page .lotus-mark {
  width: 36px;
  height: 36px;
}

.training-page .brand-text strong {
  font-size: 26px;
}

.training-page .brand-text small {
  margin-top: 5px;
  font-size: 9px;
  letter-spacing: 2px;
}

.training-page .header-actions .consult-button {
  min-width: 174px;
  min-height: 42px;
  padding-inline: 16px;
  font-size: 14px;
}

.training-page .training-hero {
  max-width: 1160px;
  padding: 20px 42px 18px;
}

.training-page .training-hero .back-link {
  margin-bottom: 20px;
  font-size: 13.5px;
}

.training-page .training-hero-grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(430px, 0.92fr);
  gap: 38px;
}

.training-page .training-kicker {
  margin-bottom: 12px;
  font-size: 14px;
  letter-spacing: 3.2px;
}

.training-page .training-hero-copy h1,
html[data-lang="ru"] .training-page .training-hero-copy h1 {
  font-size: 58px;
  line-height: 1;
}

.training-page .training-hero-copy .ornament {
  width: 280px;
  margin: 16px 0 18px;
}

.training-page .training-intro-text {
  gap: 12px;
}

.training-page .training-hero-copy .training-intro-text p,
html[data-lang="ru"] .training-page .training-hero-copy .training-intro-text p {
  font-size: 16.2px;
  line-height: 1.48;
}

.training-page .training-hero-visual {
  min-height: 380px;
}

.training-page .training-hero-visual::before {
  right: 0;
  top: 24px;
  width: 500px;
  height: 340px;
}

.training-page .training-hero-visual::after {
  right: 18px;
  top: 44px;
  font-size: 23px;
}

.training-page .training-hero-image {
  width: min(100%, 560px);
  height: 360px;
}

.training-page .training-facts {
  max-width: 1040px;
  margin: 6px auto 28px;
  border-radius: 10px;
}

.training-page .training-facts article,
html[data-lang="ru"] .training-page .training-facts article {
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 11px;
  min-height: 72px;
  padding: 13px 20px;
}

.training-page .training-line-icon {
  width: 36px;
  height: 36px;
}

.training-page .training-line-icon svg {
  width: 28px;
  height: 28px;
}

.training-page .training-facts strong,
html[data-lang="ru"] .training-page .training-facts strong {
  font-size: 14px;
}

.training-page .training-facts p,
html[data-lang="ru"] .training-page .training-facts p {
  font-size: 13px;
}

.training-page .training-main-grid {
  max-width: 1080px;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.82fr);
  gap: 50px;
  margin-bottom: 30px;
}

.training-page .training-main-grid .training-section {
  padding: 16px 0 12px;
}

.training-page .training-main-grid .training-section > h2,
.training-page .training-difference h2 {
  font-size: 30px;
  line-height: 1.08;
}

.training-page .training-main-grid .section-ornament {
  width: 210px;
  margin: 10px 0 20px;
}

.training-page .training-check-list {
  gap: 11px;
}

.training-page .training-check-list article {
  grid-template-columns: 29px minmax(0, 1fr);
  gap: 13px;
}

.training-page .training-check-list article > span {
  width: 27px;
  height: 27px;
  font-size: 14px;
}

.training-page .training-check-list h3,
.training-page .training-star-list h3 {
  margin-bottom: 3px;
  font-size: 14.5px;
  line-height: 1.26;
}

.training-page .training-check-list p,
.training-page .training-star-list p {
  font-size: 13.2px;
  line-height: 1.4;
}

.training-page .training-difference {
  padding: 24px 28px;
  border-radius: 10px;
}

.training-page .training-star-list {
  gap: 16px;
  margin-top: 20px;
}

.training-page .training-star-list article {
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
}

.training-page .training-star-list article > span {
  font-size: 21px;
}

.training-page .training-section > h2 {
  font-size: 32px;
}

.training-page .training-section .section-ornament {
  width: 210px;
  margin: 10px auto 18px;
}

.training-page .training-gains {
  max-width: 1080px;
  margin-bottom: 28px;
}

.training-page .training-gain-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.training-page .training-gain-grid article {
  min-height: 150px;
  gap: 10px;
  padding: 14px 11px 13px;
}

.training-page .training-gain-grid span {
  width: 64px;
  height: 64px;
}

.training-page .training-gain-grid p {
  font-size: 12.5px;
  line-height: 1.34;
}

.training-page .training-prices {
  max-width: 980px;
  margin-bottom: 28px;
}

.training-page .training-price-grid {
  gap: 16px;
}

.training-page .training-price-grid article {
  min-height: 136px;
  padding: 30px 18px 16px;
}

.training-page .training-price-grid h3 {
  font-size: 15px;
}

.training-page .training-price-grid p {
  font-size: 12px;
}

.training-page .training-price-grid strong {
  font-size: 36px;
}

.training-page .training-info-row {
  max-width: 1040px;
  margin-bottom: 18px;
  border-radius: 10px;
}

.training-page .training-info-card {
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 16px;
  min-height: 120px;
  padding: 18px 26px;
}

.training-page .training-info-card span,
.training-page .training-info-card img {
  width: 72px;
  height: 72px;
}

.training-page .training-info-card h2 {
  margin-bottom: 5px;
  font-size: 23px;
}

.training-page .training-info-card p {
  font-size: 13.5px;
  line-height: 1.42;
}

.training-page .training-apply {
  max-width: 1040px;
  margin-bottom: 30px;
}

.training-page .training-apply-grid {
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 24px;
  padding: 24px 34px;
}

.training-page .training-apply-visual img {
  width: 185px;
  height: 275px;
  border-radius: 11px;
}

.training-page .training-apply-content h2 {
  font-size: 32px;
}

.training-page .training-apply-content > p {
  margin: 5px 0 14px;
  font-size: 14px;
}

.training-page .training-form-grid {
  gap: 10px 16px;
}

.training-page .training-form input,
.training-page .training-form select {
  min-height: 42px;
}

.training-page .training-form textarea {
  min-height: 88px;
}

.training-page .training-submit {
  min-height: 42px;
  margin-top: 12px;
}

@media (max-width: 1120px) {
  .training-page .training-hero {
    padding-inline: 30px;
  }

  .training-page .training-hero-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(390px, 0.9fr);
    gap: 28px;
  }

  .training-page .training-hero-copy h1,
  html[data-lang="ru"] .training-page .training-hero-copy h1 {
    font-size: 52px;
  }

  .training-page .training-facts,
  .training-page .training-info-row,
  .training-page .training-apply {
    margin-right: 24px;
    margin-left: 24px;
  }
}
