/**
 * Заголовки в стиле apple.com (только типографика H1–H6)
 * Откат: удалить .headings-style-on
 * --hd-scale: масштаб размеров (0.7 = −30%)
 */

:root {
  --hd-scale: 0.7;
  --hd-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --hd-text: #1d1d1f;
  --hd-h2: #0a5878;
  --hd-h2-hover: #0077b6;
  --hd-text-secondary: #6e6e73;
  --hd-link: #0071e3;
  --hd-link-hover: #0077ed;
  --hd-line: #d2d2d7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--hd-font) !important;
  font-weight: 600 !important;
  color: var(--hd-text) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1;
}

h1,
h1[style] {
  font-size: clamp(calc(28px * var(--hd-scale)), calc(3.2vw * var(--hd-scale)), calc(40px * var(--hd-scale))) !important;
  font-weight: 600 !important;
  line-height: 1.0833333333 !important;
  letter-spacing: -0.022em !important;
  color: var(--hd-text) !important;
  margin-bottom: 0.4em !important;
}

h2 {
  font-size: clamp(calc(24px * var(--hd-scale)), calc(2.8vw * var(--hd-scale)), calc(32px * var(--hd-scale))) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.012em !important;
  color: var(--hd-h2) !important;
}

h2 a {
  color: var(--hd-h2) !important;
}

h2 a:hover {
  color: var(--hd-h2-hover) !important;
}

h3 {
  font-size: clamp(calc(19px * var(--hd-scale)), calc(2vw * var(--hd-scale)), calc(21px * var(--hd-scale))) !important;
  line-height: 1.1904761905 !important;
  letter-spacing: 0.011em !important;
  font-weight: 600 !important;
}

h4 {
  font-size: calc(17px * var(--hd-scale)) !important;
  line-height: 1.2353641176 !important;
  letter-spacing: -0.022em !important;
  color: var(--hd-text-secondary) !important;
}

h5 {
  font-size: calc(15px * var(--hd-scale)) !important;
  letter-spacing: -0.016em !important;
  color: var(--hd-text-secondary) !important;
}

h6 {
  font-size: calc(14px * var(--hd-scale)) !important;
  letter-spacing: -0.016em !important;
  color: var(--hd-text-secondary) !important;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  font-family: inherit !important;
  color: inherit !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
.blog-carousel-header h3 a:hover,
h3.mytestimonials_title a:hover,
.custom h3 a:hover {
  color: var(--hd-link) !important;
}

.general-title h1,
.general-title h1[style],
.custom h3,
aside#tz-right h3.module-title span,
aside#tz-left h3.module-title span,
.tz-module h3.module-title span {
  font-family: var(--hd-font) !important;
  font-weight: 600 !important;
  color: var(--hd-text) !important;
}

.general-title h2,
.messagebox h2 {
  font-family: var(--hd-font) !important;
  font-weight: 700 !important;
  color: var(--hd-h2) !important;
}

.general-title h1,
.general-title h1[style] {
  font-size: clamp(calc(28px * var(--hd-scale)), calc(3.2vw * var(--hd-scale)), calc(40px * var(--hd-scale))) !important;
  line-height: 1.0833333333 !important;
  letter-spacing: -0.022em !important;
  width: 100% !important;
  max-width: none !important;
  padding-top: calc(44px * var(--hd-scale)) !important;
  padding-bottom: 0 !important;
  text-align: center;
}

body.home #tz-o_centre-wrapper .general-title h1,
body.home #tz-o_centre-wrapper .general-title h1[style] {
  font-size: clamp(calc(28px * var(--hd-scale)), calc(3.2vw * var(--hd-scale)), calc(40px * var(--hd-scale))) !important;
  font-weight: 600 !important;
  line-height: 1.0833333333 !important;
  letter-spacing: -0.022em !important;
  width: 100% !important;
  max-width: none !important;
  padding-top: calc(48px * var(--hd-scale)) !important;
}

.general-title h2 {
  font-size: clamp(calc(24px * var(--hd-scale)), calc(2.8vw * var(--hd-scale)), calc(32px * var(--hd-scale))) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.012em !important;
  font-weight: 700 !important;
  color: var(--hd-h2) !important;
  text-transform: none !important;
  padding-bottom: 0 !important;
}

/* H2 секций на главной и внутренних страницах */
#tz-our-team-wrapper > .general-title h2,
section .general-title > h2,
.messagebox h2 {
  color: var(--hd-h2) !important;
  font-weight: 700 !important;
}

.general-title hr {
  border: 0 !important;
  border-top: 2px solid var(--hd-h2) !important;
  width: 48px !important;
  max-width: none;
  margin: 14px auto 20px !important;
  opacity: 1;
}

.general-title .lead {
  font-family: var(--hd-font) !important;
  font-size: clamp(calc(17px * var(--hd-scale)), calc(1.8vw * var(--hd-scale)), calc(21px * var(--hd-scale))) !important;
  font-weight: 400 !important;
  line-height: 1.381 !important;
  letter-spacing: 0.011em !important;
  color: var(--hd-text-secondary) !important;
  max-width: none !important;
  width: 100% !important;
}

.h-about-box h3,
.h-about-text h3 {
  font-family: var(--hd-font) !important;
  font-size: calc(21px * var(--hd-scale)) !important;
  font-weight: 600 !important;
  line-height: 1.1904761905 !important;
  letter-spacing: 0.011em !important;
  text-transform: none !important;
  color: var(--hd-text) !important;
}

.h-about-info h4 {
  font-family: var(--hd-font) !important;
  font-size: calc(12px * var(--hd-scale)) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.92) !important;
}

.blog-carousel-header h3,
.blog-carousel-header h3 a,
h3.mytestimonials_title,
h3.mytestimonials_title a {
  font-family: var(--hd-font) !important;
  font-size: calc(21px * var(--hd-scale)) !important;
  font-weight: 600 !important;
  line-height: 1.1904761905 !important;
  letter-spacing: 0.011em !important;
  color: var(--hd-text) !important;
  text-transform: none !important;
  padding-bottom: 4px !important;
}

.TzArticleTitle,
h1.TzArticleTitle {
  font-family: var(--hd-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.022em !important;
  color: var(--hd-text) !important;
}

.custom h3 a {
  color: var(--hd-text) !important;
}

@media (max-width: 767px) {
  .general-title h1,
  .general-title h1[style],
  body.home #tz-o_centre-wrapper .general-title h1,
  body.home #tz-o_centre-wrapper .general-title h1[style] {
    font-size: calc(28px * var(--hd-scale)) !important;
    line-height: 1.1071428571 !important;
    letter-spacing: -0.018em !important;
    padding-top: calc(32px * var(--hd-scale)) !important;
  }

  .general-title h2 {
    font-size: calc(24px * var(--hd-scale)) !important;
    line-height: 1.15 !important;
    color: var(--hd-h2) !important;
  }

  .general-title .lead {
    font-size: calc(17px * var(--hd-scale)) !important;
    line-height: 1.4705882353 !important;
  }

  .blog-carousel-header h3,
  .h-about-box h3 {
    font-size: calc(19px * var(--hd-scale)) !important;
  }
}

@media (min-width: 1068px) {
  body.home #tz-o_centre-wrapper .general-title h1,
  body.home #tz-o_centre-wrapper .general-title h1[style] {
    font-size: calc(40px * var(--hd-scale)) !important;
  }

  .general-title h2 {
    font-size: calc(32px * var(--hd-scale)) !important;
    color: var(--hd-h2) !important;
  }
}
