/* ==========================================================================
   positions.html — блоки 1–2 как social.html (modern-hero + панель с карточками)
   ========================================================================== */

html body.page-positions {
  --positions-ink: #1c2426;
  --positions-muted: #516166;
  --positions-brand: #2f7085;
  --positions-brand-mid: #3f93ad;
  --positions-brand-light: #92cbdb;
  --positions-brand-gradient: linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%);
  --positions-block-radius: var(--positions-history-sector-radius, 22px);
  --positions-card-radius: 16px;
  --positions-block-gap: clamp(16px, 2.5vw, 24px);
  --positions-block-content-pad-x: var(--positions-history-text-pad-x, clamp(20px, 2.8vw, 28px));
  --positions-block-content-pad-y: clamp(24px, 4vw, 44px);
  --positions-fund-card-btn-gap-bottom: clamp(10px, 1.5vw, 14px);
  --positions-hero-block-height: 3cm;
  --positions-hero-title-font-size: clamp(1rem, 2.75vw, 1.625rem);
  --positions-page-side-pad: clamp(12px, 2vw, 20px);
  --positions-page-content-w: var(--m-content-w, 1240px);
  --positions-header-to-first-block-gap: calc(6mm - var(--positions-header-content-default-gap, 10px));
  --positions-history-to-footer-gap: 6mm;
  --positions-header-content-default-gap: 10px;
  background: var(--bg-main, #eef5ff) !important;
}

@media (max-width: 768px) {
  html body.page-positions {
    --positions-header-content-default-gap: 6px;
  }
}

html body.page-positions .positions-page-stack {
  display: flex;
  flex-direction: column;
  gap: var(--positions-block-gap);
  max-width: none;
  width: 100%;
  margin: 0;
  padding:
    var(--positions-header-to-first-block-gap, 6mm)
    var(--positions-page-side-pad)
    var(--positions-history-to-footer-gap, 6mm);
  box-sizing: border-box;
}

html body.page-positions .positions-page-stack > section.modern-hero,
html body.page-positions .positions-page-stack > .positions-block,
html body.page-positions .positions-page-stack > main.container {
  max-width: var(--positions-page-content-w);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* ── Блок 1: modern-hero — как font.html (font-blocks-modern + font-cards-fix + font-overrides) ── */
html body.page-positions section.modern-hero,
html body.page-positions section.modern-hero.positions-modern-hero {
  position: relative !important;
  max-width: var(--positions-page-content-w, var(--m-content-w, 1240px)) !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  height: var(--positions-hero-block-height, 3cm) !important;
  min-height: var(--positions-hero-block-height, 3cm) !important;
  max-height: var(--positions-hero-block-height, 3cm) !important;
  padding: 0 clamp(24px, 5vw, 56px) !important;
  border-radius: var(--positions-block-radius, var(--positions-history-sector-radius, 22px)) !important;
  box-shadow: var(--m-shadow-lg, 0 8px 32px rgba(37, 84, 100, 0.12)) !important;
  overflow: hidden !important;
  color: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Блок 1: градиент как кнопка «НОВОСТИ» (--site-stable-header-blue-gradient) */
html body.page-positions section.modern-hero .modern-hero-bg,
html body.page-positions section.modern-hero.positions-modern-hero .modern-hero-bg {
  background: var(--site-stable-header-blue-gradient, linear-gradient(135deg, #143844 0%, #1e5a6e 38%, #2a8aad 72%, #5ec4d8 100%)) !important;
  background-image: var(--site-stable-header-blue-gradient, linear-gradient(135deg, #143844 0%, #1e5a6e 38%, #2a8aad 72%, #5ec4d8 100%)) !important;
  border-radius: inherit !important;
}

html body.page-positions section.modern-hero .modern-hero-bg::after,
html body.page-positions section.modern-hero.positions-modern-hero .modern-hero-bg::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

html.m-next-ready body.page-positions section.modern-hero .modern-hero-bg,
html.m-next-ready body.page-positions section.modern-hero.positions-modern-hero .modern-hero-bg {
  background: var(--site-stable-header-blue-gradient, linear-gradient(135deg, #143844 0%, #1e5a6e 38%, #2a8aad 72%, #5ec4d8 100%)) !important;
  background-image: var(--site-stable-header-blue-gradient, linear-gradient(135deg, #143844 0%, #1e5a6e 38%, #2a8aad 72%, #5ec4d8 100%)) !important;
}

html.m-next-ready body.page-positions section.modern-hero .modern-hero-bg::after,
html.m-next-ready body.page-positions section.modern-hero.positions-modern-hero .modern-hero-bg::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

html body.page-positions section.modern-hero .modern-hero-lead,
html body.page-positions section.modern-hero .modern-hero-lead-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

html body.page-positions section.modern-hero .modern-hero-inner,
html body.page-positions section.modern-hero.positions-modern-hero .modern-hero-inner {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

html body.page-positions section.modern-hero .modern-hero-title,
html body.page-positions section.modern-hero.positions-modern-hero .modern-hero-title {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  margin: 0 !important;
  font-size: var(--positions-hero-title-font-size, clamp(1rem, 2.75vw, 1.625rem)) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: normal !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body.page-positions section.modern-hero .modern-hero-brand-stack,
html body.page-positions section.modern-hero.positions-modern-hero .modern-hero-brand-stack {
  width: auto !important;
  max-width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
}

html body.page-positions section.modern-hero .modern-hero-title .modern-hero-brand,
html body.page-positions section.modern-hero.positions-modern-hero .modern-hero-title .modern-hero-brand {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  text-align: center !important;
  white-space: nowrap !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 640px) {
  html body.page-positions section.modern-hero,
  html body.page-positions section.modern-hero.positions-modern-hero {
    padding-left: clamp(16px, 4vw, 24px) !important;
    padding-right: clamp(16px, 4vw, 24px) !important;
  }

  html body.page-positions section.modern-hero .modern-hero-title,
  html body.page-positions section.modern-hero.positions-modern-hero .modern-hero-title {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  html body.page-positions section.modern-hero .modern-hero-brand-stack,
  html body.page-positions section.modern-hero.positions-modern-hero .modern-hero-brand-stack {
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
  }

  html body.page-positions section.modern-hero .modern-hero-title .modern-hero-brand,
  html body.page-positions section.modern-hero.positions-modern-hero .modern-hero-title .modern-hero-brand {
    text-align: center !important;
    white-space: normal !important;
  }
}

/* ── Блок 2: панель с клик-карточками — как social-block--benefits ── */
html body.page-positions .positions-block {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

html body.page-positions .positions-block--divisions {
  border-radius: var(--positions-block-radius) !important;
  overflow: hidden !important;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.96) 0%, rgba(233, 248, 253, 0.88) 48%, rgba(255, 255, 255, 0.94) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  box-shadow:
    0 8px 32px rgba(37, 84, 100, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

html body.page-positions .positions-block-inner {
  position: relative;
  z-index: 1;
  padding: var(--positions-block-content-pad-y) clamp(20px, 3.5vw, 36px);
  box-sizing: border-box;
}

/* Блок 2: боковые отступы до клик-карточек; снизу — как у «ФИНАНСОВАЯ ПОМОЩЬ» на laboratory.html */
html body.page-positions .positions-block--divisions .positions-block-inner {
  padding-left: var(--positions-block-content-pad-x) !important;
  padding-right: var(--positions-block-content-pad-x) !important;
  padding-bottom: var(--positions-fund-card-btn-gap-bottom, clamp(10px, 1.5vw, 14px)) !important;
}

html body.page-positions .positions-block--divisions .positions-division-cards,
html body.page-positions .positions-block--divisions .hero-action-grid {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body.page-positions .positions-block-head {
  margin: 0 0 clamp(20px, 3vw, 28px);
  text-align: center;
}

html body.page-positions .positions-block--divisions .positions-block-head {
  text-align: left !important;
}

html body.page-positions .positions-block-title {
  margin: 0 0 10px;
  font-size: clamp(0.95rem, 2.2vw, 1.15rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: uppercase !important;
  background: var(--site-stable-header-blue-gradient, var(--m-gradient, linear-gradient(135deg, #143844 0%, #1e5a6e 38%, #2a8aad 72%, #5ec4d8 100%))) !important;
  background-image: var(--site-stable-header-blue-gradient, var(--m-gradient, linear-gradient(135deg, #143844 0%, #1e5a6e 38%, #2a8aad 72%, #5ec4d8 100%))) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* Блок 2: заголовок — как «24 февраля 2022 года…» (#labs), без доп. text-indent (как левый край клик-карточек) */
html body.page-positions .positions-block--divisions .positions-block-title.section-logo-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: var(--positions-history-title-font-size, var(--index-font-logo, 1.08rem)) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  text-indent: 0 !important;
  color: var(--positions-history-ink, #1c2426) !important;
  -webkit-text-fill-color: var(--positions-history-ink, #1c2426) !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  filter: none !important;
  text-shadow: none !important;
}

html body.page-positions .positions-block--divisions .positions-block-title .section-logo-brand {
  display: inline !important;
  max-width: 100% !important;
  white-space: normal !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  text-align: inherit !important;
  text-indent: 0 !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  filter: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

html body.page-positions .positions-block-lead {
  margin: 0 auto;
  max-width: 720px;
  font-size: clamp(0.92rem, 1.5vw, 1rem);
  line-height: 1.6;
  color: var(--positions-muted);
}

/* Блок 2: вводный текст — красная строка (все строки, в том числе при переносе) */
html body.page-positions .positions-block--divisions .positions-block-lead {
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  text-align: left !important;
  text-indent: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-right: 0 !important;
  padding-inline-start: 1.5em !important;
  padding-left: 1.5em !important;
}

html body.page-positions .positions-block--divisions .hero-action-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

html body.page-positions .positions-block--divisions .hero-action-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: flex-start !important;
  min-height: 200px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px 18px 16px !important;
  border-radius: var(--positions-card-radius) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(37, 84, 100, 0.1) !important;
  box-shadow:
    0 10px 28px rgba(28, 36, 38, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  cursor: pointer !important;
  text-align: left !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

html body.page-positions .positions-block--divisions .hero-action-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--positions-brand-gradient) !important;
  opacity: 0.92 !important;
}

html body.page-positions .positions-block--divisions .hero-action-card:hover,
html body.page-positions .positions-block--divisions .hero-action-card:focus-visible {
  transform: translateY(-4px) !important;
  border-color: rgba(51, 132, 162, 0.28) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow:
    0 18px 40px rgba(37, 84, 100, 0.14),
    inset 0 1px 0 rgb(253, 253, 253) !important;
  outline: none !important;
}

html body.page-positions .positions-block--divisions .hero-action-card h3 {
  margin: 6px 0 0 !important;
  min-height: 0 !important;
  font-size: clamp(0.82rem, 1.2vw, 0.95rem) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  color: var(--positions-ink) !important;
}

html body.page-positions .positions-block--divisions .hero-action-card p {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
  color: var(--positions-muted) !important;
}

html body.page-positions .positions-block--divisions .hero-action-cta {
  align-self: flex-start !important;
  margin-top: auto !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  color: var(--positions-brand-mid) !important;
  cursor: pointer !important;
}

html body.page-positions .positions-block--divisions .hero-action-card:hover .hero-action-cta,
html body.page-positions .positions-block--divisions .hero-action-card:focus-visible .hero-action-cta {
  color: var(--positions-brand) !important;
  transform: translateX(3px) !important;
  opacity: 1 !important;
}

html body.page-positions .positions-page-stack > main.container {
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 1100px) {
  html body.page-positions .positions-block--divisions .hero-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  html body.page-positions .positions-block--divisions .hero-action-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Блок 2: кнопки «КОНТРАКТ с ВС РФ» / «КАЛЬКУЛЯТОР» внизу блока */
html body.page-positions .positions-block--divisions .positions-divisions-actions.fund-action-row-desktop {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  margin: clamp(20px, 3vw, 28px) 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

html body.page-positions .positions-block--divisions .positions-divisions-actions--mobile {
  display: none !important;
}

html body.page-positions .positions-block--divisions .positions-divisions-actions .contract-btn,
html body.page-positions .positions-block--divisions .positions-divisions-actions .history-action-btn {
  width: var(--site-fund-btn-width, 240px) !important;
  min-width: var(--site-fund-btn-width, 240px) !important;
  max-width: var(--site-fund-btn-width, 240px) !important;
  inline-size: var(--site-fund-btn-width, 240px) !important;
  height: 1.3cm !important;
  min-height: 1.3cm !important;
  max-height: 1.3cm !important;
  block-size: 1.3cm !important;
  padding: 0 20px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: var(--site-fund-btn-radius, 14px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.2 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  box-sizing: border-box !important;
  flex: 0 0 var(--site-fund-btn-width, 240px) !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  background: var(--oai-picture-blue-gradient, linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%)) !important;
  background-image: var(--oai-picture-blue-gradient, linear-gradient(135deg, #2f7085 0%, #3f93ad 52%, #92cbdb 100%)) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: var(--oai-picture-blue-shadow, 0 12px 30px rgba(37, 84, 100, 0.28)) !important;
}

html body.page-positions .positions-block--divisions .positions-divisions-actions .contract-btn:hover,
html body.page-positions .positions-block--divisions .positions-divisions-actions .contract-btn:focus-visible,
html body.page-positions .positions-block--divisions .positions-divisions-actions .history-action-btn:hover,
html body.page-positions .positions-block--divisions .positions-divisions-actions .history-action-btn:focus-visible {
  background: var(--oai-picture-blue-gradient-hover, linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%)) !important;
  background-image: var(--oai-picture-blue-gradient-hover, linear-gradient(135deg, #1f4b5b 0%, #2f7892 52%, #75adbc 100%)) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: var(--oai-picture-blue-shadow-hover, 0 16px 36px rgba(37, 84, 100, 0.36)) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
  html body.page-positions .positions-block--divisions .positions-divisions-actions.fund-action-row-desktop {
    display: none !important;
  }

  html body.page-positions .positions-block--divisions .positions-divisions-actions--mobile {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    margin: clamp(20px, 3vw, 28px) 0 0 !important;
    padding: 0 !important;
  }

  html body.page-positions .positions-block--divisions .positions-divisions-actions--mobile .contract-btn,
  html body.page-positions .positions-block--divisions .positions-divisions-actions--mobile .history-action-btn {
    width: var(--index-news-btn-width, 6.4cm) !important;
    min-width: var(--index-news-btn-width, 6.4cm) !important;
    max-width: min(var(--index-news-btn-width, 6.4cm), 100%) !important;
    inline-size: var(--index-news-btn-width, 6.4cm) !important;
    height: var(--index-news-btn-height, 1.3cm) !important;
    min-height: var(--index-news-btn-height, 1.3cm) !important;
    max-height: var(--index-news-btn-height, 1.3cm) !important;
    block-size: var(--index-news-btn-height, 1.3cm) !important;
    padding: 0 0.28cm !important;
    font-size: 14px !important;
    line-height: 1.12 !important;
    flex: 0 0 var(--index-news-btn-width, 6.4cm) !important;
    align-self: start !important;
    justify-self: start !important;
  }
}
